Exemplo n.º 1
0
        public virtual void DoAction(Action action)
        {
            if(IsBusy) 
                throw new InvalidOperationException("User is busy: " + _currentAction.name);

            _currentAction = action;
            _currentAction.Finished += OnActionFinished;
            StartCoroutine(_currentAction.Execute());
        }
Exemplo n.º 2
0
 protected virtual void OnActionFinished(bool finished)
 {
     CurrentActionPoints -= _currentAction.Price.points;
     if (_currentAction != null)
         ActionFinished(this, _currentAction, finished);
     _currentAction = null;
 }