Files
Enigmos/Ports/SignalPorts/SignalOutPort.cs
2024-07-29 17:24:31 +01:00

45 lines
954 B
C#

using Enigmos.Cables;
using Nocturnis.Enigmos.Modules;
using Nocturnis.Enigmos.Ports;
using Nocturnis.Enigmos.Ports.SignalPorts.Directions;
using Nocturnis.GlobalManagement.Controls;
namespace Enigmos.Ports.SignalPorts;
public partial class SignalOutPort : SignalPort, ISignalOutPort
{
public new IRoutingModule Module
{
get => (base.Module as IRoutingModule)!;
set => base.Module = value;
}
public new ISignalInPort ConnectedPort
{
get => base.ConnectedPort as ISignalInPort;
set => base.ConnectedPort = value;
}
public override bool IsMatch(IBasePort other) => other is SignalInPort;
public override BaseCable MakeCable(IBasePort other)
{
BaseCable res = base.MakeCable(other);
res.PortFrom = other;
res.PortTo = this;
return res;
}
public void Route()
{
if (!Connected)
{
CreatureControl.Instance.CurrentCharacter!.MotherBoard.Root.ActionFinished = true;
return;
}
ConnectedPort.Module.Visit();
}
}