Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 7019 in orxonox.OLD for trunk/src/story_entities/simple_game_menu.cc


Ignore:
Timestamp:
Feb 3, 2006, 4:33:45 PM (18 years ago)
Author:
bensch
Message:

orxonox/trunk: Using TextEngine in the Menu

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/story_entities/simple_game_menu.cc

    r7016 r7019  
    170170      this->menuSelector->setBindNode((const PNode*)NULL);
    171171    }
    172     else if( !strcmp( "StartGame_Menu", (*entity)->getName()))
    173     {
    174       this->menuStartGame = dynamic_cast<ImageEntity*>(*entity);
     172  }
     173
     174  imageEntityList = ClassList::getList(CL_TEXT_ELEMENT);
     175  for (entity = imageEntityList->begin(); entity != imageEntityList->end(); entity++)
     176  {
     177    if( !strcmp( "StartGame_Menu", (*entity)->getName()))
     178    {
     179      this->menuStartGame = dynamic_cast<TextElement*>(*entity);
    175180      this->menuStartGame->setBindNode((const PNode*)NULL);
    176181      this->menuStartGame->setRelCoor2D(State::getResX() / 2.0f,
    177182                                        State::getResY() / 2.0f - 60.0f,
    178183                                        0.0f);
    179       this->menuLayers[0].menuList.push_back(dynamic_cast<ImageEntity*>(*entity));
     184      this->menuLayers[0].menuList.push_back(dynamic_cast<TextElement*>(*entity));
    180185
    181186    }
    182187    else if( !strcmp( "Multiplayer_Menu", (*entity)->getName()))
    183188    {
    184       this->menuStartMultiplayerGame = dynamic_cast<ImageEntity*>(*entity);
     189      this->menuStartMultiplayerGame = dynamic_cast<TextElement*>(*entity);
    185190      this->menuStartMultiplayerGame->setBindNode((const PNode*)NULL);
    186191      this->menuStartMultiplayerGame->setRelCoor2D(State::getResX() / 2.0f,
    187192                                                   State::getResY() / 2.0f + ((this->menuLayers[0].menuList.size() -1 ) * 60.0f),
    188193                                                   0.0f);
    189       this->menuLayers[0].menuList.push_back(dynamic_cast<ImageEntity*>(*entity));
     194      this->menuLayers[0].menuList.push_back(dynamic_cast<TextElement*>(*entity));
    190195    }
    191196    else if( !strcmp( "Quit_Menu", (*entity)->getName()))
    192197    {
    193       this->menuQuitGame = dynamic_cast<ImageEntity*>(*entity);
     198      this->menuQuitGame = dynamic_cast<TextElement*>(*entity);
    194199      this->menuQuitGame->setBindNode((const PNode*)NULL);
    195200      this->menuQuitGame->setRelCoor2D(State::getResX() / 2.0f,
    196201                                       State::getResY() / 2.0f + ((this->menuLayers[0].menuList.size() -1 )* 60.0f),
    197202                                       0.0f);
    198       this->menuLayers[0].menuList.push_back(dynamic_cast<ImageEntity*>(*entity));
     203      this->menuLayers[0].menuList.push_back(dynamic_cast<TextElement*>(*entity));
    199204    }
    200205  }
     
    216221
    217222      // generating menu item
     223      TextElement* te = new TextElement();
     224      te->setVisibility(false);
     225      te->setText(se->getName());
     226      te->setRelCoor2D(State::getResX() / 2.0f - 200.0f, State::getResY() / 2.0f + ((this->menuLayers[1].menuList.size() - 2.0f) * 60.0f), 0.0f);
     227      this->menuLayers[1].menuList.push_back(te);
     228
     229      // generating screenshoot item
    218230      ImageEntity* ie = new ImageEntity();
    219       ie->setTexture(se->getMenuItemImage());
    220231      ie->setVisibility(false);
    221232      ie->setBindNode((const PNode*)NULL);
    222       ie->setRelCoor2D(State::getResX() / 2.0f - 200.0f, State::getResY() / 2.0f + ((this->menuLayers[1].menuList.size() - 2.0f) * 60.0f), 0.0f);
    223       ie->setSize2D(100.0f, 50.0f);
    224       this->menuLayers[1].menuList.push_back(ie);
    225 
    226       // generating screenshoot item
    227       ie = new ImageEntity();
    228233      ie->setTexture(se->getMenuScreenshoot());
    229       ie->setVisibility(false);
    230       ie->setBindNode((const PNode*)NULL);
    231234      ie->setRelCoor2D(State::getResX() / 2.0f + 250.0f, State::getResY() / 2.0f, 0.0f);
    232235      ie->setSize2D(140.0f, 105.0f);
     
    246249  for(mit = this->menuLayers.begin(); mit != this->menuLayers.end(); mit++)
    247250  {
    248     (*mit).menuList.clear(); //erase((*mit).menuList.begin(), (*mit).menuList.end());
    249     (*mit).storyList.clear(); //erase((*mit).storyList.begin(), (*mit).storyList.end());
     251    while(!(*mit).menuList.empty())
     252    {
     253      delete (*mit).menuList.back();
     254      (*mit).menuList.pop_back();
     255    }
     256
     257    (*mit).menuList.clear();
     258    (*mit).storyList.clear();
    250259    (*mit).screenshootList.clear();
    251260  }
     
    404413
    405414  PRINTF(0)("Removing layer %i\n", layer1);
     415  std::vector<TextElement*>::iterator te;
     416  // fade old menu
     417  for( te = this->menuLayers[layer1].menuList.begin(); te != this->menuLayers[layer1].menuList.end(); te++)
     418  {
     419    (*te)->setVisibility(false);
     420  }
     421
    406422  std::vector<ImageEntity*>::iterator it;
    407   // fade old menu
    408   for( it = this->menuLayers[layer1].menuList.begin(); it != this->menuLayers[layer1].menuList.end(); it++)
    409   {
    410     (*it)->setVisibility(false);
    411   }
     423
    412424  //also fade the screenshots if in level choosement mode
    413425  for( it = this->menuLayers[layer1].screenshootList.begin(); it != this->menuLayers[layer1].screenshootList.end(); it++)
     
    419431  PRINTF(0)("Showing layer %i\n", layer1);
    420432  // beam here the new menu
    421   for( it = this->menuLayers[layer2].menuList.begin(); it != this->menuLayers[layer2].menuList.end(); it++ )
    422   {
    423     (*it)->setVisibility(true);
     433  for( te = this->menuLayers[layer2].menuList.begin(); te != this->menuLayers[layer2].menuList.end(); te++ )
     434  {
     435    (*te)->setVisibility(true);
    424436  }
    425437
Note: See TracChangeset for help on using the changeset viewer.