protected override void Awake() { base.Awake(); currentState = JanitorSate.Idle; hasJob = false; }
private IEnumerator CleaningUp() { currentState = JanitorSate.Cleaning; yield return(new WaitForSeconds(cleanTime)); currentTile.CleanTrash(); currentState = JanitorSate.Idle; hasJob = false; }
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(); }
public void SetNewTarget(Tile newTile) { currentTile = newTile; hasJob = true; currentState = JanitorSate.HasJob; }