Files
Enigmos/Modules/ControllingModules/RootModule.cs
2024-06-30 01:52:44 +08:00

36 lines
902 B
C#

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