Files
TheVVaS-Assets/RPGCore.BackpackEquipment/Runtime/Actions/UseUsableAction.cs
T
2026-04-25 23:37:10 +02:00

46 lines
1.2 KiB
C#

using RPGCore.BackpackEquipment.Events;
using RPGCore.BackpackEquipment.ObjectModules.Content.Events;
using RPGCore.BackpackEquipment.Objects;
using RPGCore.ObjectModules.ActionObjectModule;
namespace RPGCore.BackpackEquipment.Actions
{
public class UseUsableAction : BaseActionParallel
{
private readonly UsableObject _usable;
public UseUsableAction(UsableObject usable)
{
_usable = usable;
}
public override void CanDoIt()
{
}
protected override void OnDoIt()
{
var useEvent = new UseUsableEvent
{
unit = unit,
usable = _usable,
};
unit.events.InvokeBefore(useEvent);
_usable.events.InvokeBefore(useEvent);
Check(!useEvent.isPrevented, ActionWasPreventedMessage);
BeforePerform();
AfterPerform();
unit.events.InvokeAfter(useEvent);
_usable.events.InvokeAfter(useEvent);
EndIt();
}
protected override void OnEndIt() { }
protected override void OnCancelIt() { }
}
}