Table of Contents

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()

public void 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