Table of Contents

Class GBInjectableFactory

Namespace
GridPlacement.GDScript
Assembly
MoonBark.GridPlacement.GDScript.dll

Factory for creating and injecting RefCounted objects with dependencies.\n\nProvides centralized creation of RefCounted objects that need dependency injection since they cannot be automatically discovered by the GBInjectorSystem.

class GBInjectableFactory extends RefCounted
GBInjectableFactory

Properties

targeting_state

var targeting_state = container.get_targeting_state()

logger

var logger = container.get_logger()

mapper

var mapper = CollisionMapper.new(targeting_state, logger)

issues

var issues = instance.get_runtime_issues()

targeting_state

var targeting_state = container.get_targeting_state()

logger

var logger = container.get_logger()

indicator_template

var indicator_template = container.get_templates().rule_check_indicator

manager

var manager = IndicatorService.new(parent, targeting_state, indicator_template, logger)

issues

var issues = instance.get_runtime_issues()

logger

var logger = container.get_logger()

base_rules

var base_rules = container.get_placement_rules()

validator

var validator = PlacementValidator.new(base_rules, logger)

issues

var issues = instance.get_runtime_issues()

targeting_state

var targeting_state = container.get_targeting_state()

logger

var logger = container.get_logger()

factory

var factory = TestSetupFactory.new(targeting_state, logger)

issues

var issues = instance.get_runtime_issues()

instance

var instance: RefCounted

issues

var issues = instance.get_runtime_issues()

logger

var logger = container.get_logger()

Methods

create_collision_mapper

static func create_collision_mapper(container: PlacementContainer) -> CollisionMapper:

Parameters

container

Returns

create_indicator_service

static func create_indicator_service(container: PlacementContainer, parent: Node2D) -> IndicatorService:

Parameters

container
parent

Returns

create_placement_validator

static func create_placement_validator(container: PlacementContainer) -> PlacementValidator:

Parameters

container

Returns

create_test_setup_factory

static func create_test_setup_factory(container: PlacementContainer) -> TestSetupFactory:

Parameters

container

Returns

create_and_inject

static func create_and_inject(container: PlacementContainer, object_class: Script, constructor_args: Array = []) -> RefCounted:

Parameters

container
object_class
constructor_args

Returns