source generator

This commit is contained in:
h z
2024-07-10 07:02:11 +01:00
parent 3eec8a1345
commit 401e48e0ba
77 changed files with 432 additions and 336 deletions

33
Cables/DataCable.cs Normal file
View File

@@ -0,0 +1,33 @@
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;
}
}

33
Cables/SignalCable.cs Normal file
View File

@@ -0,0 +1,33 @@
using Enigmos.Ports.SignalPorts;
using Godot;
using Nocturnis.Enigmos.Ports.SignalPorts.Directions;
namespace Enigmos.Cables;
public partial class SignalCable : BaseCable
{
public new ISignalOutPort PortTo
{
get => (base.PortTo as ISignalOutPort)!;
set => base.PortTo = value;
}
public new ISignalInPort PortFrom
{
get => (base.PortFrom as ISignalInPort)!;
set => base.PortFrom = value;
}
public override void LineUpdate()
{
Vector2 fromPosition = PortFrom.PositionToBoard;
Vector2 toPosition = PortTo.PositionToBoard;
Points = new []
{
fromPosition,
new Vector2(fromPosition.X, (fromPosition.Y + toPosition.Y) / 2),
new Vector2(toPosition.X, (fromPosition.Y + toPosition.Y) / 2),
toPosition
};
InFill.Points = Points;
}
}