Changeset 8554
- Timestamp:
- May 23, 2011, 11:26:08 PM (14 years ago)
- Location:
- code/branches/pickup
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/pickup/data/levels/includes/pickups.oxi
r8543 r8554 202 202 <PickupRepresentation 203 203 pickupName = "Drone Pickup" 204 pickupDescription = "Adds a Drone to the Player s Spaceship"204 pickupDescription = "Adds a Drone to the Player's Spaceship" 205 205 spawnerTemplate = "dronepickupRepresentation" 206 206 > … … 213 213 214 214 <PickupRepresentation 215 pickupName = "S hrink Pickup"216 pickupDescription = " Adds a Drone to the Players Spaceship"215 pickupName = "Small Shrink" 216 pickupDescription = "Shrinks the Ship by a bit" 217 217 spawnerTemplate = "smallshrinkpickupRepresentation" 218 218 > … … 222 222 </PickupRepresentation> 223 223 224 <PickupRepresentation 225 pickupName = "Medium Shrink" 226 pickupDescription = "Shrinks the Ship" 227 spawnerTemplate = "mediumshrinkpickupRepresentation" 228 > 229 <pickup> 230 <ShrinkPickup template=mediumshrinkpickup /> 231 </pickup> 232 </PickupRepresentation> 233 234 <PickupRepresentation 235 pickupName = "Huge Shrink" 236 pickupDescription = "Shrinks the Ship considerably" 237 spawnerTemplate = "hugeshrinkpickupRepresentation" 238 > 239 <pickup> 240 <ShrinkPickup template=hugeshrinkpickup /> 241 </pickup> 242 </PickupRepresentation> 243 -
code/branches/pickup/data/levels/pickups.oxw
r8543 r8554 190 190 </PickupSpawner> 191 191 192 <PickupSpawner position="- 30,-30,-30" respawnTime="60" triggerDistance="20" maxSpawnedItems="5">192 <PickupSpawner position="-25,-50,-125" respawnTime="60" triggerDistance="20" maxSpawnedItems="5"> 193 193 <pickup> 194 194 <ShrinkPickup template ="smallshrinkpickup"/> 195 195 </pickup> 196 196 </PickupSpawner> 197 198 <PickupSpawner position="0,-50,-125" respawnTime="60" triggerDistance="20" maxSpawnedItems="5"> 199 <pickup> 200 <ShrinkPickup template ="mediumshrinkpickup"/> 201 </pickup> 202 </PickupSpawner> 203 204 <PickupSpawner position="25,-50,-125" respawnTime="60" triggerDistance="20" maxSpawnedItems="5"> 205 <pickup> 206 <ShrinkPickup template ="hugeshrinkpickup"/> 207 </pickup> 208 </PickupSpawner> 209 210 <!--StaticEntity position="0,-200,0" direction="0,-1,0" collisionType=static mass=500 friction=0.01 > 211 <attached> 212 <Model position="0,0,0" mesh="cube.mesh" scale3D="10,10,10" /> 213 </attached> 214 <collisionShapes> 215 <BoxCollisionShape position="0,0,0" halfExtents="10,10,10" /> 216 </collisionShapes> 217 </StaticEntity--> 197 218 198 219 </Scene> -
code/branches/pickup/data/levels/templates/pickupRepresentationTemplates.oxt
r8543 r8554 403 403 <Billboard position="0,0,0" colour="1.0,0.55,1.0" material="Sphere2" scale=0.1> 404 404 <attached> 405 <Billboard position="0,0,0" colour="1.0,0.55,1.0" material="Shrink" scale=0. 9/>405 <Billboard position="0,0,0" colour="1.0,0.55,1.0" material="Shrink" scale=0.4 /> 406 406 </attached> 407 407 </Billboard> … … 414 414 <Template name=smallshrinkpickup> 415 415 <InvisiblePickup 416 duration = 20.0 416 duration = 10.0 417 shrinkFactor = 2.5 417 418 activaionType = "immediate" 418 419 durationType = "continuous" … … 425 426 <StaticEntity> 426 427 <attached> 427 <Billboard position="0,0,0" colour="1.0,0.55,1.0" material="Sphere2" scale=0. 2>428 <attached> 429 <Billboard position="0,0,0" colour="1.0,0.55,1.0" material="Shrink" scale= 2.0/>428 <Billboard position="0,0,0" colour="1.0,0.55,1.0" material="Sphere2" scale=0.1> 429 <attached> 430 <Billboard position="0,0,0" colour="1.0,0.55,1.0" material="Shrink" scale=0.7 /> 430 431 </attached> 431 432 </Billboard> … … 438 439 <Template name=mediumshrinkpickup> 439 440 <InvisiblePickup 440 duration = 20.0 441 duration = 30.0 442 shrinkFactor = 5.0 441 443 activaionType = "immediate" 442 444 durationType = "continuous" … … 449 451 <StaticEntity> 450 452 <attached> 451 <Billboard position="0,0,0" colour="1.0,0.55,1.0" material="Sphere2" scale=0. 3>452 <attached> 453 <Billboard position="0,0,0" colour="1.0,0.55,1.0" material="Shrink" scale= 3.0 />453 <Billboard position="0,0,0" colour="1.0,0.55,1.0" material="Sphere2" scale=0.1> 454 <attached> 455 <Billboard position="0,0,0" colour="1.0,0.55,1.0" material="Shrink" scale=1.0 /> 454 456 </attached> 455 457 </Billboard> … … 462 464 <Template name=hugeshrinkpickup> 463 465 <InvisiblePickup 464 duration = 20.0 466 duration = 60.0 467 shrinkFactor = 10.0 465 468 activaionType = "immediate" 466 469 durationType = "continuous" -
code/branches/pickup/src/libraries/util/SubString.h
r7401 r8554 169 169 /// Returns the number of tokens stored in this SubString 170 170 inline unsigned int size() const { return this->tokens_.size(); } 171 /// Returns the i'th token from the subset of strings @param index The index of the requested doken171 /// Returns the i'th token from the subset of strings @param index The index of the requested token 172 172 inline const std::string& operator[](unsigned int index) const { return this->tokens_[index]; } 173 173 /// Returns the i'th token from the subset of strings @param index The index of the requested token -
code/branches/pickup/src/modules/objects/collisionshapes/BoxCollisionShape.h
r8422 r8554 51 51 Reto Grieder 52 52 53 @see btBoxShape 53 54 @ingroup Collisionshapes 54 55 */ -
code/branches/pickup/src/modules/objects/collisionshapes/ConeCollisionShape.h
r8422 r8554 49 49 Reto Grieder 50 50 51 @ingroup Collisionshapes. 51 @see btConeShape 52 @ingroup Collisionshapes 52 53 */ 53 54 class _ObjectsExport ConeCollisionShape : public CollisionShape -
code/branches/pickup/src/modules/objects/collisionshapes/PlaneCollisionShape.h
r8422 r8554 51 51 Martin Stypinski 52 52 53 @see btStaticPlaneShape 53 54 @ingroup Collisionshapes 54 55 */ -
code/branches/pickup/src/modules/objects/collisionshapes/SphereCollisionShape.h
r8422 r8554 49 49 Reto Grieder 50 50 51 @see btSphereShape 51 52 @ingroup Collisionshapes 52 53 */ -
code/branches/pickup/src/modules/pickup/PickupPrereqs.h
r8255 r8554 82 82 class SpeedPickup; 83 83 class ShieldPickup; 84 84 class ShrinkPickup; 85 85 86 86 } -
code/branches/pickup/src/modules/pickup/items/ShrinkPickup.cc
r8535 r8554 51 51 CreateFactory(ShrinkPickup); 52 52 53 53 /** 54 54 @brief 55 55 Constructor: Initializes the Pickup. … … 60 60 61 61 this->initialize(); 62 this->shrinkFactor_ = 5.0; 63 this->shrinkSpeed_ = 5.0; 64 this->duration_ = 5.0; 62 65 isActive_ = false; 63 66 isTerminating_ = false; … … 92 95 /** 93 96 @brief 94 Method for creating a HealthPickup object through XML.97 Method for creating a ShrinkhPickup object through XML. 95 98 */ 96 99 void ShrinkPickup::XMLPort(Element& xmlelement, orxonox::XMLPort::Mode mode) … … 143 146 } 144 147 145 148 /** 146 149 @brief 147 150 Prepares for shrinking (collecting several informations). … … 153 156 if(this->isUsed()) 154 157 { 155 this->pawn = this->carrierToPawnHelper();156 if(pawn == NULL) // If the PickupCarrier is no Pawn, then this pickup is useless and therefore is destroyed.158 this->pawn_ = this->carrierToPawnHelper(); 159 if(pawn_ == NULL) // If the PickupCarrier is no Pawn, then this pickup is useless and therefore is destroyed. 157 160 this->Pickupable::destroy(); 158 161 159 162 //Collect scaling information. 160 defaultScale_ = this->pawn ->getScale3D();161 defaultMass_ = this->pawn ->getMass();163 defaultScale_ = this->pawn_->getScale3D(); 164 defaultMass_ = this->pawn_->getMass(); 162 165 163 166 smallScale_ = defaultScale_ / shrinkFactor_; … … 167 170 actualMass_ = defaultMass_; 168 171 169 cameraPositions_ = this->pawn ->getCameraPositions();172 cameraPositions_ = this->pawn_->getCameraPositions(); 170 173 size_ = cameraPositions_.size(); 171 174 isActive_ = true; //start shrinking now. 172 durationTimer .setTimer(duration_, false, createExecutor(createFunctor(&ShrinkPickup::terminate, this))); //Set timer for termination.175 durationTimer_.setTimer(duration_, false, createExecutor(createFunctor(&ShrinkPickup::terminate, this))); //Set timer for termination. 173 176 } 174 177 } 175 178 176 179 /** 177 180 @brief 178 181 Updates the scales of the ship. … … 189 192 actualMass_ /= factor_; 190 193 191 this->pawn ->setScale3D(actualScale_);192 this->pawn ->setMass(actualMass_);194 this->pawn_->setScale3D(actualScale_); 195 this->pawn_->setMass(actualMass_); 193 196 194 197 for(int index = 0; index < size_; index++) 195 198 { 196 CameraPosition* cameraPos_ = this->pawn ->getCameraPosition(index);199 CameraPosition* cameraPos_ = this->pawn_->getCameraPosition(index); 197 200 if(cameraPos_ == NULL) 198 201 continue; … … 209 212 actualMass_ *= factor_; 210 213 211 this->pawn ->setScale3D(actualScale_);212 this->pawn ->setMass(actualMass_);214 this->pawn_->setScale3D(actualScale_); 215 this->pawn_->setMass(actualMass_); 213 216 214 217 for(int index = 0; index < size_; index++) 215 218 { 216 CameraPosition* cameraPos_ = this->pawn ->getCameraPosition(index);219 CameraPosition* cameraPos_ = this->pawn_->getCameraPosition(index); 217 220 if(cameraPos_ == NULL) 218 221 continue; … … 225 228 } 226 229 227 230 /** 228 231 @brief 229 232 Initializes the termination. … … 244 247 } 245 248 246 249 /** 247 250 @brief 248 251 Creates a duplicate of the input OrxonoxClass. -
code/branches/pickup/src/modules/pickup/items/ShrinkPickup.h
r8536 r8554 48 48 49 49 /** 50 50 @author 51 51 Sandro Sgier 52 52 … … 101 101 private: 102 102 void initialize(void); 103 float duration_; 103 float duration_; //!< determines how long the pickup will be active 104 104 float shrinkFactor_; //shrink factor of the space ship 105 105 float shrinkSpeed_; //speed of shrinking … … 114 114 float defaultMass_; 115 115 float actualMass_; 116 float smallMass_; 116 float smallMass_; 117 117 Pawn* carrierToPawnHelper(void); 118 Pawn* pawn ;119 Timer durationTimer ;118 Pawn* pawn_; 119 Timer durationTimer_; 120 120 void terminate(void); 121 121 }; -
code/branches/pickup/src/orxonox/collisionshapes/CompoundCollisionShape.cc
r8422 r8554 261 261 CollisionShape::changedScale(); 262 262 263 // Iterate through all attached CollisionShapes. 263 std::vector<CollisionShape*> shapes; 264 // Iterate through all attached CollisionShapes and add them to the list of shapes. 265 for(std::map<CollisionShape*, btCollisionShape*>::iterator it = this->attachedShapes_.begin(); it != this->attachedShapes_.end(); it++) 266 shapes.push_back(it->first); 267 268 // Delete the compound shape and create a new one. 269 delete this->compoundShape_; 270 this->compoundShape_ = new btCompoundShape(); 271 272 // Re-attach all CollisionShapes. 273 for(std::vector<CollisionShape*>::iterator it = shapes.begin(); it != shapes.end(); it++) 274 { 275 CollisionShape* shape = *it; 276 shape->setScale3D(this->getScale3D()); 277 // Only actually attach if we didn't pick a CompoundCollisionShape with no content. 278 if (shape->getCollisionShape()) 279 { 280 btTransform transf(multi_cast<btQuaternion>(shape->getOrientation()), multi_cast<btVector3>(shape->getPosition())); 281 // Add the btCollisionShape of the CollisionShape as a child shape to the btCompoundShape of the CompoundCollisionShape. 282 this->compoundShape_->addChildShape(transf, shape->getCollisionShape()); 283 } 284 } 285 286 this->updatePublicShape(); 287 288 /* 289 // Iterate through all attached CollisionShapes 264 290 for(std::map<CollisionShape*, btCollisionShape*>::const_iterator it = this->attachedShapes_.begin(); it != this->attachedShapes_.end(); it++) 265 291 { … … 269 295 } 270 296 271 this->updatePublicShape(); 297 this->updatePublicShape();*/ 272 298 } 273 299 } -
code/branches/pickup/src/orxonox/collisionshapes/CompoundCollisionShape.h
r8422 r8554 52 52 Reto Grieder 53 53 54 @see btCompoundShape 54 55 @ingroup Collisionshapes 55 56 */ -
code/branches/pickup/src/orxonox/worldentities/WorldEntity.cc
r8422 r8554 643 643 { 644 644 // If physics is enabled scale the attached CollisionShape. 645 if (false &&this->hasPhysics() && this->collisionShape_ != NULL)645 /*if (this->hasPhysics() && this->collisionShape_ != NULL) 646 646 { 647 647 this->collisionShape_->setScale3D(scale); 648 } 648 }*/ 649 649 650 650 this->node_->setScale(scale);
Note: See TracChangeset
for help on using the changeset viewer.