Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Dec 16, 2006, 2:12:41 AM (17 years ago)
Author:
marcscha
Message:

Some surprises for comming wednesday

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/playability/src/world_entities/projectiles/swarm_projectile.cc

    r10080 r10081  
    2424#include "particles/sprite_particles.h"
    2525#include "space_ships/space_ship.h"
     26#include "effects/trail.h"
    2627
    2728#include "debug.h"
     
    5758
    5859  this->physDamage = 200;
     60
     61  this->trail = new Trail(2.5,4,.2);
     62  this->trail->setParent( this);
     63  this->trail->setTexture( "maps/laser.png");
    5964}
    6065
     
    6671{
    6772
    68 
    69   /* this is normaly done by World.cc by deleting the ParticleEngine */
    70   if (SwarmProjectile::trailParticles != NULL && SwarmProjectile::objectList().size() <= 1)
    71   {
    72     if (ParticleSystem::objectList().exists(SwarmProjectile::trailParticles))
    73       delete SwarmProjectile::trailParticles;
    74     SwarmProjectile::trailParticles = NULL;
    75   }
    7673  if (SwarmProjectile::explosionParticles != NULL && SwarmProjectile::objectList().size() <= 1)
    7774  {
     
    8077    SwarmProjectile::explosionParticles = NULL;
    8178  }
    82   delete this->emitter;
    83 }
    84 
    85 SpriteParticles* SwarmProjectile::trailParticles = NULL;
     79  // delete this->emitter;
     80  delete this->trail;
     81}
     82
    8683SpriteParticles* SwarmProjectile::explosionParticles = NULL;
    8784
     
    9087void SwarmProjectile::activate()
    9188{
    92   if (unlikely(SwarmProjectile::trailParticles == NULL))
    93   {
    94     SwarmProjectile::trailParticles = new SpriteParticles(2000);
    95     SwarmProjectile::trailParticles->setName("SwarmProjectileTrailParticles");
    96     SwarmProjectile::trailParticles->setMaterialTexture("maps/radial-trans-noise.png");
    97     SwarmProjectile::trailParticles->setLifeSpan(.3, 0);
    98     SwarmProjectile::trailParticles->setRadius(0.0, .7);
    99     SwarmProjectile::trailParticles->setRadius(0.2, 1.3);
    100     SwarmProjectile::trailParticles->setRadius(.5, .8);
    101     SwarmProjectile::trailParticles->setRadius(1.0, 0.3);
    102     SwarmProjectile::trailParticles->setColor(0.0, 1,0,0,.7);
    103     SwarmProjectile::trailParticles->setColor(0.2, .8,.8,0,.5);
    104     SwarmProjectile::trailParticles->setColor(0.5, .8,.8,.8,.8);
    105     SwarmProjectile::trailParticles->setColor(1.0, .8,.8,.8,.0);
    106   }
    10789  if (unlikely(SwarmProjectile::explosionParticles == NULL))
    10890  {
     
    120102  }
    121103
    122   this->emitter->setSystem(SwarmProjectile::trailParticles);
    123104
    124105  this->updateNode(0);
     
    253234
    254235  this->updateAngle(time);
     236
     237  this->trail->tick(time);
    255238}
    256239
     
    291274  //glScalef(2.0, 2.0, 2.0);  // no double rescale
    292275  this->getModel()->draw();
    293 
     276  glTranslatef(-.9,0,0);
     277  this->trail->draw();
    294278  glPopMatrix();
    295 
    296 }
     279}
Note: See TracChangeset for help on using the changeset viewer.