#pragma once
#include "MyFrame.h"
#include "mof/Texture.h"
#include "ItemOperationMenu.h"


namespace et{
	class BattleData;

	class UsingBattleItemMenu : public ItemOperationMenu
	{
		mof::Window* addSelectableTextItem(mof::Window* pOwner , std::vector<mof::Window*>& selectables , TCHAR* text , int size);
		
		mof::SelectionModel* m_pSelector;
		mof::TextureManager* m_pTextureManager;
	
		et::BattleData* m_pBattleData;

	public:
		UsingBattleItemMenu(mof::TextureManager* pTextureManager , et::BattleData* pBattleData);
		virtual ~UsingBattleItemMenu(void);
		virtual void setVisible(bool visible);
		virtual mof::SelectionModel* getSelectionModel(){return m_pSelector;}
		virtual MyFrame* performAction();
	};

	class UsingBattleItemMenuFactory : public ItemOperatorFactory{
		mof::TextureManager* m_pTextureManager;
		et::BattleData* m_pBattleData;
	public:
		UsingBattleItemMenuFactory(mof::TextureManager* pTextureManager , et::BattleData* pBattleData);
		virtual ~UsingBattleItemMenuFactory();
		virtual ItemOperationMenu* create();

	};


};