private void wanderState() { seekPlayer(); NewTargetPosition = wanderController.NewTargetPosition(); if (wanderController.GetTimeLeft() == 0) { state = pickRandomState(new Global.BehaviorState[] { Global.BehaviorState.STATE_IDLE, Global.BehaviorState.STATE_WANDER }); Random r = new Random(); wanderController.StartWanderTimer(r.Next(1, 4)); Direction = GlobalPosition.DirectionTo(NewTargetPosition); } Velocity = Velocity.MoveToward(Direction * MaxSpeed, Acceleration); if (GlobalPosition.DistanceTo(NewTargetPosition) <= 4) { state = pickRandomState(new Global.BehaviorState[] { Global.BehaviorState.STATE_IDLE, Global.BehaviorState.STATE_WANDER }); Random r = new Random(); wanderController.StartWanderTimer(r.Next(1, 4)); } }