//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); } }
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(); }