Exemplo n.º 1
0
    /// <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;
    }
Exemplo n.º 2
0
    /// <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();
    }