1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-05-08 11:47:45 +00:00
sapphire/src/world/Action/ItemAction.h

38 lines
814 B
C
Raw Normal View History

#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 ItemAction : public Action
{
public:
2022-01-27 21:24:54 +01:00
ItemAction( Entity::CharaPtr source, uint32_t itemId, std::shared_ptr< Excel::ExcelStruct< Excel::ItemAction > > itemActionData,
2020-03-01 01:00:57 +11:00
uint16_t itemSourceSlot, uint16_t itemSourceContainer );
virtual ~ItemAction() = default;
void start() override;
void execute() override;
void interrupt() override;
private:
void handleVFXItem();
2022-01-16 22:48:55 +01:00
void handleMountItem();
private:
2022-01-27 21:24:54 +01:00
std::shared_ptr< Excel::ExcelStruct< Excel::ItemAction > > m_itemAction;
uint16_t m_itemSourceSlot;
uint16_t m_itemSourceContainer;
};
}