Example #1
0
    public void changeMode(WandererMode newMode)
    {
        if (newMode == mode)
        {
            return;
        }
        // For now
        if (mode == WandererMode.Wandering)
        {
            return;                                 //throw new Exception("Cannot stop wandering early");
        }
        if (newMode != WandererMode.Wandering)
        {
            GetComponent <AICharacterControl>().target = null;
        }
        switch (newMode)
        {
        case WandererMode.Wandering:
            StartCoroutine(wanderForAWhile());
            break;

        case WandererMode.Targeting:
            break;

        case WandererMode.Searching:
            break;

        case WandererMode.Throwing:
            break;

        case WandererMode.Disabled:
            break;

        default:
            throw new ArgumentOutOfRangeException("newMode", newMode, null);
        }

        //Debug.LogFormat("Changing mode to {0}", newMode);
        mode = newMode;
    }
Example #2
0
 void Start()
 {
     being = GetComponent <Being>();
     mode  = staringMode;
 }
Example #3
0
    private IEnumerator wanderForAWhile(int maxTime = 5)
    {
        yield return(new WaitForSeconds(Random.Range(0, maxTime)));

        mode = WandererMode.Searching;
    }