Table of Contents

Class BuildingPlacersCreator

Namespace
Root
Assembly
Game.Orchestration.dll
public abstract class BuildingPlacersCreator : IEntityPlacersCreator
Inheritance
object
BuildingPlacersCreator
Implements
Derived
Extension Methods

Constructors

BuildingPlacersCreator(GameBuildings, ResearchUnlockProgressManager, IEntityPlacementRunner, IBuildingsModulesLookup, IDictionary<IEntityDefinition, PipettePlacementRequest>, ITutorialState, IViewportLayersController, ILogger)

protected BuildingPlacersCreator(GameBuildings buildings, ResearchUnlockProgressManager progressManager, IEntityPlacementRunner entityPlacementRunner, IBuildingsModulesLookup buildingsModules, IDictionary<IEntityDefinition, PipettePlacementRequest> pipetteMap, ITutorialState tutorialState, IViewportLayersController viewportLayerController, ILogger logger)

Parameters

buildings GameBuildings
progressManager ResearchUnlockProgressManager
entityPlacementRunner IEntityPlacementRunner
buildingsModules IBuildingsModulesLookup
pipetteMap IDictionary<IEntityDefinition, PipettePlacementRequest>
tutorialState ITutorialState
viewportLayerController IViewportLayersController
logger ILogger

Fields

Buildings

protected readonly GameBuildings Buildings

Field Value

GameBuildings

BuildingsModules

protected readonly IBuildingsModulesLookup BuildingsModules

Field Value

IBuildingsModulesLookup

EntityPlacementRunner

protected readonly IEntityPlacementRunner EntityPlacementRunner

Field Value

IEntityPlacementRunner

PipetteMap

protected readonly IDictionary<IEntityDefinition, PipettePlacementRequest> PipetteMap

Field Value

IDictionary<IEntityDefinition, PipettePlacementRequest>

ProgressManager

protected readonly ResearchUnlockProgressManager ProgressManager

Field Value

ResearchUnlockProgressManager

TutorialState

protected readonly ITutorialStateWriteAccess TutorialState

Field Value

ITutorialStateWriteAccess

Methods

CreateBidirectedPathPlacer<TInput, TOutput, TJunction>(IMatchingDefinitionFinder<BuildingDescriptor, GlobalTilePivot>, IBuildingDefinition, IBuildingDefinition, IBuildingDefinition)

protected ModularEntityPlacer<OverlappingPlacementData> CreateBidirectedPathPlacer<TInput, TOutput, TJunction>(IMatchingDefinitionFinder<BuildingDescriptor, GlobalTilePivot> pathDefinitionFinder, IBuildingDefinition forwardDefinition, IBuildingDefinition portSender, IBuildingDefinition portReceiver) where TInput : IEntityConnector, new() where TOutput : IEntityConnector, new() where TJunction : class, IEntityConnector, new()

Parameters

pathDefinitionFinder IMatchingDefinitionFinder<BuildingDescriptor, GlobalTilePivot>
forwardDefinition IBuildingDefinition
portSender IBuildingDefinition
portReceiver IBuildingDefinition

Returns

ModularEntityPlacer<OverlappingPlacementData>

Type Parameters

TInput
TOutput
TJunction

CreateDefaultPlacer(BuildingDefinitionGroupId, IFactory<IBuildingConfiguration>, BuiltinPlacementOfInterest)

protected IPlacementInitiator CreateDefaultPlacer(BuildingDefinitionGroupId buildingId, IFactory<IBuildingConfiguration> buildingConfigurationFactory = null, BuiltinPlacementOfInterest placementOfInterest = BuiltinPlacementOfInterest.UnknownBuilding)

Parameters

buildingId BuildingDefinitionGroupId
buildingConfigurationFactory IFactory<IBuildingConfiguration>
placementOfInterest BuiltinPlacementOfInterest

Returns

IPlacementInitiator

CreateDefaultPlacer(IEntityDefinition)

protected IPlacementInitiator CreateDefaultPlacer(IEntityDefinition buildingDefinition)

