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