public void Goto(Position position, bool useObjectAvoidance)
{
if (DistanceTo(position) > DistanceTolerance)
{
DateTime duration = DateTime.Now.AddSeconds(5);
api.ThirdParty.KeyDown(Keys.NUMPAD8);
while (DistanceTo(position) > DistanceTolerance && DateTime.Now < duration)
{
if ((ViewMode)api.Player.ViewMode != ViewMode.FirstPerson)
{
api.Player.ViewMode = (int)ViewMode.FirstPerson;
}
FaceHeading(position);
if (useObjectAvoidance)
{
AvoidObstacles();
}
Thread.Sleep(30);
}
api.ThirdParty.KeyUp(Keys.NUMPAD8);
}
}