/// <summary> /// 執行施法 /// </summary> public virtual void Execute() { CDTimer = CD; //此施法的暫時目標 Chara CurTarget = SelectTarget(); //如果沒有可做為目標的腳色,取消執行施法 if (CurTarget == null) { Debug.Log("無可做為目標的腳色,取消執行施法"); return; } //設定腳色施法位置與縮放 Self.SetSpellTransfrom(CurTarget.AbsIndex, CurTarget.Index); //設定腳色師法動作 if (IsAttack) { //播放攻擊動作 Self.PlayMotion(Motion.Attack, 0); //播放挨打動作 CurTarget.PlayMotion(Motion.Beaten, 0); } else { //播放攻擊動作 Self.PlayMotion(Motion.Support, 0); } //執行施法 for (int i = 0; i < TriggerTargetList.Count; i++) { TriggerTargetList[i].Execute(CurTarget); } }