namespace ReactorMaintenance.Simulation; public sealed class SimulationEngine { public LevelState MoveRobot(LevelState level, GridPosition destination) { return m_Core.MoveRobot(level, destination); } public LevelState InteractProp(LevelState level) { return m_Core.InteractProp(level); } public LevelState InteractLeak(LevelState level, ECarrierType carrier, bool useRemedy) { return m_Core.InteractLeak(level, carrier, useRemedy); } public LevelState ApplyHeatShield(LevelState level) { return m_Core.ApplyHeatShield(level); } public LevelState ActivateReactor(LevelState level) { return m_Core.ActivateReactor(level); } public LevelState EndTurn(LevelState level) { return m_Core.EndTurn(level); } public LevelState AdvanceTurn(LevelState level) { return m_Core.AdvanceTurn(level); } public IReadOnlyList Forecast(LevelState level) { return m_Core.Forecast(level); } private readonly SimulationCoreSystem m_Core = new(); }