Upgrade structure of code base
This commit is contained in:
@@ -1,42 +1,39 @@
|
||||
using Enigmos.Ports;
|
||||
using Enigmos.Ports.DataPorts;
|
||||
using Enigmos.Ports.SignalPorts;
|
||||
using Nocturnis.Enigmos.Modules;
|
||||
using Skeleton.Algebra;
|
||||
using Skeleton.Algebra.DimensionProviders;
|
||||
using TabulaSmaragdina.Constants;
|
||||
using Nocturnis.Enigmos.Ports;
|
||||
using Nocturnis.Enigmos.Ports.DataPorts.Directions;
|
||||
using Nocturnis.GlobalManagement.Constants;
|
||||
using Nocturnis.GlobalManagement.Controls;
|
||||
|
||||
namespace Enigmos.Modules.ControllingModules.ActionModules;
|
||||
using R2 = CategoryOf<IDim2>.OnField<double>.FVector;
|
||||
public partial class MoveActionModule : ActionModule
|
||||
|
||||
public partial class MoveActionModule : ActionModule, ITerminalModule
|
||||
{
|
||||
|
||||
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 IDataInPort[] DataInPorts { get; set; } = Array.Empty<IDataInPort>();
|
||||
public void Drain()
|
||||
{
|
||||
foreach (IDataInPort ip in DataInPorts)
|
||||
_ = ip.GetData.Get;
|
||||
}
|
||||
|
||||
public override IEnumerable<BasePort> Ports => new BasePort[] { Input1, SignalIn1, SignalIn2, SignalIn3, SignalIn4 };
|
||||
public override IEnumerable<IBasePort> Ports => DataInPorts.Union(SignalInPorts.Cast<IBasePort>());
|
||||
|
||||
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);
|
||||
this.DataInInit("Input", 1);
|
||||
this.SignalInInit("SignalIn", 4);
|
||||
DataInPorts[0].SetDataType(EnigmosConstant.DataPortTypes.R2);
|
||||
PostInit();
|
||||
}
|
||||
|
||||
|
||||
public override string GetDescription => "";
|
||||
|
||||
protected override void Execute(IRootModule root)
|
||||
public override void Act()
|
||||
{
|
||||
R2 direction = Input1.GetData(root).R2;
|
||||
root.ManagedBy.Action.Move(direction);
|
||||
CreatureControl.Instance.CurrentCharacter!.Action.Attack(DataInPorts[0].GetData.Get!.R2);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user