public override void HandleFunctionKeys(Keys key) { switch (key) { case Keys.F1: SelectNextDemo(); break; case Keys.F2: ReversePathFollowDirection(); break; case Keys.F3: TogglePathFences(); break; case Keys.F4: ToggleRandomRocks(); break; case Keys.F5: ToggleCurvedSteering(); break; case Keys.F6: // QQQ draw an enclosed "pen" of obstacles to test cycle-stuck { const float M = MapDriver.WORLD_SIZE * 0.4f; // main diamond size const float N = MapDriver.WORLD_SIZE / 8; // notch size Vector3 q = new Vector3(0, 0, M - N); Vector3 s = new Vector3(2 * N, 0, 0); Vector3 c = s - q; Vector3 d = s + q; float[] pathRadii = { 10, 10 }; Vector3[] pathPoints = { c, d }; GCRoute r = new GCRoute(pathPoints, pathRadii, false); DrawPathFencesOnMap(_vehicle.Map, r); break; } } }
public override void HandleFunctionKeys(Keys key) { switch (key) { case Keys.F1: SelectNextDemo(); break; case Keys.F2: ReversePathFollowDirection(); break; case Keys.F3: TogglePathFences(); break; case Keys.F4: ToggleRandomRocks(); break; case Keys.F5: ToggleCurvedSteering(); break; case Keys.F6: // QQQ draw an enclosed "pen" of obstacles to test cycle-stuck { const float M = MapDriver.WORLD_SIZE * 0.4f; // main diamond size const float N = MapDriver.WORLD_SIZE / 8; // notch size Vector3 q = new Vector3(0, 0, M - N); Vector3 s = new Vector3(2 * N, 0, 0); Vector3 c = s - q; Vector3 d =s + q; float[] pathRadii = { 10, 10 }; Vector3[] pathPoints = { c, d }; GCRoute r = new GCRoute(pathPoints, pathRadii, false); DrawPathFencesOnMap(_vehicle.Map, r); break; } } }