Exemplo n.º 1
0
 virtual public void QTEAction(string effectstr)
 {
     enemySkill.CommonEffect(this, effectstr);
 }
Exemplo n.º 2
0
    public void SkillJudge(string playerSkillstring, string enemySkillstring)
    {
        nowAI = GetCurAI();

        //分解敌人技能STRING
        string[] sEnemyEffStrSplit = enemySkillstring.Split(',');
        //分解玩家技能STRING
        string[] sPlayerEffStrSplit = playerSkillstring.Split(',');

        string E1 = "";
        string E2 = "";
        string E3 = "";
        string P1 = "";
        string P2 = "";
        string P3 = "";


        //把各种效果的STRING分类
        foreach (string s in s1)
        {
            foreach (string e in sEnemyEffStrSplit)
            {
                string[] InstancedEff = e.Split('_');

                if (InstancedEff[0] == s)
                {
                    E1 += e;
                    E1 += ",";
                }
            }


            foreach (string e in sPlayerEffStrSplit)
            {
                string[] InstancedEff = e.Split('_');

                if (InstancedEff[0] == s)
                {
                    P1 += e;
                    P1 += ",";
                }
            }
        }

        foreach (string s in s2)
        {
            foreach (string e in sEnemyEffStrSplit)
            {
                string[] InstancedEff = e.Split('_');

                if (InstancedEff[0] == s)
                {
                    E2 += e;
                    E2 += ",";
                }
            }

            foreach (string e in sPlayerEffStrSplit)
            {
                string[] InstancedEff = e.Split('_');

                if (InstancedEff[0] == s)
                {
                    P2 += e;
                    P2 += ",";
                }
            }
        }

        foreach (string s in s3)
        {
            foreach (string e in sEnemyEffStrSplit)
            {
                string[] InstancedEff = e.Split('_');

                if (InstancedEff[0] == s)
                {
                    E3 += e;
                    E3 += ",";
                }
            }

            foreach (string e in sPlayerEffStrSplit)
            {
                string[] InstancedEff = e.Split('_');

                if (InstancedEff[0] == s)
                {
                    P3 += e;
                    P3 += ",";
                }
            }
        }
        //        Debug.Log("E1 = " + E1 + "E2 = " + E2 + "E3 = " + E3);

        //        Debug.Log("p1 = " + P1+ "p2 = " + P2+ "p3 = " + P3);


        //依次触发技能效果
        if (nowAI != null)
        {
            if (!nowAI.isBroken)
            {
                enemySkill.CommonEffect(nowAI, E1);
            }
            if (!Player.Instance.isBroken)
            {
                playerSkill.CommonEffect(Player.Instance, P1);
            }
            if (!nowAI.isBroken)
            {
                enemySkill.CommonEffect(nowAI, E2);
            }
            if (!Player.Instance.isBroken)
            {
                playerSkill.CommonEffect(Player.Instance, P2);
            }
            if (!nowAI.isBroken)
            {
                enemySkill.CommonEffect(nowAI, E3);
            }
            if (!Player.Instance.isBroken)
            {
                playerSkill.CommonEffect(Player.Instance, P3);
            }
        }

        //更新技能CD
        //Player.Instance.UpdateCDs();
        SuperController.Instance.skillTipBarController.UpdateCDs();
        //本小节行动过,上锁
        isActedAt3rdBeat = true;

        //重置双方打断状态
        Player.Instance.isBreakable = false;
        Player.Instance.isBroken    = false;
        nowAI.isBreakable           = false;
        nowAI.isBroken = false;

        //Buff Effect
        if (playerSkillstring == "")
        {
            foreach (var buff in Player.Instance.buffs)
            {
                buff.AfterNoAction();
            }
        }
    }