/// <summary> /// Выполнение сводится к вызову раз в определенный интервал события, которое обрабатывается скриптами тайлов (урон), /// до тех пор, пока не вызовется событие окончания действия, которое обработается в OnTileWorkedOut /// </summary> public override IEnumerator Execute(CharacterAction actionData) { isDigging = true; this.actionData = actionData; while (isDigging) { yield return(new WaitForSeconds(digState.iterationsInterval)); digState.iterationEvent.Raise(actionData); actionData.LearnSkill(); } this.actionData = null; }
/// <summary> /// Выполнение сводится к вызову раз в определенный интервал события, которое обрабатывается скриптами тайлов (урон), /// до тех пор, пока не вызовется событие окончания действия, которое обработается в OnTileWorkedOut или пока не /// событие не вызовется определенное количество раз /// </summary> public override IEnumerator Execute(CharacterAction actionData) { isMining = true; this.actionData = actionData; while (isMining && iterationCount < mineState.maxIterations) { yield return(new WaitForSeconds(mineState.iterationsInterval)); mineState.iterationEvent.Raise(actionData); actionData.LearnSkill(); iterationCount++; } EndIterations(); }