using Enigmos.Ports; using Enigmos.Ports.DataPorts; using Enigmos.Ports.SignalPorts; using Skeleton.Algebra; using Skeleton.Algebra.DimensionProviders; using TabulaSmaragdina.Constants; namespace Enigmos.Modules.ControllingModules.ActionModules; using R2 = CategoryOf.OnField.FVector; public partial class MoveActionModule : ActionModule { private DataInPort Input1 { get; set; } private SignalInPort SignalIn1 { get; set; } private SignalInPort SignalIn2 { get; set; } private SignalInPort SignalIn3 { get; set; } private SignalInPort SignalIn4 { get; set; } public override IEnumerable Ports => new BasePort[] { Input1, SignalIn1, SignalIn2, SignalIn3, SignalIn4 }; public override void Init() { base.Init(); Input1 = GetPort("Input1"); SignalIn1 = GetPort("SignalIn1"); SignalIn2 = GetPort("SignalIn2"); SignalIn3 = GetPort("SignalIn3"); SignalIn4 = GetPort("SignalIn4"); Input1.SetDataType(EnigmosConstant.DataPortTypes.R2); PostInit(); } public override string GetDescription => ""; protected override void Execute(RootModule root) { R2 direction = Input1.GetData(root).R2; root.ManagedBy.Action.Move(direction); } }