using Godot; using Nocturnis.Enigmos.Ports.DataPorts.Directions; namespace Enigmos.Cables; public partial class DataCable : BaseCable { public new IDataOutPort PortTo { get => (base.PortTo as IDataOutPort)!; set => base.PortTo = value; } public new IDataInPort PortFrom { get => (base.PortFrom as IDataInPort)!; set => base.PortFrom = value; } public override void LineUpdate() { Vector2 fromPosition = PortFrom.PositionToBoard; Vector2 toPosition = PortTo.PositionToBoard; Points = new[] { fromPosition, new Vector2((fromPosition.X + toPosition.X) / 2, fromPosition.Y), new Vector2((fromPosition.X + toPosition.X) / 2, toPosition.Y), toPosition }; InFill.Points = Points; } }