Changeset 11180
- Timestamp:
- May 10, 2016, 12:09:09 PM (9 years ago)
- Location:
- code/branches/bindermFS16
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/bindermFS16/data/gui/layouts/CampaignMenu.layout
r11173 r11180 13 13 <Property Name="Visible" Value="False"/> 14 14 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 15 <Property Name="UnifiedAreaRect" Value="{{0.35,0},{0.1,0},{0.65,0},{0.15,0}}" /> 16 <Property Name="Disabled" Value="False" /> 15 <Property Name="UnifiedAreaRect" Value="{{0.01,0},{0.01,0},{0.3,0},{0.06,0}}" /> 17 16 <Event Name="Clicked" Function="CampaignMenu.Mission1Button_clicked"/> 18 17 </Window> -
code/branches/bindermFS16/data/gui/scripts/CampaignMenu.lua
r11173 r11180 26 26 27 27 function P.updateButton(index, button) 28 if (orxonox.LevelManager:getInstance():missionactivate(index)) then 28 local test =orxonox.LevelManager:getInstance():missionactivate(index) 29 if (test==1) then 29 30 button:setProperty("Visible", "True") 30 31 button:setProperty("Disabled", "False") 32 elseif (test==2) then 33 button:setProperty("Visible", "True") 34 button:setProperty("Disabled", "True") 31 35 else 36 button:setProperty("Visible", "False") 32 37 button:setProperty("Disabled", "True") 33 38 end -
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.