public override void Processes(Partical input, float dt)
        {
            float amount = input.LifeTime / (input.Age + input.LifeTime);

            amount       = 1 - amount; //get invers
            input.Colour = Color.Lerp(InitialColor, EndColor, amount);
        }
Esempio n. 2
0
        public override void Processes(Partical input, float dt)
        {
            float amount = input.LifeTime / (input.Age + input.LifeTime);

            amount     = 1 - amount; //get invers
            input.Fade = (EndFade - InitialFade) * amount + InitialFade;
        }
Esempio n. 3
0
        public Algorithm(int change = 20, int particle = 20, int dim = 2, int bottom = -100, int up = 100)
        {
            Globle.MAX_CHANGE = change;
            Globle.MAX_DIM = dim;
            Globle.MAX_PARTICLE = particle;
            Globle.GlobleBestFitness = 0;
            Globle.Up = up;
            Globle.Bottom = bottom;
            Globle.Lines = new List<Polyline>(Globle.MAX_PARTICLE);
            Globle.GlobleBestPostion = new List<double>(Globle.MAX_DIM);
            //Globle.partical = new List<Partical>(Globle.MAX_PARTICLE);
            this.partical = new List<Partical>(Globle.MAX_PARTICLE);
            this.CurrentTime = 0;
            Globle.MaxSpeed = new List<double>(Globle.MAX_DIM);
            Globle.MaxPostion = new List<double>(Globle.MAX_DIM);

            for (int i = 0; i < Globle.MAX_DIM; i++)
            {
                Random ra = new Random();

                Globle.MaxPostion.Add(up);
                Globle.MaxSpeed.Add(up / (1.5));
                Globle.GlobleBestPostion.Add(ra.Next(bottom,up));
            }

            Globle.GlobleBestFitness = Globle.GlobleBestPostion[0] + Globle.GlobleBestPostion[1];

            for (int i = 0; i < Globle.MAX_PARTICLE; i++)
            {
                Partical newPartical = new Partical(Globle.MAX_DIM, bottom, up);

                //Globle.partical.Add(newPartical);
                this.partical.Add(newPartical);
            }
        }
Esempio n. 4
0
        public override void Processes(Partical input, float dt)
        {
            float amount = input.LifeTime / (input.Age + input.LifeTime);

            amount       = 1 - amount; //get invers
            input.Colour = BasicMath.Lerp3(InitialColor, MiddleColour, MiddleColourPosition, EndColour, amount);
        }
Esempio n. 5
0
 public override void Processes(Partical input, float dt)
 {
     if (KillCheck == KillDirectoin.All)
     {
         if (!LiveArea.Contains(input.Position))
         {
             input.LifeTime = 0;
         }
     }
     else
     if (KillCheck == KillDirectoin.Left)
     {
         if (input.Position.X < LiveArea.X)
         {
             input.LifeTime = 0;
         }
     }
     else
     if (KillCheck == KillDirectoin.Right)
     {
         if (input.Position.X > LiveArea.X)
         {
             input.LifeTime = 0;
         }
     }
 }
Esempio n. 6
0
        protected override void TriggerParticals(Vector2 pos, int amount)
        {
            for (int i = 0; i < amount; i++)
            {
                Partical p = GenerateParticalProperties(
                    Vector2.Transform(new Vector2(_random.Next(0, (int)Radius), 0),
                                      Matrix.CreateRotationZ((float)_random.NextDouble() * MathHelper.TwoPi)));
                switch (Function)
                {
                case EmmiterFunction.Explosive:
                    p.Velocity = p.Position;
                    p.Velocity.Normalize();
                    p.Velocity *= ParticalSpeed.GetValue();
                    break;

                case EmmiterFunction.Implosive:
                    p.Velocity = -p.Position;
                    p.Velocity.Normalize();
                    p.Velocity *= ParticalSpeed.GetValue();
                    break;
                }
                p.Position = p.Position + pos;
                Particals.Add(p);
            }
        }
        public override void Processes(Partical input, float dt)
        {
            float amount = input.LifeTime / (input.Age + input.LifeTime);

            amount = 1 - amount; //get invers

            input.Fade = BasicMath.Lerp3(InitialFade, MiddleStateFade, MiddleLifeTime, EndFade, amount);
        }
Esempio n. 8
0
        public override void Processes(Partical input, float dt)
        {
            float amount = input.LifeTime / (input.Age + input.LifeTime);
            float end    = input.InititalScale * EndScale;

            amount = 1 - amount; //get invers

            input.Scale = MathHelper.Lerp(input.InititalScale, end, amount);
        }
Esempio n. 9
0
        public static double Function(Partical partical)
        {
            double ans = 0;

            for (int i = 0; i < partical.MAX_DIM; i++)
            {
                ans += partical.Position[i];
            }

            return ans;
        }
Esempio n. 10
0
        public override void Processes(Partical input, float dt)
        {
            if (DampenVelocity)
            {
                input.Velocity *= _dampaningMultiplyer;
            }

            if (DampenAngulorVelocity)
            {
                input.AngulorRotation *= _angulorDampaningMultiplyer;
            }
        }
Esempio n. 11
0
 // Use this for initialization
 void Start()
 {
     instance = this;
 }
Esempio n. 12
0
 public override void Processes(Partical input, float dt)
 {
     input.Velocity += Gravity * dt;
 }
 public override void Processes(Partical input, float dt)
 {
     input.Position.Y = input.Position.Y + (Amount * dt * (float)Math.Cos(input.LifeTime * Speed));
     input.Position.X = input.Position.X + (Amount * dt * (float)Math.Sin(input.LifeTime * Speed));
 }
 public override void Processes(Partical input, float dt)
 {
     input.AngulorRotation = (Amount * dt * (float)Math.Sin(input.LifeTime * Speed));
 }
Esempio n. 15
0
 public abstract void Processes(Partical input, float dt);