Cascade.TouchEmitter.Update C# (CSharp) Метод

Update() публичный Метод

public Update ( ) : void
Результат void
        public override void Update()
        {
            
            if (Touch != null)
            {
                
                bool hold = (Touch.Position - Pos.ToVector2()).Length() < 1;
                //Global.Output += Pos + ", " + Touch.Position;
                Pos = Touch.Position.ToVector3();
                if (Touch.State == TouchState.Moved)
                {
                    if (Touch.Timer < 10)
                    {
                        Speed = SpeedRange = Vector3.Zero;
                        Emit = false;
                    }
                    else if (Touch.Holding)
                    {
                        //SpeedRange = new Vector3(new Vector2(25), 0);
                        Speed = SpeedRange = Vector3.Zero;
                        Emit = true;
                    }
                    else
                    {
                        Speed = SpeedRange = Vector3.Zero;
                        Emit = true;
                    }
                }
                else if (Touch.State == TouchState.Touched)
                {
                    Speed = SpeedRange = Vector3.Zero;
                    //EmitParticle();
                }
                else
                {
                    Speed = SpeedRange = Vector3.Zero;
                    Emit = false;
                }
                
                if (Touch.State == TouchState.Released || Touch.State == TouchState.None)
                {
                    Speed = SpeedRange = Vector3.Zero;
                    Emit = false;
                    Touch = null;
                }
            }
            for (int i = 0; i < holdParticles.Length; i++)
            {
                var p = holdParticles[i];
                float betweenVal = MyMath.BetweenValue(0, holdParticles.Length - 1, i);
                p.Pos = Pos;
                if (Touch != null)
                {
                    p.Alpha += (0.3f - p.Alpha) * 0.8f * Global.Speed * MyMath.Between(1, 0.3f, betweenVal);
                }
                else
                {
                    p.Alpha += -p.Alpha * 0.1f * Global.Speed * MyMath.Between(1, 0.2f, betweenVal);
                }
            }

            base.Update();
        }
    }