Parameters

buildingDefinition IEntityDefinition

Returns

IPlacementInitiator

CreatePathPlacer<TInput, TOutput>(IMatchingDefinitionFinder<BuildingDescriptor, GlobalTilePivot>, IBuildingDefinition, IBuildingDefinition, IBuildingDefinition)

protected ModularEntityPlacer<OverlappingPlacementData> CreatePathPlacer<TInput, TOutput>(IMatchingDefinitionFinder<BuildingDescriptor, GlobalTilePivot> definitionFinder, IBuildingDefinition forwardDefinition, IBuildingDefinition portSender, IBuildingDefinition portReceiver) where TInput : class, IEntityConnector, new() where TOutput : class, IEntityConnector, new()

Parameters

definitionFinder IMatchingDefinitionFinder<BuildingDescriptor, GlobalTilePivot>
forwardDefinition IBuildingDefinition
portSender IBuildingDefinition
portReceiver IBuildingDefinition

Returns

ModularEntityPlacer<OverlappingPlacementData>

Type Parameters

TInput
TOutput

CreatePortsPlacementInitiator(IBuildingDefinition, IBuildingDefinition, bool, out ModularEntityPlacer<OverlappingPlacementData>)

protected IPlacementInitiator CreatePortsPlacementInitiator(IBuildingDefinition startBuilding, IBuildingDefinition endBuilding, bool isReversed, out ModularEntityPlacer<OverlappingPlacementData> placer)

Parameters

startBuilding IBuildingDefinition
endBuilding IBuildingDefinition
isReversed bool
placer ModularEntityPlacer<OverlappingPlacementData>

Returns

IPlacementInitiator

CreateSimpleUnlockRule(BuildingDefinitionGroupId)

protected AnyIdUnlockedWithResearchRewards<BuildingDefinitionGroupId> CreateSimpleUnlockRule(BuildingDefinitionGroupId definitionId)

Parameters

definitionId BuildingDefinitionGroupId

Returns

AnyIdUnlockedWithResearchRewards<BuildingDefinitionGroupId>

CreateVariablePairPlacer(IBuildingDefinition, IBuildingDefinition, int, int, bool)

protected ModularEntityPlacer<OverlappingPlacementData> CreateVariablePairPlacer(IBuildingDefinition start, IBuildingDefinition end, int minDistance, int maxDistance, bool isReversed)

Parameters

start IBuildingDefinition
end IBuildingDefinition
minDistance int
maxDistance int
isReversed bool

Returns

ModularEntityPlacer<OverlappingPlacementData>

CreateVerticalBidirectedPathPlacerWith<TInput, TOutput, TJunction>(IMatchingDefinitionFinder<BuildingDescriptor, GlobalTilePivot>, IBuildingDefinition, IBuildingDefinition, IBuildingDefinition)

protected ModularEntityPlacer<OverlappingPlacementData> CreateVerticalBidirectedPathPlacerWith<TInput, TOutput, TJunction>(IMatchingDefinitionFinder<BuildingDescriptor, GlobalTilePivot> definitionFinder, IBuildingDefinition forwardDefinition, IBuildingDefinition portSender, IBuildingDefinition portReceiver) where TInput : IEntityConnector, new() where TOutput : IEntityConnector, new() where TJunction : class, IEntityConnector, new()

Parameters

definitionFinder IMatchingDefinitionFinder<BuildingDescriptor, GlobalTilePivot>
forwardDefinition IBuildingDefinition
portSender IBuildingDefinition
portReceiver IBuildingDefinition

Returns

ModularEntityPlacer<OverlappingPlacementData>

Type Parameters

TInput
TOutput
TJunction

RegisterPlacers(IPlacementInitiatorIdRegistry, ICollection<IDisposable>)

public abstract void RegisterPlacers(IPlacementInitiatorIdRegistry registry, ICollection<IDisposable> disposables)

Parameters

registry IPlacementInitiatorIdRegistry
disposables ICollection<IDisposable>