using Enigmos.Modules.ControllingModules; using Enigmos.Modules.TerminalModules; using Nocturnis.Creatures; using Nocturnis.Enigmos.Modules; using Nocturnis.GlobalManagement.Constants; using Nocturnis.GlobalManagement.Controls; namespace Enigmos.Boards; public partial class PrimaryModuleBoard : BaseBoard { private IBaseCreature? ManagedBy { get; set; } public IRootModule? Root { get; set; } public EngineModule? Engine { get; set; } public void Init(IBaseCreature manager) { Init(); Root = GetModule("Root"); Engine = GetModule("Engine"); Root.ManagedBy = manager; ManagedBy = manager; } public void Start() { if (!Root!.ActionFinished) return; //Root.Timer = Stopwatch.StartNew(); Engine!.Drain(); if (EnigmosControl.Instance.Energy < EnigmosConstant.IdlePower) { Root!.ActionFinished = true; EnigmosControl.Instance.ShutDownEngine(); return; } Root.Start(); foreach (ITerminalModule tm in TerminalModules) { tm.Consume(); } //Root.RouteWithTimeoutHandle(Root); //Root.Timer.Reset(); //foreach (TerminalModule module in TerminalModules()) // module.ConsumeWithTimeoutHandle(Root); } }