1 #include "FightingMenu.h"
2 #include "mof/KeyFrameAnimation.h"
4 #include "TargetMenu.h"
6 #include "UsingBattleItemMenu.h"
8 #include "BattlerGroup.h"
9 #include "BattlerFacade.h"
11 et::FightingMenu::FightingMenu( mof::TextureManager* pTextureManager , et::BattleData* pBattleData )
12 : et::MyFrame(mof::Line2D( 0 , 0 , 200 , 300) , true , pTextureManager->getResource(_T("image/frame0.png")) )
14 m_pBattleData = pBattleData;
17 m_pTextureManager = pTextureManager;
18 std::vector<mof::Window*> selectables;
20 mof::Window* pSelectable = NULL;
21 et::BattlerFacade* pHero = m_pBattleData->getBattlerGroup()->getHeroBattler();
22 pSelectable = addSelectableTextItem(this , selectables , _T("
\82±
\82¤
\82°
\82«(AP-3)") , 16);
23 if(pHero->getParameter().actionPoint < 3)pSelectable->setAvailable(false);
24 pSelectable = addSelectableTextItem(this , selectables , _T("
\90_
\97ì(AP-5)") , 16);
25 if(pHero->getParameter().actionPoint < 5)pSelectable->setAvailable(false);
26 pSelectable = addSelectableTextItem(this , selectables , _T("
\83A
\83C
\83e
\83\80(AP-2)") , 16);
27 if(pHero->getParameter().actionPoint < 2)pSelectable->setAvailable(false);
28 pSelectable = addSelectableTextItem(this , selectables , _T("
\82Ú
\82¤
\82¬
\82å(AP-1)") , 16);
29 if(pHero->getParameter().actionPoint < 1)pSelectable->setAvailable(false);
30 m_pSelector = new mof::SelectionModel(selectables , mof::AnimationResource());
34 et::FightingMenu::~FightingMenu(void)
43 void et::FightingMenu::setVisible(bool visible){
44 et::MyFrame::setVisible(visible);
46 mof::KeyFrameAnimation* pAnimation = new mof::KeyFrameAnimation();
47 pAnimation->setPosition(0 , mof::Vector2D(-200 ,370));
48 pAnimation->setPosition(15 , mof::Vector2D(10 , 370));
49 mof::AnimationResource resource(pAnimation);
50 m_pSelector->setMenuAnimation(resource);
51 setAnimation(0 , resource);
54 mof::KeyFrameAnimation* pAnimation = new mof::KeyFrameAnimation();
55 pAnimation->setPosition(0 , mof::Vector2D(10 , 370));
56 pAnimation->setPosition(15 , mof::Vector2D(-200 , 370));
57 mof::AnimationResource resource(pAnimation);
58 m_pSelector->setMenuAnimation(resource);
59 setAnimation(0 , resource);
63 et::MyFrame* et::FightingMenu::performAction(){
65 switch(getSelectionModel()->getSelectingIndex()){
66 case 0 : //
\82±
\82¤
\82°
\82«
68 et::BattleAction action;
69 action.type = et::BattleAction::ATTACK_WEAPON;
70 return new TargetMenu(m_pTextureManager , m_pBattleData , action , 160);
72 case 1 : //
\82µ
\82ñ
\82ê
\82¢
73 return new IdealMenu(m_pTextureManager , m_pBattleData);
74 case 2 : //
\83A
\83C
\83e
\83\80
76 et::ItemOperatorFactory* pOperationMenuFactory = new UsingBattleItemMenuFactory(m_pTextureManager , m_pBattleData);
77 return new et::ItemMenu( m_pTextureManager , m_pBattleData->getItemList() , pOperationMenuFactory);
79 case 3 : //
\82Ú
\82¤
\82¬
\82å
81 et::BattleAction action;
82 action.type = et::BattleAction::GUARD;
83 //
\83K
\81[
\83h
\8fó
\91Ô
\82É
84 et::BattlerParameter parameter = m_pBattleData->getBattlerGroup()->getHeroBattler()->getParameter();
85 parameter.guard = true;
86 parameter.dActionPoint -= 1;
87 m_pBattleData->getBattlerGroup()->getHeroBattler()->setParameter(parameter);
88 m_pBattleData->setBattleAction(action);
92 DEBUG_PRINT("
\96¢
\92è
\8b`
\82Ì
\83A
\83N
\83V
\83\87\83\93\82ª
\97v
\8b\81\82³
\82ê
\82Ü
\82µ
\82½");
99 mof::Window* et::FightingMenu::addSelectableTextItem(mof::Window* pOwner, std::vector<mof::Window*>& selectables , TCHAR* text , int size){
100 mof::Window* pSelectable = new et::MyWindow(mof::Sprite::createSpriteFromText(text , size) , m_pTextureManager);
101 pOwner->add(pSelectable);
102 selectables.push_back(pSelectable);