예제 #1
0
 public static Particle createParticle(ParticleEnum particleType,Vector2 position, float size, Vector2 direction)
 {
     Particle particle = new Particle();
     particle.data.Position = position;
     particle.data.Scaling = size;
     particle.data.direction = direction;
     return createParticle(particle,particleType);
 }
예제 #2
0
        public void addParticle(string sourceObject, Particle particle)
        {
            //Verify if managerlist is null
            if (managerList == null)
                managerList = new Dictionary<string, List<Particle>>();
            //verify if the key entry already exist
            if (!managerList.Keys.Contains(sourceObject))
            {
                managerList.Add(sourceObject, new List<Particle>());
            }

            managerList[sourceObject].Add(getParticleType(particle));
        }
예제 #3
0
 public static void getDirection(Particle particle)
 {
     float posXToSet = particle.data.direction.X > 0 ? (float)-Util.getNextDouble() : (float)Util.getNextDouble();
     float posYToSet = particle.data.direction.Y > 0 ? (float)-Util.getNextDouble() : (float)Util.getNextDouble();
     particle.data.direction = new Vector2(posXToSet,posYToSet);
 }
예제 #4
0
 private static Particle getParticleType(Particle particle)
 {
     if (particle is Smoke)
     {
         Smoke smoke = particle as Smoke;
         smoke.init(null);
         return smoke;
     }
     if (particle is Explosion)
     {
         Explosion explosion = particle as Explosion;
         explosion.init(null);
         return explosion;
     }
     return null;
 }
예제 #5
0
 private static Particle createParticle(Particle particle,ParticleEnum particleType)
 {
     if (particleType == ParticleEnum.Smoke)
     {
         Smoke smoke = new Smoke(particle.data.Position, particle.data.Scaling, particle.data.direction);
         smoke.init(null);
         return smoke;
     }
     if (particleType == ParticleEnum.Explosion)
     {
         Explosion explosion = new Explosion(particle.data.Position,particle.data.Scaling,particle.data.direction);
         explosion.init(null);
         return explosion;
     }
     return null;
 }