2 #include "mof/KeyFrameAnimation.h"
6 et::AreaMenu::AreaMenu(et::Area& area , mof::TextureManager* pTextureManager ,
7 et::World* pWorld , et::GameData* pGameData , mof::Vector2D& position)
8 : et::MyFrame(mof::Line2D( 650 , 50 , 800 , 200) , true , pTextureManager->getResource(_T("image/frame0.png")) )
10 m_pTextureManager = pTextureManager;
12 m_pGameData = pGameData;
13 m_position = position;
15 std::vector<mof::Window*> selectables;
17 mof::Window* pSelectable = NULL;
18 add(mof::Sprite::createSpriteFromText(_T("
\83G
\83\8a\83A
\83\81\83j
\83\85\81[") , 16) );
19 pSelectable = addSelectableTextItem(this , selectables , _T("
\92¬
\82ð
\96K
\96â") , 16);
20 if(!area.town)pSelectable->setAvailable(false);
21 pSelectable = addSelectableTextItem(this , selectables , _T("
\83G
\83\8c\83\81\83\93\83g") , 16);
22 if(area.hasSomethingIcon())pSelectable->setAvailable(false);
23 addSelectableTextItem(this , selectables , _T("
\82à
\82Ç
\82é") , 16);
24 m_pSelector = new mof::SelectionModel(selectables , mof::AnimationResource());
31 et::AreaMenu::~AreaMenu(void)
39 void et::AreaMenu::setVisible(bool visible){
40 et::MyFrame::setVisible(visible);
42 mof::KeyFrameAnimation* pAnimation = new mof::KeyFrameAnimation();
43 pAnimation->setPosition(0 , mof::Vector2D(650 , 50));
44 pAnimation->setPosition(7 , mof::Vector2D(440 , 50));
45 mof::AnimationResource resource(pAnimation);
46 m_pSelector->setMenuAnimation(resource);
47 setAnimation(0 , resource);
50 mof::KeyFrameAnimation* pAnimation = new mof::KeyFrameAnimation();
51 pAnimation->setPosition(0 , mof::Vector2D(440 , 50));
52 pAnimation->setPosition(7 , mof::Vector2D(650 , 50));
53 mof::AnimationResource resource(pAnimation);
54 m_pSelector->setMenuAnimation(resource);
55 setAnimation(0 , resource);
59 et::MyFrame* et::AreaMenu::performAction(){
61 switch(getSelectionModel()->getSelectingIndex()){
62 case 1 : //
\83G
\83\8c\83\81\83\93\83g
\94z
\92u
64 et::Area area = m_pWorld->getArea(m_position.x , m_position.y);
65 area.forestGen = true;
66 m_pWorld->setArea(m_position.x , m_position.y , area);
67 m_pGameData->addRegenerationEvent(et::RegenerationEvent::createForestGenEvent(m_pWorld->getTerm() , m_position));
71 case 2 : //
\82à
\82Ç
\82é
75 DEBUG_PRINT("
\96¢
\92è
\8b`
\82Ì
\83A
\83N
\83V
\83\87\83\93\82ª
\97v
\8b\81\82³
\82ê
\82Ü
\82µ
\82½");
81 mof::Window* et::AreaMenu::addSelectableTextItem(mof::Window* pOwner, std::vector<mof::Window*>& selectables , TCHAR* text , int size){
82 mof::Window* pSelectable = new et::MyWindow(mof::Sprite::createSpriteFromText(text , size) , m_pTextureManager);
83 pOwner->add(pSelectable);
84 selectables.push_back(pSelectable);