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>