2021-12-17 14:53:13 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "Action.h"
|
|
|
|
#include <Exd/Structs.h>
|
|
|
|
|
|
|
|
namespace Sapphire::Data
|
|
|
|
{
|
|
|
|
struct ItemAction;
|
|
|
|
using ItemActionPtr = std::shared_ptr< ItemAction >;
|
|
|
|
}
|
|
|
|
|
|
|
|
namespace Sapphire::World::Action
|
|
|
|
{
|
2021-12-17 15:48:56 +01:00
|
|
|
class EventItemAction : public Action
|
2021-12-17 14:53:13 +01:00
|
|
|
{
|
|
|
|
public:
|
2022-01-27 21:24:54 +01:00
|
|
|
EventItemAction( Entity::CharaPtr source, uint32_t eventItemId, std::shared_ptr< Excel::ExcelStruct< Excel::EventItem > > itemActionData,
|
2021-12-17 15:48:56 +01:00
|
|
|
uint32_t sequence, uint64_t targetId );
|
2021-12-17 14:53:13 +01:00
|
|
|
|
2021-12-17 15:48:56 +01:00
|
|
|
virtual ~EventItemAction() = default;
|
|
|
|
|
|
|
|
bool init();
|
2021-12-17 14:53:13 +01:00
|
|
|
|
|
|
|
void execute() override;
|
|
|
|
|
2021-12-17 15:48:56 +01:00
|
|
|
void onStart() override;
|
2021-12-17 14:53:13 +01:00
|
|
|
|
|
|
|
|
2021-12-17 15:48:56 +01:00
|
|
|
private:
|
2022-01-27 21:24:54 +01:00
|
|
|
std::shared_ptr< Excel::ExcelStruct< Excel::EventItem > > m_eventItemAction;
|
2021-12-17 15:48:56 +01:00
|
|
|
uint32_t m_eventItem;
|
|
|
|
uint32_t m_sequence;
|
2021-12-17 14:53:13 +01:00
|
|
|
};
|
|
|
|
}
|