project update

This commit is contained in:
h z
2024-06-30 01:52:44 +08:00
parent 117835b503
commit 59d257c06a
67 changed files with 2268 additions and 92 deletions

View File

@@ -1,9 +1,11 @@
using Nocturnis.Enigmos.Modules;
namespace Enigmos.Modules.ControllingModules.ActionModules;
public abstract partial class ActionModule : ControllingModule
{
protected abstract void Execute(RootModule root);
protected override void Route(RootModule root)
protected abstract void Execute(IRootModule root);
protected override void Route(IRootModule root)
{
if(!root.ActionFinished)
Execute(root);

View File

@@ -1,6 +1,7 @@
using Enigmos.Ports;
using Enigmos.Ports.DataPorts;
using Enigmos.Ports.SignalPorts;
using Nocturnis.Enigmos.Modules;
using TabulaSmaragdina.Constants;
namespace Enigmos.Modules.ControllingModules.ActionModules;
@@ -29,6 +30,6 @@ public partial class AttackActionModule : ActionModule
}
protected override void Execute(RootModule root) =>
protected override void Execute(IRootModule root) =>
root.ManagedBy.Action.Attack(Input1.GetData(root).R2);
}

View File

@@ -1,6 +1,7 @@
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;
@@ -10,11 +11,11 @@ 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; }
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 };
@@ -33,7 +34,7 @@ public partial class MoveActionModule : ActionModule
public override string GetDescription => "";
protected override void Execute(RootModule root)
protected override void Execute(IRootModule root)
{
R2 direction = Input1.GetData(root).R2;
root.ManagedBy.Action.Move(direction);

View File

@@ -1,11 +1,12 @@
using Enigmos.Exceptions;
using Nocturnis.Enigmos.Modules;
namespace Enigmos.Modules.ControllingModules;
public abstract partial class ControllingModule : BaseModule
public abstract partial class ControllingModule : BaseModule, IControllingModule
{
protected abstract void Route(RootModule root);
protected abstract void Route(IRootModule root);
public bool Visited { get; set; }
protected override void TimeoutHandler(ModuleExecutionTimeout timeout)
{
@@ -13,7 +14,7 @@ public abstract partial class ControllingModule : BaseModule
base.TimeoutHandler(timeout);
}
public void RouteWithTimeoutHandle(RootModule root)
public void RouteWithTimeoutHandle(IRootModule root)
{
if (Visited)
return;

View File

@@ -2,16 +2,17 @@ using System.Diagnostics;
using Enigmos.Ports;
using Enigmos.Ports.SignalPorts;
using Nocturnis.Creatures;
using Nocturnis.Enigmos.Modules;
namespace Enigmos.Modules.ControllingModules;
public partial class RootModule : ControllingModule
public partial class RootModule : ControllingModule, IRootModule
{
public bool ActionFinished { get; set; }
public IBaseCreature ManagedBy { get; set; }
protected override bool Draggable() => false;
private SignalOutPort SignalOut1 { get; set; }
public override IEnumerable<BasePort> Ports => new[] { SignalOut1 };
public Stopwatch Timer { get; set; }
public IBaseCreature? ManagedBy { get; set; }
protected override bool Draggable => false;
private SignalOutPort? SignalOut1 { get; set; }
public override IEnumerable<BasePort> Ports => new[] { SignalOut1 }!;
public Stopwatch? Timer { get; set; }
public override void Init()
{
@@ -21,14 +22,14 @@ public partial class RootModule : ControllingModule
PostInit();
}
protected override void Route(RootModule r)
protected override void Route(IRootModule r)
{
if(!SignalOut1.Connected)
if(!SignalOut1!.Connected)
{
ActionFinished = true;
return;
}
Visited = true;
SignalOut1.ConnectedPort.Module.RouteWithTimeoutHandle(this);
SignalOut1.ConnectedPort!.Module.RouteWithTimeoutHandle(this);
}
}

View File

@@ -32,7 +32,7 @@ public partial class SinglePoleDoubleThrowSwitchModule : ControllingModule, IPar
PostInit();
}
protected override void Route(RootModule root)
protected override void Route(IRootModule root)
{
Visited = true;
SignalOutPort selectedPort = (LeftPortForTrue.ParameterValue && ControlInput.GetData(root).Bit)

View File

@@ -1,6 +1,7 @@
using Enigmos.Ports;
using Enigmos.Ports.DataPorts;
using Enigmos.Ports.SignalPorts;
using Nocturnis.Enigmos.Modules;
using TabulaSmaragdina.Constants;
namespace Enigmos.Modules.ControllingModules;
@@ -24,7 +25,7 @@ public partial class SinglePoleSingleThrowSwitchModule : ControllingModule
protected override void Route(RootModule root)
protected override void Route(IRootModule root)
{
Visited = true;
if (ControlInput.GetData(root).Bit && SignalOut.Connected)