예제 #1
0
 public Particle(ParticleManager Manager, Vector3 pos)
 {
     Behaviors = new List<Cascade.Behaviors.ParticleBehavior>();
     Pos = pos;
     manager = Manager;
     manager.Add(this);
 }
예제 #2
0
 public GradientEllipse(ParticleManager man, Vector3 pos, int accuracy)
     : base(man, pos, accuracy)
 {
     for (int i = 0; i < Vertices.Length; i+= 3)
     {
         Vertices[i].Color = Color.Transparent;
     }
 }
예제 #3
0
 public static void init()
 {
     Touches = new List<TouchPoint>();
     Effect = new VertexEffect();
     SpriteEffect = new SpriteShader();
     Output = new OutputString("\n");
     ParticleManager = new ParticleManager();
     Camera = new Camera();
     controls = new Controls();
 }
예제 #4
0
 public Ellipse(ParticleManager m, Vector3 p, int accuracy)
     :base(m, p)
 {
     Vertices = new CascadeVertex[accuracy * 3];
     PrimitiveCount = accuracy;
     int o = 0;
     for (float i = 0; i < 360; i += 360f / (float)accuracy)
     {
         Vertices[o] = new CascadeVertex(Vector3.Zero,Color.White);
         Vertices[o + 1] = new CascadeVertex(new Vector3(MyMath.LengthDirX(50, i), MyMath.LengthDirY(50, i), 0), Color.White);
         Vertices[o + 2] = new CascadeVertex(new Vector3(MyMath.LengthDirX(50, i + (360f / accuracy)), MyMath.LengthDirY(50, i + (360f / accuracy)), 0), Color.White);
         o += 3;
     }
 }
예제 #5
0
 public TouchEmitter(ParticleManager man, Vector3 p)
     : base(man, p)
 {
     Emit = false;
     holdParticles = new Particle[6];
     for (int i = 0; i < holdParticles.Length; i++)
     {
         float betweenVal = MyMath.BetweenValue(0, holdParticles.Length, i);
         var part = new GradientEllipse(man, Vector3.Zero, 24)
         {
             Color = new Color(200, 235, 255),
             Scale = new Vector2(MyMath.Between(0.1f, 1f, betweenVal)),
             //Alpha = MyMath.BetweenValue(0.4f, 1, (float)Math.Pow(1 - betweenVal, 0.5f))
             Alpha = 0.25f
         };
         Behaviors.ParticleBehavior be = new Behaviors.Pulsate(part.Scale * 0.9f, part.Scale * 1.1f, betweenVal * 1.1f, 0.03f);
         part.Behaviors.Add(be);
         holdParticles[i] = part;
     }
 }
예제 #6
0
        public TriangleEmitter(ParticleManager m, Vector3 p)
            : base(m, p)
        {

        }
예제 #7
0
        public CircleEmitter(ParticleManager man, Vector3 p)
            : base(man, p)
        {

        }
예제 #8
0
 public ParticleEmitter(ParticleManager man, Vector3 pos)
 {
     Pos = pos;
     manager = man;
     man.Add(this);
 }