Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Apr 27, 2005, 1:50:23 PM (19 years ago)
Author:
patrick
Message:

orxonox/branches/ll2trunktmp: fixed a problem with levelchange: now the gameloader iterates through the levels

File:
1 edited

Legend:

Unmodified
Added
Removed
  • orxonox/branches/ll2trunktemp/src/story_entities/campaign.cc

    r3989 r3994  
    3737Campaign::Campaign ( TiXmlElement* root)
    3838{
    39         TiXmlElement* element;
    40         const char* string;
    41         int id;
    42        
    43         PRINTF0("Loading Campaign...\n");
    44        
    45         assert( root != NULL);
    46         GameLoader* loader = GameLoader::getInstance();
    47        
     39  TiXmlElement* element;
     40  const char* string;
     41  int id;
     42 
     43  PRINTF0("Loading Campaign...\n");
     44 
     45  assert( root != NULL);
     46  GameLoader* loader = GameLoader::getInstance();
     47 
    4848  this->entities = new tList<StoryEntity>();
    4949  this->isInit = false;
    5050 
    5151  // grab all the necessary parameters
    52         string = grabParameter( root, "identifier");
    53         if( string == NULL || sscanf(string, "%d", &id) != 1)
    54         {
    55                 PRINTF0("Campaign is missing a proper 'identifier'\n");
    56                 this->setStoryID( -1);
    57         }
    58         else this->setStoryID( id);
     52  string = grabParameter( root, "identifier");
     53  if( string == NULL || sscanf(string, "%d", &id) != 1)
     54    {
     55      PRINTF0("Campaign is missing a proper 'identifier'\n");
     56      this->setStoryID( -1);
     57    }
     58  else this->setStoryID( id);
    5959 
    6060  // find WorldList
    6161  element = root->FirstChildElement( "WorldList");
    6262  if( element == NULL)
    63   {
    64                 PRINTF0("Campaign is missing a proper 'WorldList'\n");
    65   }
     63    {
     64      PRINTF0("Campaign is missing a proper 'WorldList'\n");
     65    }
    6666  else
    67         element = element->FirstChildElement();
     67    element = element->FirstChildElement();
    6868 
    6969  // load Worlds/Subcampaigns/Whatever
    7070  StoryEntity* lastCreated = NULL;
    71         while( element != NULL)
    72         {
    73                 StoryEntity* created = (StoryEntity*) loader->fabricate( element);
    74                 if( lastCreated != NULL) created->setNextStoryID( lastCreated->getStoryID());
    75                 if( created != NULL)
    76                 {
    77                         this->addEntity( created);     
    78                         lastCreated = created;
    79                 }
    80                 element = element->NextSiblingElement();
    81         }
    82         if( lastCreated != NULL)        lastCreated->setStoryID( WORLD_ID_GAMEEND);
     71  while( element != NULL)
     72    {
     73      printf("Campaign: Constructor: adding a world\n");
     74      StoryEntity* created = (StoryEntity*) loader->fabricate( element);
     75      /*
     76      if( lastCreated != NULL)
     77        created->setNextStoryID( lastCreated->getStoryID());
     78      else
     79        created->setNextStoryID( WORLD_ID_GAMEEND);
     80      */
     81      if( created != NULL)
     82        {
     83          this->addEntity( created);   
     84          lastCreated = created;
     85        }
     86      element = element->NextSiblingElement();
     87    }
     88  //if( lastCreated != NULL)
     89  //lastCreated->setStoryID( WORLD_ID_GAMEEND);
    8390}
    8491
Note: See TracChangeset for help on using the changeset viewer.