Changeset 11180 for code/branches/bindermFS16/src/orxonox
- Timestamp:
- May 10, 2016, 12:09:09 PM (9 years ago)
- Location:
- code/branches/bindermFS16/src/orxonox
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/bindermFS16/src/orxonox/LevelManager.cc
r11173 r11180 52 52 LevelStatus::LevelStatus() 53 53 { 54 this->won = true; 54 this->won = false; 55 this->nextLevels.insert(this->nextLevels.begin(),-1); 55 56 } 56 57 … … 58 59 {} 59 60 60 bool LevelManager::missionactivate(int index) 61 { 62 //check for index level activate... 63 return index-5; 64 } 65 66 void LevelManager::setLevelStatus(int completedLevel) 67 { 68 // allLevelStatus_[completedLevel]=new LevelStatus; 69 } 61 62 //check if index level is activated... 63 int LevelManager::missionactivate(int index) 64 { 65 return index+1; 66 67 68 if (allLevelStatus_[index].won) 69 return 1; 70 71 //check if level is activated 72 for(unsigned int i=1;i<allLevelStatus_.size();i++) 73 { 74 std::vector<int> nextLevels=allLevelStatus_[i].nextLevels; 75 bool won=allLevelStatus_[i].won; 76 if(nextLevels[index]==1&&won) 77 return 1; 78 }; 79 80 //check if level visible but not activated 81 for(unsigned int i=1;i<allLevelStatus_.size();i++) 82 { 83 std::vector<int> nextLevels=allLevelStatus_[i].nextLevels; 84 bool won=allLevelStatus_[i].won; 85 if(nextLevels[index]==2&&won) 86 return 2; 87 }; 88 return false; 89 } 90 91 //updates the won variable of the corresponding LevelStatus in allLevelStatus_ 92 void LevelManager::setLevelStatus(const int completedLevel) 93 { 94 allLevelStatus_[completedLevel].won=true; 95 } 96 97 //build up allLevelStatus 98 //has to be done once per game (not per level) 99 //all connections between the levels are saved in here 100 void LevelManager::buildallLevelStatus() 101 { 102 LevelStatus level; 103 allLevelStatus_.assign (10,level); 104 allLevelStatus_[1].won=true; 105 106 } 107 70 108 71 109 … … 97 135 this->nextLevel_ = this->availableLevels_.begin(); 98 136 99 allLevelStatus_.reserve(1);137 buildallLevelStatus(); 100 138 } 101 139 -
code/branches/bindermFS16/src/orxonox/LevelManager.h
r11173 r11180 58 58 virtual ~LevelStatus(); 59 59 60 61 private:62 60 bool won; 63 61 std::vector<int> nextLevels; … … 97 95 virtual ~LevelManager(); 98 96 99 void setLevelStatus(int integer); 97 void setLevelStatus(const int integer); 98 void buildallLevelStatus(); 100 99 101 100 … … 108 107 109 108 // tolua_begin 110 boolmissionactivate(int index);109 int missionactivate(int index); 111 110 void setDefaultLevel(const std::string& levelName); //!< Set the default Level. 112 111 /** … … 159 158 std::string lastFinishedCampaignMission_; 160 159 std::vector<std::string> campaignMissions_; 160 161 161 std::vector<LevelStatus> allLevelStatus_; 162 162 -
code/branches/bindermFS16/src/orxonox/gametypes/Mission.cc
r11173 r11180 92 92 93 93 LevelManager::getInstance().setLastFinishedCampaignMission(this->getFilename()); 94 //LevelManager::getInstance().setLevelStatus(7); 94 95 //gibt index von bestandenem level weiter 96 LevelManager::getInstance().setLevelStatus(7); 95 97 } 96 98 else if (!this->gtinfo_->hasEnded())
Note: See TracChangeset
for help on using the changeset viewer.