Exemplo n.º 1
0
    void Update()
    {
        if (excutionAbility != null)
        {
            // 効果が終了するまで処理する
            if (excutionAbility.endFlag)
            {
                excutionAbility = null;
                return;
            }
            excutionAbility.Update(this);
            if (messageQueue.Count > 0)
            {
                excutionAbility.HandleMessage(messageQueue.Dequeue());
            }
        }

        else if (abilityQueue.Count > 0)
        {
            excutionAbility = abilityQueue.Dequeue();
            // 効果実行
            excutionAbility.Action();
            //Debug.Log("効果発動: " + excutionAbility.abilityType.ToString() + ", values: " +
            //    excutionAbility.s_iValue0 + ", " + excutionAbility.s_iValue1 + ", " + excutionAbility.s_iValue2 + ", " + excutionAbility.s_iValue3 + ", " +
            //    excutionAbility.s_iValue4 + ", " + excutionAbility.s_iValue5 + ", " + excutionAbility.s_iValue6 + ", " + excutionAbility.s_iValue7 + ", " +
            //    excutionAbility.s_iValue8 + ", " + excutionAbility.s_iValue9);
        }

        // ここにexcutionAbility.を書いてはいけない
    }