Explorar el Código

Removed DNA RPC From EX4_049/051

BennAbbot hace 3 meses
padre
commit
ea0d858ca9

+ 7 - 129
Assets/Scripts/CardEffect/EX4/Black/EX4_049.cs

@@ -359,124 +359,13 @@ namespace DCGO.CardEffects.EX4
 
                                     if (card.Owner.HandCards.Count(CanSelectCardCondition1) >= 1)
                                     {
-                                        if (CardEffectCommons.HasMatchConditionOwnersPermanent(card, (permanent) => permanent.IsDigimon && permanent != card.PermanentOfThisCard()))
-                                        {
-                                            List<CardSource> selectedCards = new List<CardSource>();
-
-                                            int maxCount = 1;
-
-                                            SelectHandEffect selectHandEffect = GManager.instance.GetComponent<SelectHandEffect>();
-
-                                            selectHandEffect.SetUp(
-                                                selectPlayer: card.Owner,
-                                                canTargetCondition: CanSelectCardCondition1,
-                                                canTargetCondition_ByPreSelecetedList: null,
-                                                canEndSelectCondition: null,
-                                                maxCount: maxCount,
-                                                canNoSelect: true,
-                                                canEndNotMax: false,
-                                                isShowOpponent: true,
-                                                selectCardCoroutine: SelectCardCoroutine,
-                                                afterSelectCardCoroutine: null,
-                                                mode: SelectHandEffect.Mode.Custom,
-                                                cardEffect: activateClass);
-
-                                            selectHandEffect.SetUpCustomMessage("Select 1 card to DNA digivolve.", "The opponent is selecting 1 card to DNA digivolve.");
-                                            selectHandEffect.SetNotShowCard();
-
-                                            yield return StartCoroutine(selectHandEffect.Activate());
-
-                                            IEnumerator SelectCardCoroutine(CardSource cardSource)
-                                            {
-                                                selectedCards.Add(cardSource);
-
-                                                yield return null;
-                                            }
-
-                                            if (selectedCards.Count >= 1)
-                                            {
-                                                foreach (CardSource selectedCard in selectedCards)
-                                                {
-                                                    if (selectedCard.CanPlayJogress(true) && selectedCard.CanJogressFromTargetPermanent(card.PermanentOfThisCard(), true))
-                                                    {
-                                                        JogressEvoRootsFrameIDs = new int[0];
-
-                                                        yield return GManager.instance.photonWaitController.StartWait("Jogress_Kuresgarurumon_EX4_049");
-
-                                                        if (card.Owner.isYou || GManager.instance.IsAI)
-                                                        {
-                                                            GManager.instance.selectJogressEffect.SetUp_SelectDigivolutionRoots
-                                                                                       (card: selectedCard,
-                                                                                       isLocal: true,
-                                                                                       isPayCost: true,
-                                                                                       canNoSelect: true,
-                                                                                       endSelectCoroutine_SelectDigivolutionRoots: EndSelectCoroutine_SelectDigivolutionRoots,
-                                                                                       noSelectCoroutine: null);
-
-                                                            GManager.instance.selectJogressEffect.SetUpCustomPermanentConditions(new Func<Permanent, bool>[] { (permanent) => permanent == card.PermanentOfThisCard() });
-
-                                                            yield return ContinuousController.instance.StartCoroutine(GManager.instance.selectJogressEffect.SelectDigivolutionRoots());
-
-                                                            IEnumerator EndSelectCoroutine_SelectDigivolutionRoots(List<Permanent> permanents)
-                                                            {
-                                                                permanents = permanents.Distinct().ToList();
-
-                                                                if (permanents.Count == 2)
-                                                                {
-                                                                    JogressEvoRootsFrameIDs = new int[2];
-
-                                                                    for (int i = 0; i < permanents.Count; i++)
-                                                                    {
-                                                                        if (i < JogressEvoRootsFrameIDs.Length)
-                                                                        {
-                                                                            JogressEvoRootsFrameIDs[i] = permanents[i].PermanentFrame.FrameID;
-                                                                        }
-                                                                    }
-                                                                }
-
-                                                                if (!permanents.Contains(card.PermanentOfThisCard()))
-                                                                {
-                                                                    JogressEvoRootsFrameIDs = new int[0];
-                                                                }
-
-                                                                yield return null;
-                                                            }
-
-                                                            photonView.RPC("SetJogressEvoRootsFrameIDs", RpcTarget.All, JogressEvoRootsFrameIDs);
-                                                        }
-
-                                                        else
-                                                        {
-                                                            GManager.instance.commandText.OpenCommandText("The opponent is choosing a card to DNA digivolve.");
-                                                        }
-
-                                                        yield return new WaitWhile(() => !endSelect);
-                                                        endSelect = false;
-
-                                                        GManager.instance.commandText.CloseCommandText();
-                                                        yield return new WaitWhile(() => GManager.instance.commandText.gameObject.activeSelf);
-
-                                                        if (JogressEvoRootsFrameIDs.Length == 2)
-                                                        {
-                                                            yield return ContinuousController.instance.StartCoroutine(GManager.instance.GetComponent<Effects>().ShowCardEffect(new List<CardSource>() { selectedCard }, "Played Card", true, true));
-
-                                                            PlayCardClass playCard = new PlayCardClass(
-                                                                cardSources: new List<CardSource>() { selectedCard },
-                                                                hashtable: CardEffectCommons.CardEffectHashtable(activateClass),
-                                                                payCost: true,
-                                                                targetPermanent: null,
-                                                                isTapped: false,
-                                                                root: SelectCardEffect.Root.Hand,
-                                                                activateETB: true);
-
-                                                            playCard.SetJogress(JogressEvoRootsFrameIDs);
-
-                                                            yield return ContinuousController.instance.StartCoroutine(playCard.PlayCard());
-                                                        }
-                                                    }
-                                                }
-                                            }
-                                        }
+                                        yield return ContinuousController.instance.StartCoroutine(
+                                                                 CardEffectCommons.DNADigivolvePermanentsIntoHandOrTrashCard(
+                                                                 CanSelectCardCondition1,
+                                                                 payCost: true,
+                                                                 isHand: true,
+                                                                 activateClass,
+                                                                 permanentConditions: new Func<Permanent, bool>[] { (permanent) => permanent == card.PermanentOfThisCard() }));
                                     }
                                     break;
                             }
