Class Simulator
- Namespace
- Root
- Assembly
- Game.Core.Map.Simulation.dll
public class Simulator : ISimulator, ISimulationTimeProvider, ISimulationSystemPropagator
- Inheritance
-
object
Simulator
- Implements
-
- Extension Methods
-
Constructors
Simulator(ISimulationGraph, IEnumerable<ISimulationSystem>, IReadOnlyMapLayout, ILogger)
public Simulator(ISimulationGraph simulationGraph, IEnumerable<ISimulationSystem> systems, IReadOnlyMapLayout layout, ILogger logger)
Parameters
simulationGraph ISimulationGraph
systems IEnumerable<ISimulationSystem>
layout IReadOnlyMapLayout
logger ILogger
Properties
SimulationTime
public Ticks SimulationTime { get; }
Property Value
- Ticks
Methods
CheckForDuplicateSimulations()
[Conditional("UNITY_EDITOR")]
public void CheckForDuplicateSimulations()
Dispose()
FinalizeAsynchronousUpdate()
public void FinalizeAsynchronousUpdate()
FindAllConnectedSimulations(ILocalizedSimulation, ICollection<ILocalizedSimulation>)
public void FindAllConnectedSimulations(ILocalizedSimulation simulation, ICollection<ILocalizedSimulation> targetResults)
Parameters
simulation ILocalizedSimulation
targetResults ICollection<ILocalizedSimulation>
FindAllConnectedSimulations(ILocalizedSimulation, ICollection<(ILocalizedSimulation, ISimulationConnector)>)
public void FindAllConnectedSimulations(ILocalizedSimulation simulation, ICollection<(ILocalizedSimulation, ISimulationConnector)> targetResults)
Parameters
simulation ILocalizedSimulation
targetResults ICollection<(ILocalizedSimulation, ISimulationConnector)>
FindTileSimulation(in GlobalTileCoordinate)
public ILocalizedTileSimulation FindTileSimulation(in GlobalTileCoordinate position)
Parameters
position GlobalTileCoordinate
Returns
- ILocalizedTileSimulation
GetSimulationTimeFor(ILocalizedSimulation)
public Ticks GetSimulationTimeFor(ILocalizedSimulation simulation)
Parameters
simulation ILocalizedSimulation
Returns
- Ticks
GetSimulationUpdateDeltaTimeFor(ILocalizedSimulation)
public Ticks GetSimulationUpdateDeltaTimeFor(ILocalizedSimulation simulation)
Parameters
simulation ILocalizedSimulation
Returns
- Ticks
GetSystem<TSystem>()
public TSystem GetSystem<TSystem>() where TSystem : ISimulationSystem
Returns
- TSystem
Type Parameters
TSystem
GetSystems<TSystem>()
public IEnumerable<TSystem> GetSystems<TSystem>() where TSystem : ISimulationSystem
Returns
- IEnumerable<TSystem>
Type Parameters
TSystem
StartAsynchronousUpdate(Ticks, SimulationUpdateConfiguration, ISimulationUpdateStrategy)
public Task StartAsynchronousUpdate(Ticks deltaTicks, SimulationUpdateConfiguration config, ISimulationUpdateStrategy strategy)
Parameters
deltaTicks Ticks
config SimulationUpdateConfiguration
strategy ISimulationUpdateStrategy
Returns
- Task
SynchronousUpdate(Ticks, SimulationUpdateConfiguration, ISimulationUpdateStrategy)
public void SynchronousUpdate(Ticks deltaTicks, SimulationUpdateConfiguration config, ISimulationUpdateStrategy strategy)
Parameters
deltaTicks Ticks
config SimulationUpdateConfiguration
strategy ISimulationUpdateStrategy
TryFindChunkSimulation(in GlobalChunkCoordinate, out ILocalizedChunkSimulation)
public bool TryFindChunkSimulation(in GlobalChunkCoordinate position, out ILocalizedChunkSimulation simulation)
Parameters
position GlobalChunkCoordinate
simulation ILocalizedChunkSimulation
Returns
- bool
TryFindTileSimulation(in GlobalTileCoordinate, out ILocalizedTileSimulation)
public bool TryFindTileSimulation(in GlobalTileCoordinate position, out ILocalizedTileSimulation simulation)
Parameters
position GlobalTileCoordinate
simulation ILocalizedTileSimulation
Returns
- bool
TryGetConnectedSimulation(ILocalizedSimulation, int, out ILocalizedSimulation)
public bool TryGetConnectedSimulation(ILocalizedSimulation simulation, int index, out ILocalizedSimulation inputSimulation)
Parameters
simulation ILocalizedSimulation
index int
inputSimulation ILocalizedSimulation
Returns
- bool
TryGetSystem<TSystem>(out TSystem)
public bool TryGetSystem<TSystem>(out TSystem system) where TSystem : ISimulationSystem
Parameters
system TSystem
Returns
- bool
Type Parameters
TSystem