Changeset 10157 for code/branches/storymodeHS14/src/orxonox
- Timestamp:
- Dec 5, 2014, 3:10:42 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/storymodeHS14/src/orxonox/gametypes/Mission.cc
r9986 r10157 36 36 #include "network/Host.h" 37 37 #include "worldentities/pawns/Pawn.h" 38 38 #include <iostream> 39 #include <fstream> 40 #include <string> 41 #include <ios> 39 42 40 43 namespace orxonox … … 78 81 void Mission::start() 79 82 { 83 std::fstream myfile; 84 myfile.open("/home/pmao/pmao-extra-0/orxonox/storymodeHS14/data/gui/scripts/campaign.txt"); 85 std::string line; 86 std::string mission=this->getFilename(); 87 int k=58-mission.length(); 88 std::string helperstring = ""; 89 if(myfile.is_open()){ 90 while (k>1) { 91 helperstring=helperstring+" "; 92 k=k-1; 93 } 94 helperstring=helperstring+"."; 95 while(getline (myfile,line)){ 96 if(line==mission+" 0"+helperstring){ 97 long pos = myfile.tellp(); 98 myfile.seekp (pos-61); 99 myfile << mission+" 1"+helperstring; 100 } 101 }} 102 else{ 103 this->end(); 104 } 105 myfile.flush(); 106 myfile.clear(); 107 myfile.close(); 80 108 Gametype::start(); 81 109 this->setTeams(); … … 84 112 } 85 113 114 std::string GenerateHelperString(int number){ 115 std::string helperstring = ""; 116 while (number>1) { 117 helperstring=helperstring+" "; 118 number=number-1; 119 } 120 helperstring=helperstring+"."; 121 return helperstring; 122 } 123 86 124 void Mission::end() 87 125 { 88 if (this->missionAccomplished_ && !this->gtinfo_->hasEnded()) 126 127 if (this->missionAccomplished_ && !this->gtinfo_->hasEnded()){ 89 128 this->gtinfo_->sendAnnounceMessage("Mission accomplished!"); 129 std::fstream myfile; 130 myfile.open("/home/pmao/pmao-extra-0/orxonox/storymodeHS14/data/gui/scripts/campaign.txt"); 131 std::string line; 132 std::string mission=this->getFilename(); 133 int k=58-mission.length(); 134 std::string helperstring = ""; 135 if(myfile.is_open()){ 136 while (k>1) { 137 helperstring=helperstring+" "; 138 k=k-1; 139 } 140 helperstring=helperstring+"."; 141 while(getline (myfile,line)){ 142 if(line==mission+" 0"+helperstring){ 143 long pos = myfile.tellp(); 144 myfile.seekp (pos-61); 145 myfile << mission+" 1"+helperstring; 146 } 147 }} 148 myfile.flush(); 149 myfile.clear(); 150 myfile.close(); 151 } 152 90 153 else if (!this->gtinfo_->hasEnded()) 91 154 this->gtinfo_->sendAnnounceMessage("Mission failed!"); … … 106 169 for (ObjectList<Mission>::iterator it = ObjectList<Mission>::begin(); it != ObjectList<Mission>::end(); ++it) 107 170 {//TODO: make sure that only the desired mission is ended !! This is a dirty HACK, that would end ALL missions! 108 it->setMissionAccomplished(accomplished); 171 if(accomplished){ 172 std::fstream myfile; 173 myfile.open("/home/pmao/pmao-extra-0/orxonox/storymodeHS14/data/gui/scripts/campaign.txt"); 174 std::string line; 175 std::string mission=it->getFilename(); 176 int k=58-mission.length(); 177 std::string helperstring = ""; 178 if(myfile.is_open()){ 179 while (k>1) { 180 helperstring=helperstring+" "; 181 k=k-1; 182 } 183 helperstring=helperstring+"."; 184 while(getline (myfile,line)){ 185 if(line==mission+" 0"+helperstring){ 186 long pos = myfile.tellp(); 187 myfile.seekp (pos-61); 188 myfile << mission+" 1"+helperstring; 189 } 190 } 191 } 192 myfile.flush(); 193 myfile.clear(); 194 myfile.close(); 195 } 196 it->setMissionAccomplished(accomplished); 109 197 it->end(); 110 } 111 } 112 198 199 } 200 } 201 113 202 void Mission::setLivesWrapper(unsigned int amount) 114 203 {
Note: See TracChangeset
for help on using the changeset viewer.