/// <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; } } }
/// <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; } } }