@@ -561,16 +450,5 @@ namespace DCGO.CardEffects.EX4
 
             return cardEffects;
         }
-
-        bool endSelect = false;
-
-        int[] JogressEvoRootsFrameIDs = new int[0];
-
-        [PunRPC]
-        public void SetJogressEvoRootsFrameIDs(int[] JogressEvoRootsFrameIDs)
-        {
-            this.JogressEvoRootsFrameIDs = JogressEvoRootsFrameIDs;
-            endSelect = true;
-        }
     }
 }

+ 7 - 129
Assets/Scripts/CardEffect/EX4/Black/EX4_051.cs

@@ -241,124 +241,13 @@ namespace DCGO.CardEffects.EX4
 
                                     if (card.Owner.HandCards.Count(CanSelectCardCondition1) >= 1)
                                     {
-                                        if (CardEffectCommons.HasMatchConditionOwnersPermanent(card, (permanent) => permanent.IsDigimon && permanent != card.PermanentOfThisCard()))
-                                        {
-                                            List<CardSource> selectedCards = new List<CardSource>();
-
-                                            int maxCount = 1;
-
-                                            SelectHandEffect selectHandEffect = GManager.instance.GetComponent<SelectHandEffect>();
-
-                                            selectHandEffect.SetUp(
-                                                selectPlayer: card.Owner,
-                                                canTargetCondition: CanSelectCardCondition1,
-                                                canTargetCondition_ByPreSelecetedList: null,
-                                                canEndSelectCondition: null,
-                                                maxCount: maxCount,
-                                                canNoSelect: true,
-                                                canEndNotMax: false,
-                                                isShowOpponent: true,
-                                                selectCardCoroutine: SelectCardCoroutine,
-                                                afterSelectCardCoroutine: null,
-                                                mode: SelectHandEffect.Mode.Custom,
-                                                cardEffect: activateClass);
-
-                                            selectHandEffect.SetUpCustomMessage("Select 1 card to DNA digivolve.", "The opponent is selecting 1 card to DNA digivolve.");
-                                            selectHandEffect.SetNotShowCard();
-
-                                            yield return StartCoroutine(selectHandEffect.Activate());
-
-                                            IEnumerator SelectCardCoroutine(CardSource cardSource)
-                                            {
-                                                selectedCards.Add(cardSource);
-
-                                                yield return null;
-                                            }
-
-                                            if (selectedCards.Count >= 1)
-                                            {
-                                                foreach (CardSource selectedCard in selectedCards)
-                                                {
-                                                    if (selectedCard.CanPlayJogress(true) && selectedCard.CanJogressFromTargetPermanent(card.PermanentOfThisCard(), true))
-                                                    {
-                                                        JogressEvoRootsFrameIDs = new int[0];
-
-                                                        yield return GManager.instance.photonWaitController.StartWait("Jogress_Kuresgarurumon_EX4_049");
-
-                                                        if (card.Owner.isYou || GManager.instance.IsAI)
-                                                        {
-                                                            GManager.instance.selectJogressEffect.SetUp_SelectDigivolutionRoots
-                                                                                       (card: selectedCard,
-                                                                                       isLocal: true,
-                                                                                       isPayCost: true,
-                                                                                       canNoSelect: true,
-                                                                                       endSelectCoroutine_SelectDigivolutionRoots: EndSelectCoroutine_SelectDigivolutionRoots,
-                                                                                       noSelectCoroutine: null);
-
-                                                            GManager.instance.selectJogressEffect.SetUpCustomPermanentConditions(new Func<Permanent, bool>[] { (permanent) => permanent == card.PermanentOfThisCard() });
-
-                                                            yield return ContinuousController.instance.StartCoroutine(GManager.instance.selectJogressEffect.SelectDigivolutionRoots());
-
-                                                            IEnumerator EndSelectCoroutine_SelectDigivolutionRoots(List<Permanent> permanents)
-                                                            {
-                                                                permanents = permanents.Distinct().ToList();
-
-                                                                if (permanents.Count == 2)
-                                                                {
-                                                                    JogressEvoRootsFrameIDs = new int[2];
-
-                                                                    for (int i = 0; i < permanents.Count; i++)
-                                                                    {
-                                                                        if (i < JogressEvoRootsFrameIDs.Length)
-                                                                        {
-                                                                            JogressEvoRootsFrameIDs[i] = permanents[i].PermanentFrame.FrameID;
-                                                                        }
-                                                                    }
-                                                                }
-
-                                                                if (!permanents.Contains(card.PermanentOfThisCard()))
-                                                                {
-                                                                    JogressEvoRootsFrameIDs = new int[0];
-                                                                }
-
-                                                                yield return null;
-                                                            }
-
-                                                            photonView.RPC("SetJogressEvoRootsFrameIDs", RpcTarget.All, JogressEvoRootsFrameIDs);
-                                                        }
-
-                                                        else
-                                                        {
-                                                            GManager.instance.commandText.OpenCommandText("The opponent is choosing a card to DNA digivolve.");
-                                                        }
-
-                                                        yield return new WaitWhile(() => !endSelect);
-                                                        endSelect = false;
-
-                                                        GManager.instance.commandText.CloseCommandText();
-                                                        yield return new WaitWhile(() => GManager.instance.commandText.gameObject.activeSelf);
-
-                                                        if (JogressEvoRootsFrameIDs.Length == 2)
-                                                        {
-                                                            yield return ContinuousController.instance.StartCoroutine(GManager.instance.GetComponent<Effects>().ShowCardEffect(new List<CardSource>() { selectedCard }, "Played Card", true, true));
-
-                                                            PlayCardClass playCard = new PlayCardClass(
-                                                                cardSources: new List<CardSource>() { selectedCard },
-                                                                hashtable: CardEffectCommons.CardEffectHashtable(activateClass),
-                                                                payCost: true,
-                                                                targetPermanent: null,
-                                                                isTapped: false,
-                                                                root: SelectCardEffect.Root.Hand,
-                                                                activateETB: true);
-
-                                                            playCard.SetJogress(JogressEvoRootsFrameIDs);
-
-                                                            yield return ContinuousController.instance.StartCoroutine(playCard.PlayCard());
-                                                        }
-                                                    }
-                                                }
-                                            }
-                                        }
+                                        yield return ContinuousController.instance.StartCoroutine(
+                                                                 CardEffectCommons.DNADigivolvePermanentsIntoHandOrTrashCard(
+                                                                 CanSelectCardCondition1,
+                                                                 payCost: true,
+                                                                 isHand: true,
+                                                                 activateClass,
+                                                                 permanentConditions: new Func<Permanent, bool>[] { (permanent) => permanent == card.PermanentOfThisCard() }));
                                     }
                                     break;
                             }
@@ -411,16 +300,5 @@ namespace DCGO.CardEffects.EX4
 
             return cardEffects;
         }
-
-        bool endSelect = false;
-
-        int[] JogressEvoRootsFrameIDs = new int[0];
-
-        [PunRPC]
-        public void SetJogressEvoRootsFrameIDs(int[] JogressEvoRootsFrameIDs)
-        {
-            this.JogressEvoRootsFrameIDs = JogressEvoRootsFrameIDs;
-            endSelect = true;
-        }
     }
 }