using System.Diagnostics; using Enigmos.Ports; using Enigmos.Ports.SignalPorts; using Nocturnis.Creatures; namespace Enigmos.Modules.ControllingModules; public partial class RootModule : ControllingModule { public bool ActionFinished { get; set; } public IBaseCreature ManagedBy { get; set; } protected override bool Draggable() => false; private SignalOutPort SignalOut1 { get; set; } public override IEnumerable Ports => new[] { SignalOut1 }; public Stopwatch Timer { get; set; } public override void Init() { base.Init(); ActionFinished = true; SignalOut1 = GetPort("SignalOut1"); PostInit(); } protected override void Route(RootModule r) { if(!SignalOut1.Connected) { ActionFinished = true; return; } Visited = true; SignalOut1.ConnectedPort.Module.RouteWithTimeoutHandle(this); } }