private void SwitchSalientProc() { procnum++; if (procnum >= proceedure.Length) { procnum = 0; } proposed = proceedure[procnum]; SimAvatarClient TheCBot = (SimAvatarClient)this.TheCBot; if (setFlight) { setFlight = false; TheCBot.Flying = false; } switch (proposed.Proc) { case MovementProceedure.AutoPilot: if (!UseAutoPilot) { SwitchSalientProc(); break; } CheckAvoidFalls(TheCBot); break; case MovementProceedure.AStar: if (!UseGotoTarget) { SwitchSalientProc(); } break; case MovementProceedure.TurnToAndWalk: if (!UseSimpleTurnTo) { SwitchSalientProc(); break; } CheckAvoidFalls(TheCBot); break; case MovementProceedure.FlyTo: if (!UseFlight || !TheCBot.CanFly) { SwitchSalientProc(); } break; case MovementProceedure.Teleport: if (!UseTeleport || !TheCBot.GetSimRegion().CanTeleportLocally /*|| SimAvatarClient.GotoUseTeleportFallback || SimAvatarClient.MoveUseTeleportFallback*/) { SwitchSalientProc(); } break; default: throw new ArgumentOutOfRangeException("proposed.Proc=" + proposed.Proc); } TheCBot.SalientMovementProceedure = proposed.Proc; }
private void SwitchSalientProc() { procnum++; if (procnum >= proceedure.Length) procnum = 0; proposed = proceedure[procnum]; SimAvatarClient TheCBot = (SimAvatarClient)this.TheCBot; if (setFlight) { setFlight = false; TheCBot.Flying = false; } switch (proposed.Proc) { case MovementProceedure.AutoPilot: if (!UseAutoPilot) { SwitchSalientProc(); break; } CheckAvoidFalls(TheCBot); break; case MovementProceedure.AStar: if (!UseGotoTarget) { SwitchSalientProc(); } break; case MovementProceedure.TurnToAndWalk: if (!UseSimpleTurnTo) { SwitchSalientProc(); break; } CheckAvoidFalls(TheCBot); break; case MovementProceedure.FlyTo: if (!UseFlight || !TheCBot.CanFly) { SwitchSalientProc(); } break; case MovementProceedure.Teleport: if (!UseTeleport || !TheCBot.GetSimRegion().CanTeleportLocally/*|| SimAvatarClient.GotoUseTeleportFallback || SimAvatarClient.MoveUseTeleportFallback*/) { SwitchSalientProc(); } break; default: throw new ArgumentOutOfRangeException("proposed.Proc=" + proposed.Proc); } TheCBot.SalientMovementProceedure = proposed.Proc; }