Table of Contents

Class BuildingPathSimulationSystem<TConnectableSimulation, TInput, TOutput>

Namespace
Game.Content.BuildingPath
Assembly
Game.Content.dll
public abstract class BuildingPathSimulationSystem<TConnectableSimulation, TInput, TOutput> : ITileSimulationSystem, ISpecializedBuildingTenantSimulationSystem, IBuildingTenantSimulationSystem, ISimulationSystem where TConnectableSimulation : class, IConnectablePathSimulation where TInput : IBuildingIO where TOutput : IBuildingIO

Type Parameters

TConnectableSimulation
TInput
TOutput
Inheritance
object
BuildingPathSimulationSystem<TConnectableSimulation, TInput, TOutput>
Implements
Derived
Extension Methods

Constructors

BuildingPathSimulationSystem(IEnumerable<IBuildingDefinition>, ILogger)

protected BuildingPathSimulationSystem(IEnumerable<IBuildingDefinition> pathBuildingDefinitions, ILogger logger)

Parameters

pathBuildingDefinitions IEnumerable<IBuildingDefinition>
logger ILogger

Fields

Logger

protected readonly ILogger Logger

Field Value

ILogger

Methods

BuildingIsOffered(in BuildingInstance, IReadOnlyMapLayout, in SimulationSystemPropagationHandle)

public bool BuildingIsOffered(in BuildingInstance building, IReadOnlyMapLayout layout, in SimulationSystemPropagationHandle propagation)

Parameters

building BuildingInstance
layout IReadOnlyMapLayout
propagation SimulationSystemPropagationHandle

Returns

bool

BuildingOfferIsTerminated(in BuildingInstance, IReadOnlyMapLayout, in SimulationSystemPropagationHandle)

public bool BuildingOfferIsTerminated(in BuildingInstance building, IReadOnlyMapLayout layout, in SimulationSystemPropagationHandle propagation)

Parameters

building BuildingInstance
layout IReadOnlyMapLayout
propagation SimulationSystemPropagationHandle

Returns

bool

CreateSimulation<TBuildingList>(TBuildingList)

protected abstract TConnectableSimulation CreateSimulation<TBuildingList>(TBuildingList buildings) where TBuildingList : List<BuildingInstance>

Parameters

buildings TBuildingList

Returns

TConnectableSimulation

Type Parameters

TBuildingList

Dispose()

public void Dispose()

ExtendSimulationAtTheBeginning(TConnectableSimulation, BuildingInstance)

protected abstract void ExtendSimulationAtTheBeginning(TConnectableSimulation connectablePath, BuildingInstance building)

Parameters

connectablePath TConnectableSimulation
building BuildingInstance

ExtendSimulationAtTheEnd(TConnectableSimulation, BuildingInstance)

protected abstract void ExtendSimulationAtTheEnd(TConnectableSimulation connectablePath, BuildingInstance building)

Parameters

connectablePath TConnectableSimulation
building BuildingInstance

OnBeforeIntegrateBuildingIntoPath(BuildingInstance)

protected virtual void OnBeforeIntegrateBuildingIntoPath(BuildingInstance building)

Parameters

building BuildingInstance

RemoveBuildingAt(TConnectableSimulation, int)

protected abstract List<BuildingInstance> RemoveBuildingAt(TConnectableSimulation path, int removalIndex)

Parameters

path TConnectableSimulation
removalIndex int

Returns

List<BuildingInstance>

RemovePathFirstBuilding(TConnectableSimulation)

protected abstract BuildingInstance RemovePathFirstBuilding(TConnectableSimulation connectablePath)

Parameters

connectablePath TConnectableSimulation

Returns

BuildingInstance

RemovePathLastBuilding(TConnectableSimulation)

protected abstract BuildingInstance RemovePathLastBuilding(TConnectableSimulation connectablePath)

Parameters

connectablePath TConnectableSimulation

Returns

BuildingInstance

TryGetTileSimulation(in GlobalTileCoordinate, out ILocalizedTileSimulation)

public bool TryGetTileSimulation(in GlobalTileCoordinate position, out ILocalizedTileSimulation tileSimulation)

Parameters

position GlobalTileCoordinate
tileSimulation ILocalizedTileSimulation

Returns

bool