2021-11-27 00:53:57 +01:00
|
|
|
#pragma once
|
2019-02-17 15:47:03 +11:00
|
|
|
|
|
|
|
#include <Common.h>
|
|
|
|
|
|
|
|
#include "ForwardsZone.h"
|
|
|
|
#include "Action.h"
|
|
|
|
|
2019-06-02 00:34:22 +10:00
|
|
|
namespace Sapphire::World::Action
|
2019-02-17 15:47:03 +11:00
|
|
|
{
|
|
|
|
|
|
|
|
class EventAction : public Action
|
|
|
|
{
|
|
|
|
|
|
|
|
public:
|
|
|
|
virtual ~EventAction();
|
|
|
|
|
|
|
|
EventAction( Entity::CharaPtr pActor, uint32_t eventId, uint16_t action,
|
2020-03-01 01:00:57 +11:00
|
|
|
ActionCallback finishRef, ActionCallback interruptRef, uint64_t additional );
|
2019-02-17 15:47:03 +11:00
|
|
|
|
2019-03-07 20:33:14 +11:00
|
|
|
void start() override;
|
2019-02-17 15:47:03 +11:00
|
|
|
|
2019-03-07 20:33:14 +11:00
|
|
|
void execute() override;
|
2019-02-17 15:47:03 +11:00
|
|
|
|
2019-03-07 20:33:14 +11:00
|
|
|
void interrupt() override;
|
2019-02-17 15:47:03 +11:00
|
|
|
|
|
|
|
private:
|
|
|
|
uint32_t m_eventId;
|
|
|
|
uint64_t m_additional;
|
|
|
|
|
|
|
|
ActionCallback m_onActionFinishClb;
|
|
|
|
ActionCallback m_onActionInterruptClb;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
2021-11-27 00:53:57 +01:00
|
|
|
}
|