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(); } }