Class TrainsSimulation
- Namespace
- Game.Core.Trains
- Assembly
- Game.Content.dll
public class TrainsSimulation : IUpdatableSimulation, ISimulation
- Inheritance
-
object
TrainsSimulation
- Implements
-
- Extension Methods
-
Constructors
TrainsSimulation(Ticks, TrainSimulationConfigs, TrainIslandCollection<IIslandDefinition>, IEnumerable<IIslandDefinition>, IReadOnlyRailColorRegistry, TrainsWagonCargo)
public TrainsSimulation(Ticks initialSimulationTime, TrainSimulationConfigs trainSimulationConfigs, TrainIslandCollection<IIslandDefinition> islands, IEnumerable<IIslandDefinition> rails, IReadOnlyRailColorRegistry railColorRegistry, TrainsWagonCargo trainsWagonCargo)
Parameters
initialSimulationTime Ticks
trainSimulationConfigs TrainSimulationConfigs
islands TrainIslandCollection<IIslandDefinition>
rails IEnumerable<IIslandDefinition>
railColorRegistry IReadOnlyRailColorRegistry
trainsWagonCargo TrainsWagonCargo
Fields
TrainsNavigationSimulator
public readonly TrainsNavigationSimulator TrainsNavigationSimulator
Field Value
- TrainsNavigationSimulator
TrainsProductionSimulator
public readonly TrainsProductionSimulator TrainsProductionSimulator
Field Value
- TrainsProductionSimulator
TrainsWagonCargo
public readonly TrainsWagonCargo TrainsWagonCargo
Field Value
- TrainsWagonCargo
Properties
BuiltInWagonStates
[Obsolete]
public BuiltinWagonStates BuiltInWagonStates { get; }
Property Value
- BuiltinWagonStates
NavigationPredictor
public ITrainNavigationPredictor NavigationPredictor { get; }
Property Value
- ITrainNavigationPredictor
TrainSimulationTimeTracker
public ISimulationTimeProvider TrainSimulationTimeTracker { get; }
Property Value
- ISimulationTimeProvider
Methods
AddCargoWagonFactory<TCargoData>(GlobalChunkCoordinate, ChunkDirection)
public void AddCargoWagonFactory<TCargoData>(GlobalChunkCoordinate coordinate, ChunkDirection direction) where TCargoData : IWagonCargoData
Parameters
coordinate GlobalChunkCoordinate
direction ChunkDirection
Type Parameters
TCargoData
AddCustomNavigationCoordinatorAfter<TComparedCoordinator, TCoordinator>(TCoordinator)
public void AddCustomNavigationCoordinatorAfter<TComparedCoordinator, TCoordinator>(TCoordinator coordinator) where TCoordinator : ITrainSimulationCoordinator, ITrainSimulationNavigationCoordinator
Parameters
coordinator TCoordinator
Type Parameters
TComparedCoordinator
TCoordinator
AddCustomNavigationCoordinatorBefore<TComparedCoordinator, TCoordinator>(TCoordinator)
public void AddCustomNavigationCoordinatorBefore<TComparedCoordinator, TCoordinator>(TCoordinator coordinator) where TCoordinator : ITrainSimulationCoordinator, ITrainSimulationNavigationCoordinator
Parameters
coordinator TCoordinator
Type Parameters
TComparedCoordinator
TCoordinator
AddCustomNavigationEventProcessor(INavigationEventProcessor)
public void AddCustomNavigationEventProcessor(INavigationEventProcessor navigationEventProcessor)
Parameters
navigationEventProcessor INavigationEventProcessor
AddFillerWagonFactory(GlobalChunkCoordinate, ChunkDirection)
public void AddFillerWagonFactory(GlobalChunkCoordinate coordinate, ChunkDirection direction)
Parameters
coordinate GlobalChunkCoordinate
direction ChunkDirection
AddIsland(IslandInstance)
public bool AddIsland(IslandInstance island)
Parameters
island IslandInstance
Returns
- bool
AddTrainProducer(GlobalChunkCoordinate, GlobalChunkPivot, GlobalChunkPivot, RailColor)
public void AddTrainProducer(GlobalChunkCoordinate trainSpawnerLocation, GlobalChunkPivot input, GlobalChunkPivot output, RailColor color)
Parameters
trainSpawnerLocation GlobalChunkCoordinate
input GlobalChunkPivot
output GlobalChunkPivot
color RailColor
ClearContent()
public void ClearContent()
DestroyTrainFromTheOutside(TrainId)
[Obsolete("Temporary solution. This should be refactored in a way that we pass the lifetime to the event processors")]
public void DestroyTrainFromTheOutside(TrainId trainId)
Parameters
trainId TrainId
Dispose()
FindTrainWagonByIndex_Slow(TrainId, int)
public TrainWagonId FindTrainWagonByIndex_Slow(TrainId train, int wagonIdx)
Parameters
train TrainId
wagonIdx int
Returns
- TrainWagonId
GetAllCargoOfType<T>(TrainId, ICollection<WagonCargoWithLocator<T>>)
public void GetAllCargoOfType<T>(TrainId trainId, ICollection<WagonCargoWithLocator<T>> collection) where T : IWagonCargoData
Parameters
trainId TrainId
collection ICollection<WagonCargoWithLocator<T>>
Type Parameters
T
GetAllTrains(Allocator)
public NativeArray<TrainId> GetAllTrains(Allocator allocator)
Parameters
allocator Allocator
Returns
- NativeArray<TrainId>
GetDebugData(TrainId)
public TrainSimulationDebugData GetDebugData(TrainId id)
Parameters
id TrainId
Returns
- TrainSimulationDebugData
GetTrainData(TrainId)
public TrainData GetTrainData(TrainId id)
Parameters
id TrainId
Returns
- TrainData
GetTrainsProducedByProducerAt<TCollection>(GlobalChunkCoordinate, TCollection)
public void GetTrainsProducedByProducerAt<TCollection>(GlobalChunkCoordinate producerPosition, TCollection trainIds) where TCollection : ICollection<TrainId>
Parameters
producerPosition GlobalChunkCoordinate
trainIds TCollection
Type Parameters
TCollection
IsCargoIdOfType<TCargo>(TrainWagonCargoTypeId)
public bool IsCargoIdOfType<TCargo>(TrainWagonCargoTypeId typeId) where TCargo : IWagonCargoData
Parameters
typeId TrainWagonCargoTypeId
Returns
- bool
Type Parameters
TCargo
public bool IsProducerConfiguredCorrectly(GlobalChunkCoordinate producerPosition)
Parameters
producerPosition GlobalChunkCoordinate
Returns
- bool
IsWagonTransportingCargoOfType<T>(TrainId, int, out T)
public bool IsWagonTransportingCargoOfType<T>(TrainId train, int wagonIdx, out T cargo) where T : IWagonCargoData
Parameters
train TrainId
wagonIdx int
cargo T
Returns
- bool
Type Parameters
T
IsWagonTransportingCargoOfType<T>(TrainWagonId, out T)
public bool IsWagonTransportingCargoOfType<T>(TrainWagonId wagonId, out T cargo) where T : IWagonCargoData
Parameters
wagonId TrainWagonId
cargo T
Returns
- bool
Type Parameters
T
RegisterWagonCargo<TWagonCargoData>(IFactory<TWagonCargoData>)
public TrainWagonCargoTypeId RegisterWagonCargo<TWagonCargoData>(IFactory<TWagonCargoData> factory) where TWagonCargoData : class, IWagonCargoData
Parameters
factory IFactory<TWagonCargoData>
Returns
- TrainWagonCargoTypeId
Type Parameters
TWagonCargoData
RemoveCargoWagonFactory(GlobalChunkCoordinate)
public void RemoveCargoWagonFactory(GlobalChunkCoordinate coordinate)
Parameters
coordinate GlobalChunkCoordinate
RemoveCustomNavigationCoordinator<TCoordinator>(TCoordinator)
public void RemoveCustomNavigationCoordinator<TCoordinator>(TCoordinator jumpCoordinator) where TCoordinator : ITrainSimulationCoordinator, ITrainSimulationNavigationCoordinator
Parameters
jumpCoordinator TCoordinator
Type Parameters
TCoordinator
RemoveCustomNavigationEventProcessor(INavigationEventProcessor)
public void RemoveCustomNavigationEventProcessor(INavigationEventProcessor navigationEventProcessor)
Parameters
navigationEventProcessor INavigationEventProcessor
RemoveIsland(IslandInstance)
public bool RemoveIsland(IslandInstance island)
Parameters
island IslandInstance
Returns
- bool
RemoveTrainProducerAt(GlobalChunkCoordinate, GlobalChunkPivot)
public void RemoveTrainProducerAt(GlobalChunkCoordinate position, GlobalChunkPivot output)
Parameters
position GlobalChunkCoordinate
output GlobalChunkPivot
RespawnProducerTrains(GlobalChunkCoordinate)
public void RespawnProducerTrains(GlobalChunkCoordinate producerPosition)
Parameters
producerPosition GlobalChunkCoordinate
RestoreCargo<TCargo>(TrainId, int, TCargo)
public void RestoreCargo<TCargo>(TrainId trainId, int wagonIdx, TCargo cargo) where TCargo : IWagonCargoData
Parameters
trainId TrainId
wagonIdx int
cargo TCargo
Type Parameters
TCargo
RestoreSimulationTime(Ticks)
public void RestoreSimulationTime(Ticks trainSimulationTime)
Parameters
trainSimulationTime Ticks
RestoreTrainFromState(TrainState, out TrainId)
public bool RestoreTrainFromState(TrainState state, out TrainId trainId)
Parameters
state TrainState
trainId TrainId
Returns
- bool
StoreTrainDataIntoState(TrainId)
public TrainState StoreTrainDataIntoState(TrainId id)
Parameters
id TrainId
Returns
- TrainState
TimeBetweenTrainSpawns()
public float TimeBetweenTrainSpawns()
Returns
- float
TrainProducerPositions(Allocator)
public NativeArray<GlobalChunkCoordinate> TrainProducerPositions(Allocator allocator)
Parameters
allocator Allocator
Returns
- NativeArray<GlobalChunkCoordinate>
TrainWagonFactoryPositions(Allocator)
public NativeArray<GlobalChunkCoordinate> TrainWagonFactoryPositions(Allocator allocator)
Parameters
allocator Allocator
Returns
- NativeArray<GlobalChunkCoordinate>
TryGetTrainProducerData(GlobalChunkCoordinate, out TrainProducerData)
public bool TryGetTrainProducerData(GlobalChunkCoordinate coordinate, out TrainProducerData trainData)
Parameters
coordinate GlobalChunkCoordinate
trainData TrainProducerData
Returns
- bool
TryGetWagonFactoryData(GlobalChunkCoordinate, out WagonFactoryChainData)
public bool TryGetWagonFactoryData(GlobalChunkCoordinate coordinate, out WagonFactoryChainData wagonFactoryData)
Parameters
coordinate GlobalChunkCoordinate
wagonFactoryData WagonFactoryChainData
Returns
- bool
Update(Ticks, Ticks)
public void Update(Ticks startTicks, Ticks deltaTicks)
Parameters
startTicks Ticks
deltaTicks Ticks