Esempio n. 1
0
        public override void Update(float time_elapsed)
        {
            HashTagLifeGoal?.Process();

            Vector2D steeringForce = SteeringBehaviours.Calculate();
            Vector2D acceleration  = steeringForce.Divide(DMass);

            VVelocity.Add(acceleration.Multiply(time_elapsed));

            VVelocity.Truncate(DMaxSpeed);

            VPos.Add(VVelocity.Multiply(time_elapsed));

            if (VVelocity.LengthSquared() > 0.00000001)
            {
                VHeading = VVelocity.Clone().Normalize();
                VSide    = VHeading.Perpendicular();
            }
        }