using Enigmos.Modules.ControllingModules; using Enigmos.Modules.TerminalModules; using Nocturnis.Creatures; using Nocturnis.Enigmos.Boards; using Nocturnis.Enigmos.Modules; using Nocturnis.GlobalManagement.Constants; using Nocturnis.GlobalManagement.Controls; namespace Enigmos.Boards; public partial class PrimaryModuleBoard : BaseBoard, IPrimaryBoard { private IBaseCreature ManagedBy { get; set; } public IRootModule Root { get; set; } public IEngineModule 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!.Consume(); if (EnigmosControl.Instance.Energy < EnigmosConstant.IdlePower) { Root!.ActionFinished = true; EnigmosControl.Instance.ShutDownEngine(); return; } Root.Start(); foreach (ITerminalModule tm in TerminalModules) tm.Consume(); } }