Changeset 10531 in orxonox.OLD for trunk/src/world_entities/npcs
- Timestamp:
- Jan 31, 2007, 1:27:36 AM (18 years ago)
- Location:
- trunk/src/world_entities/npcs
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/world_entities/npcs/npc.cc
r10512 r10531 37 37 #include "track/track.h" 38 38 39 #include "particles/dot_emitter.h" 40 #include "particles/emitter_node.h" 41 #include "particles/sprite_particles.h" 39 42 40 43 #include "weapons/test_gun.h" … … 67 70 ->addMethod("setAI", Executor1<NPC, lua_State*, bool>(&NPC::setAI)) 68 71 ->addMethod("setVisibility", Executor1<WorldEntity, lua_State*, bool>(&WorldEntity::setVisibility)) 72 ->addMethod("destroy", Executor0<NPC, lua_State*/*, WorldEntity**/>(&NPC::destroy)) 69 73 ); 70 74 … … 243 247 } 244 248 249 void NPC::destroy( /*WorldEntity* killer*/ ) 250 { 251 252 PRINTF(5)("NPC destroy\n"); 253 254 EmitterNode* node = NULL; 255 DotEmitter* emitter = NULL; 256 SpriteParticles* explosionParticles = NULL; 257 258 explosionParticles = new SpriteParticles(200); 259 explosionParticles->setName("SpaceShipExplosionParticles"); 260 explosionParticles->setLifeSpan(.2, .3); 261 explosionParticles->setRadius(0.0, 10.0); 262 explosionParticles->setRadius(.5, 6.0); 263 explosionParticles->setRadius(1.0, 3.0); 264 explosionParticles->setColor(0.0, 1,1,1,.9); 265 explosionParticles->setColor(0.1, 1,1,0,.9); 266 explosionParticles->setColor(0.5, .8,.4,0,.5); 267 explosionParticles->setColor(1.0, .2,.2,.2,.5); 268 269 270 emitter = new DotEmitter( 2000, 70, 360); 271 //emitter->setSpread( 0, M_2_PI); 272 emitter->setEmissionRate( 200.0); 273 //emitter->setEmissionVelocity( 200.0); 274 //emitter->setSystem( explosionParticles); 275 //emitter->setAbsCoor( this->getAbsCoor()); 276 277 node = new EmitterNode( .1f); 278 node->setupParticle( emitter, explosionParticles); 279 node->setAbsDir( this->getAbsDir()); 280 node->setVelocity( this->getVelocity() * .9f); 281 node->setAbsCoor( this->getAbsCoor()); 282 if( !node->start()) 283 PRINTF(0)("Explosion node not correctly started!"); 284 /* 285 PNode* node = new PNode(); 286 node->setAbsCoor(this->getAbsCoor()); 287 Explosion* explosion = new Explosion(); 288 explosion->explode( node, Vector(5,5,5)); 289 */ 290 /* 291 if( this->hasPlayer()) 292 { 293 this->setAbsCoor(Vector(-10000,10000,10000)); 294 this->hide(); 295 } 296 else 297 {*/ 298 //this->setAbsCoor( this->getAbsCoor() + Vector(100,0,0) + Vector(1,0,0) * VECTOR_RAND(150).dot(Vector(1,0,0))); 299 //} 300 301 } 245 302 246 303 void NPC::setWeaponConfig(int i) -
trunk/src/world_entities/npcs/npc.h
r10512 r10531 35 35 void setAI(bool activate); 36 36 inline void enableAI(int flag) { this->bAIEnabled = (bool)flag; } 37 void destroy( /*WorldEntity* killer*/ ); 37 38 38 39 private:
Note: See TracChangeset
for help on using the changeset viewer.