45 lines
954 B
C#
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();
|
|
}
|
|
|
|
}
|