Example #1
0
    /// <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);
        }
    }