Split project
This commit is contained in:
29
Ports/SignalPorts/SignalInPort.cs
Normal file
29
Ports/SignalPorts/SignalInPort.cs
Normal file
@@ -0,0 +1,29 @@
|
||||
using Enigmos.Cables;
|
||||
using Enigmos.Modules.ControllingModules;
|
||||
using Nocturnis.Enigmos.Ports;
|
||||
|
||||
namespace Enigmos.Ports.SignalPorts;
|
||||
public partial class SignalInPort : SignalPort, ISignalInPort
|
||||
{
|
||||
public new ControllingModule Module
|
||||
{
|
||||
get => base.Module as ControllingModule;
|
||||
set => base.Module = value;
|
||||
}
|
||||
|
||||
public new SignalOutPort ConnectedPort
|
||||
{
|
||||
get => base.ConnectedPort as SignalOutPort;
|
||||
set => base.ConnectedPort = value;
|
||||
}
|
||||
|
||||
public override bool IsMatch(IBasePort other) => other is SignalOutPort;
|
||||
|
||||
public override BaseCable MakeCable(IBasePort other)
|
||||
{
|
||||
BaseCable res = base.MakeCable(other);
|
||||
res.PortFrom = this;
|
||||
res.PortTo = other;
|
||||
return res;
|
||||
}
|
||||
}
|
||||
31
Ports/SignalPorts/SignalOutPort.cs
Normal file
31
Ports/SignalPorts/SignalOutPort.cs
Normal file
@@ -0,0 +1,31 @@
|
||||
using Enigmos.Cables;
|
||||
using Enigmos.Modules.ControllingModules;
|
||||
using Nocturnis.Enigmos.Ports;
|
||||
|
||||
namespace Enigmos.Ports.SignalPorts;
|
||||
|
||||
public partial class SignalOutPort : SignalPort, ISignalOutPort
|
||||
{
|
||||
public new ControllingModule Module
|
||||
{
|
||||
get => base.Module as ControllingModule;
|
||||
set => base.Module = value;
|
||||
}
|
||||
|
||||
|
||||
public new SignalInPort ConnectedPort
|
||||
{
|
||||
get => base.ConnectedPort as SignalInPort;
|
||||
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;
|
||||
}
|
||||
}
|
||||
38
Ports/SignalPorts/SignalPort.cs
Normal file
38
Ports/SignalPorts/SignalPort.cs
Normal file
@@ -0,0 +1,38 @@
|
||||
using Enigmos.Cables;
|
||||
using Godot;
|
||||
using Nocturnis.Enigmos.Ports;
|
||||
using TabulaSmaragdina;
|
||||
|
||||
namespace Enigmos.Ports.SignalPorts;
|
||||
|
||||
public abstract partial class SignalPort : BasePort, ISignalInPort
|
||||
{
|
||||
protected AnimatedSprite2D SignalDirection { get; set; }
|
||||
public override void Init()
|
||||
{
|
||||
base.Init();
|
||||
SignalDirection = GetNode<AnimatedSprite2D>("SignalDirection");
|
||||
SignalDirection.Visible = false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void MouseEnteredHandler() => SignalDirection.Visible = true;
|
||||
private void MouseExitedHandler() => SignalDirection.Visible = false;
|
||||
|
||||
public override void SetStatusConnected() =>
|
||||
TextureNormal = GlobalProvider.EnigmosProvider.SignalPortStatusConnected;
|
||||
|
||||
public override void SetStatusNormal() =>
|
||||
TextureNormal = GlobalProvider.EnigmosProvider.SignalPortStatusNormal;
|
||||
|
||||
public override void SetStatusPending() =>
|
||||
TextureNormal = GlobalProvider.EnigmosProvider.SignalPortStatusPending;
|
||||
|
||||
public override BaseCable MakeCable(IBasePort other)
|
||||
{
|
||||
BaseCable res = GlobalProvider.EnigmosProvider.SignalCableScene.Instantiate<BaseCable>();
|
||||
res.Init();
|
||||
return res;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user