예제 #1
0
    public void SkillEffect(int heroNo, bool isMyAction)
    {
        PlayerManager user;     //进攻方
        PlayerManager opposite; //反击方

        if (isMyAction)
        {
            user     = myPlayer;
            opposite = enemyPlayer;
        }
        else
        {
            user     = enemyPlayer;
            opposite = myPlayer;
        }

        //主要阶段发动挑战者技能
        if (heroNo == 1 && isMyAction)
        {
            enemyHCurved.RandomDestroyCard();
            user.HpChange(-1, 1);
        }
        else if (heroNo == 2 && !isMyAction)
        {
            cardCurved.RandomDestroyCard();
            user.HpChange(-1, 1);
        }

        //结束阶段发动光之猎手技能
        if (heroNo == 4 && isMyAction)
        {
            cardCurved.GetCards();
            cardCurved.AddCardAnimations();
        }
        else if (heroNo == 4 && !isMyAction)
        {
            enemyHCurved.HCNumChange(1);
        }
    }
예제 #2
0
파일: ShowingCard.cs 프로젝트: Fsly/Duplex
    //生成牌,出牌动画,消耗行动点,先行效果
    public void InstantiateInit()
    {
        Destroy(GoShowCard);
        GoShowCard                  = Instantiate(showCard) as GameObject;
        showCardManager             = GoShowCard.GetComponent <CardManager>();
        showCardManager.attackCard  = attackCard;
        showCardManager.counterCard = counterCard;
        showCardManager.cardButton  = HandCardButton.Cannot;
        showCardManager.init();

        //出牌动画
        CardShowAnimation(GoShowCard.transform);

        //消耗行动点
        if (roundManager.isMyturn)
        {
            user.ApChange(-showCardManager.attackCard.ActionPoint);
        }
        else
        {
            user.ApChange(-showCardManager.counterCard.ActionPoint);
        }

        if (roundManager.isMyturn &&
            roundManager.roundPhase == RoundPhase.Main &&
            roundManager.waitCounter == WaitPhase.NoWait)
        {
            //打出进攻卡

            //水晶剑士技能
            if (user.hero.No == 2)
            {
                if (showCardManager.attackCard.damageAttribute == Attribute.Magic)
                {
                    SkillManager.printSkill("我方水晶剑士增加计数器");
                    user.HeroTimer++;
                }
                else if (showCardManager.attackCard.damageAttribute == Attribute.Physical)
                {
                    if (user.HeroTimer >= 1)
                    {
                        SkillManager.printSkill("我方水晶剑士使用技能");
                        user.HeroTimer = 0;
                        showCardManager.attackCard.Damage++;
                        showCardManager.init();
                    }
                }
            }

            //进攻牌先行效果
            switch (showCardManager.attackCard.attackCardNo)
            {
            case 2:
                //上挑
                enemyHCurved.RandomDestroyCard();
                break;

            case 10:
                //流星雨
                delayAttack = true;
                enemyShowCard.enemyAttack = showCardManager.attackCard;
                //生成发射按钮(按钮计算额外伤害)
                GameObject GOCardButton = Instantiate(FireballGO) as GameObject;
                GOCardButton.transform.parent   = GameObject.Find("MiddleButtonInit").transform;
                GOCardButton.transform.position = GameObject.Find("MiddleButtonInit").transform.position;
                break;
            }
            if (!delayAttack)
            {
                AttackAction();
            }
        }
        else
        {
            //打出反击卡

            //共鸣法师技能
            if (user.hero.No == 3)
            {
                if (enemyAttack.damageAttribute == Attribute.Magic)
                {
                    SkillManager.printSkill("我方共鸣法师使用技能");
                    user.HP++;
                }
            }

            //结束我方等待,等待对方回合
            roundManager.MeWaitOK();
            roundManager.WaitPrefabOn();

            //判定
            cardEffect.ActionEffect(enemyAttack, showCardManager.counterCard, false);

            //删除“不打出”按钮
            GameObject.Find("NothingButton(Clone)").GetComponent <NotCounter>().BeDestroy();
        }
    }