Beispiel #1
0
    protected override void Awake()
    {
        base.Awake();

        currentState = JanitorSate.Idle;
        hasJob       = false;
    }
Beispiel #2
0
    private IEnumerator CleaningUp()
    {
        currentState = JanitorSate.Cleaning;
        yield return(new WaitForSeconds(cleanTime));

        currentTile.CleanTrash();
        currentState = JanitorSate.Idle;
        hasJob       = false;
    }
Beispiel #3
0
    protected override void Update()
    {
        if (currentState == JanitorSate.HasJob)
        {
            unitController.SetTarget(currentTile.transform);
            unitController.GetNewPath();
            currentState = JanitorSate.Moving;
        }
        else if (currentState == JanitorSate.Moving)
        {
            if (unitController.ReachedTarget)
            {
                StartCoroutine("CleaningUp");
            }
        }

        base.Update();
    }
Beispiel #4
0
 public void SetNewTarget(Tile newTile)
 {
     currentTile  = newTile;
     hasJob       = true;
     currentState = JanitorSate.HasJob;
 }