42 lines
1.2 KiB
C#
42 lines
1.2 KiB
C#
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<IDim2>.OnField<double>.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<BasePort> Ports => new BasePort[] { Input1, SignalIn1, SignalIn2, SignalIn3, SignalIn4 };
|
|
|
|
public override void Init()
|
|
{
|
|
base.Init();
|
|
Input1 = GetPort<DataInPort>("Input1");
|
|
SignalIn1 = GetPort<SignalInPort>("SignalIn1");
|
|
SignalIn2 = GetPort<SignalInPort>("SignalIn2");
|
|
SignalIn3 = GetPort<SignalInPort>("SignalIn3");
|
|
SignalIn4 = GetPort<SignalInPort>("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);
|
|
}
|
|
}
|