public override void Update(float _TimeElapsed)
        {
            Vector2 SteeringForce = VectorMath.Truncate(BehaviorController.CombinedSteeringForce(), MaxForce);
            Vector2 Acceleration  = SteeringForce / this.Mass;

            this.Velocity += Acceleration * _TimeElapsed;

            this.Velocity = VectorMath.Truncate(this.Velocity, this.MaxSpeed);

            this.Location += this.Velocity * _TimeElapsed;

            if (this.Velocity.LengthSquared() > 0.00000001)
            {
                this.Heading = Vector2.Normalize(this.Velocity);
                this.Side    = VectorMath.Perp(this.Heading);
            }

            this.Angle = VectorMath.VectorToAngle(this.Velocity);

            //this.Location = VectorMath.WrapAround(this.Location, 640, 480);
        }