Просмотр исходного кода

fixed issue and implemented an example, EX10-017

dp101428 11 месяцев назад
Родитель
Сommit
def55f46a5

+ 1 - 83
Assets/CardEffect/EX10/Green/EX10_017.cs

@@ -32,89 +32,7 @@ namespace DCGO.CardEffects.EX10
 
             if (timing == EffectTiming.None)
             {
-                AddAppFusionConditionClass addAppFusionConditionClass = new AddAppFusionConditionClass();
-                addAppFusionConditionClass.SetUpICardEffect($"App Fusion", (hashtable) => true, card);
-                addAppFusionConditionClass.SetUpAddAppFusionConditionClass(getAppFusionCondition: GetAppFusion);
-                addAppFusionConditionClass.SetNotShowUI(true);
-                cardEffects.Add(addAppFusionConditionClass);
-
-                AppFusionCondition GetAppFusion(CardSource cardSource)
-                {
-                    bool linkCondition(Permanent permanent, CardSource source)
-                    {
-                        if (source != null && source != card)
-                        {
-                            if (permanent.TopCard.EqualsCardName("Mirrormon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Kabemon") || x.EqualsCardName("Copipemon")))
-                                {
-                                    return true;
-                                }
-                            }
-
-                            if (permanent.TopCard.EqualsCardName("Kabemon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Mirrormon") || x.EqualsCardName("Copipemon")))
-                                {
-                                    return true;
-                                }
-                            }
-
-                            if (permanent.TopCard.EqualsCardName("Copipemon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Mirrormon") || x.EqualsCardName("Kabemon")))
-                                {
-                                    return true;
-                                }
-                            }
-                        }
-
-                        return false;
-                    }
-                    bool digimonCondition(Permanent permanent)
-                    {
-                        if (CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card))
-                        {
-                            if (permanent.TopCard.EqualsCardName("Mirrormon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Kabemon") || x.EqualsCardName("Copipemon")))
-                                {
-                                    return true;
-                                }
-                            }
-
-                            if (permanent.TopCard.EqualsCardName("Kabemon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Mirrormon") || x.EqualsCardName("Copipemon")))
-                                {
-                                    return true;
-                                }
-                            }
-
-                            if (permanent.TopCard.EqualsCardName("Copipemon"))
-                            {
-                                if (permanent.LinkedCards.Find(x => x.EqualsCardName("Mirrormon") || x.EqualsCardName("Kabemon")))
-                                {
-                                    return true;
-                                }
-                            }
-                        }
-
-                        return false;
-                    }
-
-                    if (cardSource == card)
-                    {
-                        AppFusionCondition AppFusionCondition = new AppFusionCondition(
-                            linkCondition,
-                            digimonCondition,
-                            0);
-
-                        return AppFusionCondition;
-                    }
-
-                    return null;
-                }
+                cardEffects.Add(CardEffectFactory.AddAppfuseMethodByName(new List<string>() {"Mirrormon", "Kabemon","Copipemon"},card));
             }
 
             #endregion

+ 2 - 2
Assets/Scripts/CardEffectFactory/AddAppfusionMethod.cs

@@ -7,14 +7,14 @@ using UnityEngine;
 public partial class CardEffectFactory
 {
     #region Static effect that gives the ability to appfuse by name
-    AddAppFusionConditionClass AddAppfuseMethodByName(List<string> cardNames, CardSource card, int cost = 0, string effectName = "App Fusion")
+    public static AddAppFusionConditionClass AddAppfuseMethodByName(List<string> cardNames, CardSource card, int cost = 0, string effectName = "App Fusion")
     {
         return AddAppfuseMethodByCondition(cardNames.Select<string, Func<CardSource, bool>>(name => card => card.EqualsCardName(name)).ToList(), card, cost, effectName);
     }
     #endregion
 
     #region Static effect that gives the ability to appfuse by condition
-    AddAppFusionConditionClass AddAppfuseMethodByCondition(List<Func<CardSource, bool>> cardConditions, CardSource card, int cost = 0, string effectName = "App Fusion")
+    public static AddAppFusionConditionClass AddAppfuseMethodByCondition(List<Func<CardSource, bool>> cardConditions, CardSource card, int cost = 0, string effectName = "App Fusion")
     {
         AddAppFusionConditionClass addAppFusionConditionClass = new AddAppFusionConditionClass();
         addAppFusionConditionClass.SetUpICardEffect(effectName, (hashtable) => true, card);