Example #1
0
    /// <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);
        }
    }