Split project

This commit is contained in:
h z
2024-06-29 06:35:23 +08:00
parent b26404abd2
commit 117835b503
45 changed files with 1972 additions and 26 deletions

View 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;
}
}

View 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;
}
}

View 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;
}
}