/// <summary> /// 決定技能效果目標 /// <param name="data">技能效果資料</param> /// <param name="paramater">效果參數</param> private void OnEffectTarget(RuleLargeData data, bool isSelf = true, bool isExpend = false) { List <int> idxList = new List <int>(); if (data.target > 20) { mainTarget [1] = isSelf == true ? mainTarget [1] : mainTarget [0]; } else if (data.target > 10) { mainTarget [1] = mainTarget [0] == "P" ? "E" : "P"; if (data.target < 7) { for (int i = 0; i < monsterCount; i++) { idxList.Add(i); } } } else { mainTarget [1] = mainTarget [0] == "P" ? "P" : "E"; if (data.target > 1) { for (int i = 0; i < playerCount; i++) { idxList.Add(i); } } } switch (data.target) { case (int)Target.None: break; case (int)Target.Self: idxList = new List <int> (); if (isSelf) { idxList.Add(mainOrgIdx); } else { idxList.Add(mainTargetIdx); } break; case (int)Target.DirTeam: selLockRuleData = data; fightController.OnSelectSkillTarget(idxList, "P"); return; case (int)Target.OnlyMate: //移除發動者 idxList.Remove(mainOrgIdx); break; case (int)Target.DirEnemy: selLockRuleData = data; fightController.OnSelectSkillTarget(idxList, "E"); return; case (int)Target.Trigger: if (isSelf) { idxList.Add(mainTargetIdx); } else { idxList.Add(mainOrgIdx); } break; } fightController.OnSkillEffect(mainOrgIdx, idxList, data, mainTarget, mainSkillId, isExpend); }