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("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(); res.Init(); return res; } }