46 lines
1.2 KiB
C#
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() { }
|
|
}
|
|
} |