- Timestamp:
- Sep 17, 2015, 3:32:50 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/towerdefenseFabien/src/modules/towerdefense/TowerDefenseField.cc
r10586 r10591 53 53 center_ = NULL; 54 54 upgrade_ = 0; 55 setPosition(0,0,0); 56 model_ = new Model(getContext()); 57 model_->setScale(25); 58 model_->pitch(Degree(90)); 59 attach(model_); 60 setAngle(0); 55 setPosition(0,0,0); 56 modelGround_ = new Model(getContext()); 57 modelGround_->setScale(25); 58 modelGround_->pitch(Degree(90)); 59 attach(modelGround_); 60 modelObject_ = new Model(getContext()); 61 modelObject_->setScale(25); 62 modelObject_->pitch(Degree(90)); 63 attach(modelObject_); 64 setAngle(0); 61 65 } 62 66 … … 125 129 void TowerDefenseField::setAngle(int newAngle) 126 130 { 127 if (model_ == NULL) 128 { 129 return; 130 } 131 132 switch (newAngle) 133 { 131 if (modelGround_ != NULL) 132 { 133 switch (newAngle) 134 { 134 135 case 0: 135 model _->yaw(Degree(0));136 modelGround_->yaw(Degree(0)); 136 137 angle_ = 0; 137 138 break; 138 139 case 1: 139 model _->yaw(Degree(90));140 modelGround_->yaw(Degree(90)); 140 141 angle_ = 1; 141 142 break; 142 143 case 2: 143 model _->yaw(Degree(180));144 modelGround_->yaw(Degree(180)); 144 145 angle_ = 2; 145 146 break; 146 147 case 3: 147 model _->yaw(Degree(270));148 modelGround_->yaw(Degree(270)); 148 149 angle_ = 3; 149 150 break; 150 } 151 } 152 } 153 154 if (modelObject_ != NULL) 155 { 156 switch (newAngle) 157 { 158 case 0: 159 modelObject_->yaw(Degree(0)); 160 angle_ = 0; 161 break; 162 case 1: 163 modelObject_->yaw(Degree(90)); 164 angle_ = 1; 165 break; 166 case 2: 167 modelObject_->yaw(Degree(180)); 168 angle_ = 2; 169 break; 170 case 3: 171 modelObject_->yaw(Degree(270)); 172 angle_ = 3; 173 break; 174 } 175 } 176 151 177 } 152 178 … … 158 184 void TowerDefenseField::createFree(int orientation) 159 185 { 160 model _->setMeshSource("TD_F1.mesh");186 modelGround_->setMeshSource("TD_F1.mesh"); 161 187 tower_ = NULL; 162 188 type_ = FREE; … … 167 193 void TowerDefenseField::createStart(int orientation) 168 194 { 169 model _->setMeshSource("TD_S5.mesh");195 modelGround_->setMeshSource("TD_S5.mesh"); 170 196 tower_ = NULL; 171 197 type_ = START; … … 177 203 void TowerDefenseField::createEnd(int orientation) 178 204 { 179 model _->setMeshSource("TD_S4.mesh");205 modelGround_->setMeshSource("TD_S4.mesh"); 180 206 tower_ = NULL; 181 207 type_ = END; … … 186 212 void TowerDefenseField::createStraight(int orientation) 187 213 { 188 model _->setMeshSource("TD_S1.mesh");214 modelGround_->setMeshSource("TD_S1.mesh"); 189 215 tower_ = NULL; 190 216 type_ = STREET; … … 195 221 void TowerDefenseField::createRCurve(int orientation) 196 222 { 197 model _->setMeshSource("TD_S2.mesh");223 modelGround_->setMeshSource("TD_S2.mesh"); 198 224 tower_ = NULL; 199 225 type_ = STREET; … … 204 230 void TowerDefenseField::createLCurve(int orientation) 205 231 { 206 model _->setMeshSource("TD_S3.mesh");232 modelGround_->setMeshSource("TD_S3.mesh"); 207 233 tower_ = NULL; 208 234 type_ = STREET; … … 210 236 setAngle(orientation); 211 237 } 238 239 void TowerDefenseField::createObstacle(int orientation) 240 { 241 modelGround_->setMeshSource("TD_F1.mesh"); 242 modelObject_->setMeshSource("TD_O1.mesh"); 243 tower_ = NULL; 244 type_ = OBSTACLE; 245 setUpgrade(0); 246 setAngle(orientation); 247 } 212 248 213 249 void TowerDefenseField::createTower(int upgrade) … … 215 251 if (tower_ == NULL) 216 252 { 253 modelGround_->setMeshSource("TD_F1.mesh"); 217 254 tower_ = new TowerDefenseTower(center_->getContext()); 218 255 attach(tower_); 219 256 type_ = TOWER; 220 257 setUpgrade(upgrade); 221 if (upgrade_ > 0 && model _ != NULL)258 if (upgrade_ > 0 && modelObject_ != NULL) 222 259 { 223 260 switch (upgrade_) 224 261 { 225 262 case 1: 226 model _->setMeshSource("TD_T1.mesh");263 modelObject_->setMeshSource("TD_T1.mesh"); 227 264 tower_->addTemplate(center_->getTower1Template()); 228 265 break; 229 266 case 2: 230 model _->setMeshSource("TD_T2.mesh");267 modelObject_->setMeshSource("TD_T2.mesh"); 231 268 tower_->addTemplate(center_->getTower2Template()); 232 269 break; 233 270 case 3: 234 model _->setMeshSource("TD_T3.mesh");271 modelObject_->setMeshSource("TD_T3.mesh"); 235 272 tower_->addTemplate(center_->getTower3Template()); 236 273 break; 237 274 case 4: 238 model _->setMeshSource("TD_T4.mesh");275 modelObject_->setMeshSource("TD_T4.mesh"); 239 276 tower_->addTemplate(center_->getTower4Template()); 240 277 break; 241 278 case 5: 242 model _->setMeshSource("TD_T5.mesh");279 modelObject_->setMeshSource("TD_T5.mesh"); 243 280 tower_->addTemplate(center_->getTower5Template()); 244 281 break; … … 279 316 case 'O': 280 317 createEnd(paramInt); 281 break; 318 break; 319 case 'Y': 320 createObstacle(paramInt); 321 break; 282 322 case 'T': 283 323 createTower(paramInt);
Note: See TracChangeset
for help on using the changeset viewer.