コード例 #1
0
    //private IEnumerator RemoveCardVisualFromField(CardVisual card) {
    //    card.SetCardActiveState(false);
    //    yield return new WaitForSeconds(3f);

    //    if (card.photonView.isMine) {
    //        card.ChangeCardVisualState((int)CardVisual.CardVisualState.ShowFront);
    //        card.RPCChangeCardVisualState(PhotonTargets.Others, CardVisual.CardVisualState.ShowBack);
    //    }

    //    if (card is CreatureCardVisual) {
    //        CreatureCardVisual creature = card as CreatureCardVisual;
    //        creature.RPCToggleExhaust(PhotonTargets.All, false);
    //    }

    //    card.transform.localPosition = new Vector3(-40f, 20f, 20f);

    //}

    private void SendCardToVoid(CardVisual card)
    {
        if (card.photonView.isMine)
        {
            card.ChangeCardVisualState((int)CardVisual.CardVisualState.ShowFront);
            card.RPCChangeCardVisualState(PhotonTargets.Others, CardVisual.CardVisualState.ShowBack);
        }

        if (card is CreatureCardVisual)
        {
            CreatureCardVisual creature = card as CreatureCardVisual;
            creature.RPCToggleExhaust(PhotonTargets.All, false);
        }

        //card.ResetCardData();
        //card.RPCSetUpCardData(PhotonTargets.All);
        //card.SetupCardData();
        if (card.photonView.isMine)
        {
            card.transform.localPosition = new Vector3(-80f, 20f, -40f);
        }
    }
コード例 #2
0
ファイル: CombatManager.cs プロジェクト: Alarack/Soulweaver
    private void DoCombat()
    {
        //RPCBroadcastAttacker(PhotonTargets.All, attacker);
        //RPCBroadcastDefender(PhotonTargets.All, defender);

        //RPCBroadcastCombat(PhotonTargets.All, attacker, defender);

        //CheckForCombatStatChanges();

        if (CheckForCombatEventDeaths())
        {
            EndCombat();
            return;
        }

        if (!Finder.CardHasKeyword(attacker, Keywords.Tireless))
        {
            attacker.RPCToggleExhaust(PhotonTargets.All, true);
        }

        attacker.hasAttacked = true;

        if (attacker.battleToken.battleTokenGlow.activeInHierarchy)
        {
            attacker.battleToken.battleTokenGlow.SetActive(false);
        }


        if (attacker.keywords.Contains(Keywords.FirstStrike) && !defender.keywords.Contains(Keywords.FirstStrike))
        {
            CombatHelper(attacker, defender);

            if (defender.health <= 0)
            {
                EndCombat();
                return;
            }
            else
            {
                CombatHelper(defender, attacker);
                EndCombat();
                return;
            }
        }

        if (!attacker.keywords.Contains(Keywords.FirstStrike) && defender.keywords.Contains(Keywords.FirstStrike))
        {
            CombatHelper(defender, attacker);

            if (attacker.health <= 0)
            {
                EndCombat();
                return;
            }
            else
            {
                CombatHelper(attacker, defender);
                EndCombat();
                return;
            }
        }

        if (attacker.keywords.Contains(Keywords.Ranged))
        {
            CombatHelper(attacker, defender);
            EndCombat();
            return;
        }

        if (defender.keywords.Contains(Keywords.Ranged))
        {
            CombatHelper(attacker, defender);
            EndCombat();
            return;
        }


        CombatHelper(attacker, defender);
        CombatHelper(defender, attacker);

        EndCombat();
    }