#pragma once

#include <string>
#include "../interface.h"

#define ACTION_FRAME_MAX_PAGE			10
#define ACTION_FRAME_MAX_ITEM			120

class CActionFrame;
extern CActionFrame*				g_pActionFrame;

using namespace std;

enum ActionItemType {
	eActionItemType_None			= 0,
	eActionItemType_Bag,
	eActionItemType_Equipment,
	eActionItemType_Skill,
	eActionItemType_Macro,
};

struct ActionItem
{
	int							type;
	union {
		struct {
			int					objectID;
		};
		struct {
			int					skillID;
			int					level;
		};
		struct {
			int					macroID;
		};
	};
};

class CActionFrame : public CInterfaceBase
{
public:
	CActionFrame(CInterface* object);
	virtual ~CActionFrame();

	virtual	void				RegisterFunc();	
	virtual	void				Cut(int index);
	virtual	void				Paste(int index);
	virtual	void				Use(int index);
	virtual	ActionItem*			GetItem(int index);
	virtual	void				ClearItem(int index);

	virtual	void				Save();
	virtual	void				Load();

protected:	
	ActionItem					m_items[ACTION_FRAME_MAX_ITEM];			// 10 Pages, 12 Items
};