Table of Contents

Class TrainSystem

Namespace
Game.Core.Trains
Assembly
Game.Content.dll
public class TrainSystem : IChunkSimulationSystem, IIslandTenantSimulationSystem, IUpdateableSimulationSystem, ISimulationSystem
Inheritance
object
TrainSystem
Implements
Extension Methods

Constructors

TrainSystem(Ticks, TrainIslandCollection<IIslandDefinition>, TrainSimulationConfigs, IShapeRegistry, IFluidRegistry, FluidPackageItemSolver, BeltSpeed, IEnumerable<IIslandDefinition>, IEnumerable<IIslandDefinition>, IEnumerable<IIslandDefinition>, IEnumerable<IIslandDefinition>, IReadOnlyRailColorRegistry, IEnumerable<IslandDefinitionId>, IEnumerable<IslandDefinitionId>, ILogger)

public TrainSystem(Ticks initialSimulationTime, TrainIslandCollection<IIslandDefinition> trainIslands, TrainSimulationConfigs trainSimulationConfigs, IShapeRegistry shapes, IFluidRegistry fluids, FluidPackageItemSolver fluidPackageItemSolver, BeltSpeed conveyorSpeed, IEnumerable<IIslandDefinition> railLifts, IEnumerable<IIslandDefinition> trainCargoTransfers, IEnumerable<IIslandDefinition> trainShapeSpacers, IEnumerable<IIslandDefinition> trainFluidSpacers, IReadOnlyRailColorRegistry railColorRegistry, IEnumerable<IslandDefinitionId> shapeTrainExchangerDefinitionIds, IEnumerable<IslandDefinitionId> fluidTrainExchangerDefinitionIds, ILogger logger)

Parameters

initialSimulationTime Ticks
trainIslands TrainIslandCollection<IIslandDefinition>
trainSimulationConfigs TrainSimulationConfigs
shapes IShapeRegistry
fluids IFluidRegistry
fluidPackageItemSolver FluidPackageItemSolver
conveyorSpeed BeltSpeed
railLifts IEnumerable<IIslandDefinition>
trainCargoTransfers IEnumerable<IIslandDefinition>
trainShapeSpacers IEnumerable<IIslandDefinition>
trainFluidSpacers IEnumerable<IIslandDefinition>
railColorRegistry IReadOnlyRailColorRegistry
shapeTrainExchangerDefinitionIds IEnumerable<IslandDefinitionId>
fluidTrainExchangerDefinitionIds IEnumerable<IslandDefinitionId>
logger ILogger

Fields

CargoSimulator

public readonly TrainsWagonCargo CargoSimulator

Field Value

TrainsWagonCargo

FluidWagonType

public readonly TrainWagonCargoTypeId FluidWagonType

Field Value

TrainWagonCargoTypeId

ShapeWagonType

public readonly TrainWagonCargoTypeId ShapeWagonType

Field Value

TrainWagonCargoTypeId

Properties

CargoExchanger

public CargoExchangingOrchestrator CargoExchanger { get; }

Property Value

CargoExchangingOrchestrator

TrainsSimulation

public TrainsSimulation TrainsSimulation { get; }

Property Value

TrainsSimulation

Methods

Dispose()

public void Dispose()

IslandIsOffered(in IslandInstance, IReadOnlyMapLayout, in SimulationSystemPropagationHandle)

public bool IslandIsOffered(in IslandInstance island, IReadOnlyMapLayout layout, in SimulationSystemPropagationHandle propagation)

Parameters

island IslandInstance
layout IReadOnlyMapLayout
propagation SimulationSystemPropagationHandle

Returns

bool

IslandOfferIsTerminated(in IslandInstance, IReadOnlyMapLayout, in SimulationSystemPropagationHandle)

public bool IslandOfferIsTerminated(in IslandInstance island, IReadOnlyMapLayout layout, in SimulationSystemPropagationHandle propagation)

Parameters

island IslandInstance
layout IReadOnlyMapLayout
propagation SimulationSystemPropagationHandle

Returns

bool

TryGetChunkSimulation(in GlobalChunkCoordinate, out ILocalizedChunkSimulation)

public bool TryGetChunkSimulation(in GlobalChunkCoordinate position, out ILocalizedChunkSimulation chunkSimulation)

Parameters

position GlobalChunkCoordinate
chunkSimulation ILocalizedChunkSimulation

Returns

bool

Update(Ticks, Ticks)

public void Update(Ticks startTicks, Ticks deltaTicks)

Parameters

startTicks Ticks
deltaTicks Ticks