/// <summary> /// Depending on the phase the demo is in, have the agent do the appropriate steering. /// /// </summary> void FixedUpdate() { switch (mapState) { case 0: if (label) { // replace "First algorithm" with the name of the actual algorithm you're demoing // do this for each phase label.text = name.Replace("(Clone)", "") + "\nAlgorithm: Zero algorithm: Nothing"; } break; case 1: if (label) { // replace "First algorithm" with the name of the actual algorithm you're demoing // do this for each phase label.text = name.Replace("(Clone)", "") + "\nAlgorithm: First algorithm: Seek"; } // linear = ai.Pursue(); // For example // angular = ai.Face(); // For example linear = ai.Seek(); angular = ai.FaceAngular(); break; case 2: if (label) { label.text = name.Replace("(Clone)", "") + "\nAlgorithm: Second algorithm Flee"; } linear = ai.Flee(); angular = ai.FaceAngular(); break; case 3: if (label) { label.text = name.Replace("(Clone)", "") + "\nAlgorithm: Third algorithm Pursue"; } linear = ai.Pursue(); angular = ai.FaceAngular(); break; case 4: if (label) { label.text = name.Replace("(Clone)", "") + "\nAlgorithm: Fourth algorithm Evade"; } linear = ai.Evade(); angular = ai.FaceAngular(); break; case 5: if (label) { label.text = name.Replace("(Clone)", "") + "\nAlgorithm: Fifth algorithm Align"; } linear = Vector3.zero; angular = ai.AlignAngular(); break; case 6: if (label) { label.text = name.Replace("(Clone)", "") + "\nAlgorithm: Sixth algorithm Face"; } linear = Vector3.zero; angular = ai.FaceAngular(); break; case 7: if (label) { label.text = name.Replace("(Clone)", "") + "\nAlgorithm: Seventh algorithm Wander"; } angular = ai.Wander(out linear); break; // ADD CASES AS NEEDED } UpdateMovement(linear, angular, Time.deltaTime); if (label) { label.transform.position = Camera.main.WorldToScreenPoint(this.transform.position); } }