Files
Enigmos/Modules/ControllingModules/ActionModules/AttackActionModule.cs
2024-07-03 12:20:08 +08:00

35 lines
947 B
C#

using Nocturnis.Enigmos.Modules;
using Nocturnis.Enigmos.Ports;
using Nocturnis.Enigmos.Ports.DataPorts.Directions;
using Nocturnis.GlobalManagement.Constants;
using Nocturnis.GlobalManagement.Controls;
namespace Enigmos.Modules.ControllingModules.ActionModules;
public partial class AttackActionModule : ActionModule, ITerminalModule
{
public IDataInPort[] DataInPorts { get; set; } = Array.Empty<IDataInPort>();
public void Drain()
{
foreach (IDataInPort ip in DataInPorts)
_ = ip.GetData.Get;
}
public override IEnumerable<IBasePort> Ports => SignalInPorts.Union(DataInPorts.Cast<IBasePort>()).ToArray();
public override void Init()
{
base.Init();
this.SignalInInit("SignalIn", 4);
this.DataInInit("Input", 1);
DataInPorts[0].SetDataType(EnigmosConstant.DataPortTypes.R2);
PostInit();
}
public override void Act()
{
CreatureControl.Instance.CurrentCharacter!.Action.Attack(DataInPorts[0].GetData.Get!.R2);
}
}