1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-05-08 03:37:45 +00:00
sapphire/src/world/Action/EventItemAction.h
2022-01-27 21:24:54 +01:00

36 lines
No EOL
765 B
C++

#pragma once
#include "Action.h"
#include <Exd/Structs.h>
namespace Sapphire::Data
{
struct ItemAction;
using ItemActionPtr = std::shared_ptr< ItemAction >;
}
namespace Sapphire::World::Action
{
class EventItemAction : public Action
{
public:
EventItemAction( Entity::CharaPtr source, uint32_t eventItemId, std::shared_ptr< Excel::ExcelStruct< Excel::EventItem > > itemActionData,
uint32_t sequence, uint64_t targetId );
virtual ~EventItemAction() = default;
bool init();
void execute() override;
void onInterrupt() override;
void onStart() override;
private:
std::shared_ptr< Excel::ExcelStruct< Excel::EventItem > > m_eventItemAction;
uint32_t m_eventItem;
uint32_t m_sequence;
};
}