Example #1
0
    /// <summary>
    /// 初始化施法執行效果清單
    /// </summary>
    void InitExecute()
    {
        TriggerExecuteList = new List <ExecuteCom>();
        string executeListStr = GameDictionary.BufferDic[ID].TriggerExecute;

        string[] executeStr = executeListStr.Split(',');
        //以迴圈加入所有執行元件
        for (int i = 0; i < executeStr.Length; i++)
        {
            string[] executeColumn = executeStr[i].Split(':');
            //執行類型
            string type = executeColumn[0];
            //執行ID
            int executeID = int.Parse(executeColumn[1]);
            //如果執行ID為0則跳過此執行
            if (executeID == 0)
            {
                continue;
            }
            //依照執行類型與執行ID加入執行的元件
            switch (type)
            {
            case "D":    //傷害效果
                BufferDamage damage = new BufferDamage(executeID, Self);
                TriggerExecuteList.Add(damage);
                break;

            case "C":    //治癒效果
                Cure cure = new BufferCure(executeID, Self);
                TriggerExecuteList.Add(cure);
                break;

            case "B":    //狀態效果
                Buffer buffer = new Buffer(executeID, Self);
                TriggerExecuteList.Add(buffer);
                break;

            default:
                Debug.LogWarning(string.Format("BufferID:{0}的觸發效果類型{0)無法判定,必須為D、C、B", ID, type));
                break;
            }
        }
    }
Example #2
0
 /// <summary>
 /// 初始化施法執行效果清單
 /// </summary>
 void InitExecute()
 {
     TriggerExecuteList = new List<ExecuteCom>();
     string executeListStr = GameDictionary.BufferDic[ID].TriggerExecute;
     string[] executeStr = executeListStr.Split(',');
     //以迴圈加入所有執行元件
     for (int i = 0; i < executeStr.Length; i++)
     {
         string[] executeColumn = executeStr[i].Split(':');
         //執行類型
         string type = executeColumn[0];
         //執行ID
         int executeID = int.Parse(executeColumn[1]);
         //如果執行ID為0則跳過此執行
         if (executeID == 0)
             continue;
         //依照執行類型與執行ID加入執行的元件
         switch (type)
         {
             case "D"://傷害效果
                 BufferDamage damage = new BufferDamage(executeID, Self);
                 TriggerExecuteList.Add(damage);
                 break;
             case "C"://治癒效果
                 Cure cure = new BufferCure(executeID, Self);
                 TriggerExecuteList.Add(cure);
                 break;
             case "B"://狀態效果
                 Buffer buffer = new Buffer(executeID, Self);
                 TriggerExecuteList.Add(buffer);
                 break;
             default:
                 Debug.LogWarning(string.Format("BufferID:{0}的觸發效果類型{0)無法判定,必須為D、C、B", ID, type));
                 break;
         }
     }
 }