1 #include "IdealMenu.h"
\r
2 #include "mof/KeyFrameAnimation.h"
\r
3 #include "MyWindow.h"
\r
4 #include "TargetMenu.h"
\r
5 #include "BattlerGroup.h"
\r
6 #include "BattlerFacade.h"
\r
9 mof::Window* et::IdealMenu::addSelectableTextItem(mof::Window* pOwner, std::vector<mof::Window*>& selectables , TCHAR* text , int size){
\r
10 mof::Window* pSelectable = new et::MyWindow(mof::Sprite::createSpriteFromText(text , size) , m_pTextureManager);
\r
11 pOwner->add(pSelectable);
\r
12 selectables.push_back(pSelectable);
\r
16 et::IdealMenu::IdealMenu( mof::TextureManager* pTextureManager , et::BattleData* pBattleData )
\r
17 : et::MyFrame(mof::Line2D( 0 , 0 , 200 , 300) , true , pTextureManager->getResource(_T("image/frame0.png")) )
\r
19 m_pBattleData = pBattleData;
\r
22 m_pTextureManager = pTextureManager;
\r
23 std::vector<mof::Window*> selectables;
\r
25 mof::Window* pSelectable = NULL;
\r
26 //
\90_
\97ì
\82Ì
\83\8a\83X
\83g
\8dì
\90¬
\r
27 for(std::vector<et::BattlerFacade*>::const_iterator itr = m_pBattleData->getBattlerGroup()->getBattlerList().begin() ;
\r
28 itr != m_pBattleData->getBattlerGroup()->getBattlerList().end() ; ++itr){
\r
29 if((*itr)->getType() != et::IDEAL || !(*itr)->getParameter().alive)continue;
\r
30 pSelectable = addSelectableTextItem(this , selectables , (TCHAR*)(*itr)->getParameter().name.c_str() , 16);
\r
31 if((*itr)->getParameter().actionPoint < 5)pSelectable->setAvailable(false);
\r
34 m_pSelector = new mof::SelectionModel(selectables , mof::AnimationResource());
\r
38 et::IdealMenu::~IdealMenu(void)
\r
47 void et::IdealMenu::setVisible(bool visible){
\r
48 et::MyFrame::setVisible(visible);
\r
50 mof::KeyFrameAnimation* pAnimation = new mof::KeyFrameAnimation();
\r
51 pAnimation->setPosition(0 , mof::Vector2D(160 ,500));
\r
52 pAnimation->setPosition(10 , mof::Vector2D(160 , 370));
\r
53 mof::AnimationResource resource(pAnimation);
\r
54 m_pSelector->setMenuAnimation(resource);
\r
55 setAnimation(0 , resource);
\r
58 mof::KeyFrameAnimation* pAnimation = new mof::KeyFrameAnimation();
\r
59 pAnimation->setPosition(0 , mof::Vector2D(160 , 370));
\r
60 pAnimation->setPosition(10 , mof::Vector2D(160 , 500));
\r
61 mof::AnimationResource resource(pAnimation);
\r
62 m_pSelector->setMenuAnimation(resource);
\r
63 setAnimation(0 , resource);
\r
67 et::MyFrame* et::IdealMenu::performAction(){
\r
68 int index = getSelectionModel()->getSelectingIndex();
\r
69 et::BattleAction action;
\r
70 action.type = et::BattleAction::CAST;
\r
72 for(std::vector<et::BattlerFacade*>::const_iterator itr = m_pBattleData->getBattlerGroup()->getBattlerList().begin() ;
\r
73 itr != m_pBattleData->getBattlerGroup()->getBattlerList().end() ; ++itr){
\r
74 if((*itr)->getType() != et::IDEAL || !(*itr)->getParameter().alive)continue;
\r
75 else if(index == cntIdeal++)action.idealIndex = index;
\r
78 if(action.idealIndex == 0)return new et::TargetMenu(m_pTextureManager , m_pBattleData , action , 300);//
\92P
\91Ì
\r
79 else if(action.idealIndex == 1){
\r
80 action.pTarget = NULL;
\r
81 m_pBattleData->setBattleAction(action);
\r
84 else if(action.idealIndex == 2){
\r
85 action.pTarget = m_pBattleData->getBattlerGroup()->getHeroBattler();
\r
86 m_pBattleData->setBattleAction(action);
\r