Selaa lähdekoodia

Update IsOptionalOverrride to IsSkippableFunction

hooperk 3 kuukautta sitten
vanhempi
sitoutus
4c5295788e

+ 1 - 1
Assets/Scripts/CardEffect/BT25/Black/BT25_077.cs

@@ -150,7 +150,7 @@ namespace DCGO.CardEffects.BT25
                 ActivateClass activateClass = new ActivateClass();
                 activateClass.SetUpICardEffect("May suspend 1 Digimon. By Effect: Delete lowest DP enemy digimon", CanUseCondition, card);
                 activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, false, EffectDescription());
-                activateClass.SetIsOptionalOverride(IsOptional);
+                activateClass.SetIsSkippableFunction(IsOptional);
                 activateClass.SetHashString("BT25_077_AT");
                 cardEffects.Add(activateClass);
 

+ 0 - 3
Assets/Scripts/CardEffect/ST23/Yellow/ST23_05.cs

@@ -37,15 +37,12 @@ namespace DCGO.CardEffects.ST23
                                                               SharedActivateCoroutine,
                                                               SharedEffectDescription,
                                                               false,
-                                                              isOptionalFunction: IsOptional,
                                                               maxCountPerTurn: 1,
                                                               hashValue: SharedHashString,
                                                               whenDigivolving: true,
                                                               whenAttacking: true
                                                               );
 
-            bool IsOptional(Hashtable hashtable) => !CardEffectCommons.HasMatchConditionPermanent(IsWeakestEnemyDigimon);
-
             bool IsWeakestEnemyDigimon(Permanent permanent) => CardEffectCommons.IsMinDP(permanent, card.Owner.Enemy);
 
             IEnumerator SharedActivateCoroutine(Hashtable hashtable, ActivateClass activateClass)

+ 55 - 55
Assets/Scripts/Script/CardEffectFactory.cs

@@ -834,7 +834,7 @@ public partial class CardEffectFactory
                                                                     bool optional,
                                                                     Func<Hashtable, ActivateClass, bool> additionalUseCondition = null,
                                                                     Func<Hashtable, ActivateClass, bool> additionalActivateCondition = null, 
-                                                                    Func<Hashtable, bool> isOptionalFunction = null,
+                                                                    Func<Hashtable, bool> isSkippableFunction = null,
                                                                     bool isSkippable = false,
                                                                     int maxCountPerTurn = -1,
                                                                     string hashValue = null,
@@ -853,51 +853,51 @@ public partial class CardEffectFactory
     {
         if (whenMoving && timing == EffectTiming.OnMove)
         {
-            cardEffects.Add(WhenMovingClass(card, effectName, activateCoroutine, effectDescription("When Moving"), optional, isOptionalFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isSkippable: isSkippable));
+            cardEffects.Add(WhenMovingClass(card, effectName, activateCoroutine, effectDescription("When Moving"), optional, isSkippableFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isSkippable: isSkippable));
         }
         if (onPlay && timing == EffectTiming.OnEnterFieldAnyone)
         {
-            cardEffects.Add(OnPlayClass(card, effectName, activateCoroutine, effectDescription("On Play"), optional, isOptionalFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isSkippable: isSkippable));
+            cardEffects.Add(OnPlayClass(card, effectName, activateCoroutine, effectDescription("On Play"), optional, isSkippableFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isSkippable: isSkippable));
         }
         if (whenDigivolving && timing == EffectTiming.OnEnterFieldAnyone)
         {
-            cardEffects.Add(WhenDigivolvingClass(card, effectName, activateCoroutine, effectDescription("When Digivolving"), optional, isOptionalFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isSkippable: isSkippable));
+            cardEffects.Add(WhenDigivolvingClass(card, effectName, activateCoroutine, effectDescription("When Digivolving"), optional, isSkippableFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isSkippable: isSkippable));
         }
         if (whenAttacking && timing == EffectTiming.OnAllyAttack)
         {
-            cardEffects.Add(WhenAttackingClass(card, effectName, activateCoroutine, effectDescription("When Attacking"), optional, isOptionalFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isSkippable: isSkippable));
+            cardEffects.Add(WhenAttackingClass(card, effectName, activateCoroutine, effectDescription("When Attacking"), optional, isSkippableFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isSkippable: isSkippable));
         }
         if (onDeletion && timing == EffectTiming.OnDestroyedAnyone)
         {
-            cardEffects.Add(OnDeletionClass(card, effectName, activateCoroutine, effectDescription("On Deletion"), optional, isOptionalFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isSkippable: isSkippable));
+            cardEffects.Add(OnDeletionClass(card, effectName, activateCoroutine, effectDescription("On Deletion"), optional, isSkippableFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isSkippable: isSkippable));
         }
         if (whenLinking && timing == EffectTiming.WhenLinked)
         {
-            cardEffects.Add(WhenLinkingClass(card, effectName, activateCoroutine, effectDescription("When Linking"), optional, isOptionalFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isSkippable: isSkippable));
+            cardEffects.Add(WhenLinkingClass(card, effectName, activateCoroutine, effectDescription("When Linking"), optional, isSkippableFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isSkippable: isSkippable));
         }
         if (endOfAttack && timing == EffectTiming.OnEndAttack)
         {
-            cardEffects.Add(EndOfAttackClass(card, effectName, activateCoroutine, effectDescription("End of Attack"), optional, isOptionalFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isSkippable: isSkippable));
+            cardEffects.Add(EndOfAttackClass(card, effectName, activateCoroutine, effectDescription("End of Attack"), optional, isSkippableFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isSkippable: isSkippable));
         }
         if (endOfYourTurn && timing == EffectTiming.OnEndTurn)
         {
-            cardEffects.Add(EndOfYourTurnClass(card, effectName, activateCoroutine, effectDescription("End of Your Turn"), optional, isOptionalFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isSkippable: isSkippable));
+            cardEffects.Add(EndOfYourTurnClass(card, effectName, activateCoroutine, effectDescription("End of Your Turn"), optional, isSkippableFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isSkippable: isSkippable));
         }
         if (endOfOpponentTurn && timing == EffectTiming.OnEndTurn)
         {
-            cardEffects.Add(EndOfYourOpponentsTurnClass(card, effectName, activateCoroutine, effectDescription("End of Opponent's Turn"), optional, isOptionalFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isSkippable: isSkippable));
+            cardEffects.Add(EndOfYourOpponentsTurnClass(card, effectName, activateCoroutine, effectDescription("End of Opponent's Turn"), optional, isSkippableFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isSkippable: isSkippable));
         }
         if (endOfAllTurns && timing == EffectTiming.OnEndTurn)
         {
-            cardEffects.Add(EndOfAllTurnsClass(card, effectName, activateCoroutine, effectDescription("End of All Turns"), optional, isOptionalFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isSkippable: isSkippable));
+            cardEffects.Add(EndOfAllTurnsClass(card, effectName, activateCoroutine, effectDescription("End of All Turns"), optional, isSkippableFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isSkippable: isSkippable));
         }
         if(startOfYourMainPhase && timing == EffectTiming.OnStartMainPhase)
         {
-            cardEffects.Add(StartOfYourMainPhaseClass(card, effectName, activateCoroutine, effectDescription("Start of Your Main Phase"), optional, isOptionalFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isSkippable: isSkippable));
+            cardEffects.Add(StartOfYourMainPhaseClass(card, effectName, activateCoroutine, effectDescription("Start of Your Main Phase"), optional, isSkippableFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isSkippable: isSkippable));
         }
         if (counter && timing == EffectTiming.OnCounterTiming)
         {
-            cardEffects.Add(CounterClass(card, effectName, activateCoroutine, effectDescription("Counter"), optional, isOptionalFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isSkippable: isSkippable));
+            cardEffects.Add(CounterClass(card, effectName, activateCoroutine, effectDescription("Counter"), optional, isSkippableFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isSkippable: isSkippable));
         }
 
         return cardEffects;
@@ -914,7 +914,7 @@ public partial class CardEffectFactory
                                                 Func<Hashtable, ActivateClass, IEnumerator> activateCoroutine,
                                                 string effectDescription,
                                                 bool optional,
-                                                Func<Hashtable, bool> isOptionalFunction = null,
+                                                Func<Hashtable, bool> isSkippableFunction = null,
                                                 int maxCountPerTurn = -1,
                                                 string hashValue = null,
                                                 bool isInheritedEffect = false,
@@ -928,7 +928,7 @@ public partial class CardEffectFactory
         activateClass.SetUpActivateClass(hashtable => canActivateCondition(hashtable, activateClass), hashtable => activateCoroutine(hashtable, activateClass), maxCountPerTurn, optional, effectDescription);
         activateClass.SetHashString(hashValue);
         activateClass.SetIsSecurityEffect(isSecurityEffect);
-        activateClass.SetIsOptionalOverride(isOptionalFunction);
+        activateClass.SetIsSkippableFunction(isSkippableFunction);
         activateClass.SetIsSkippable(isSkippable);
         return activateClass;
     }
@@ -942,7 +942,7 @@ public partial class CardEffectFactory
                                                 Func<Hashtable, ActivateClass, IEnumerator> activateCoroutine,
                                                 string effectDescription,
                                                 bool optional,
-                                                Func<Hashtable, bool> isOptionalFunction = null,
+                                                Func<Hashtable, bool> isSkippableFunction = null,
                                                 Func<Hashtable, ActivateClass, bool> additionalUseCondition = null,
                                                 Func<Hashtable, ActivateClass, bool> additionalActivateCondition = null,
                                                 int maxCountPerTurn = -1,
@@ -950,7 +950,7 @@ public partial class CardEffectFactory
                                                 bool isInherited = false,
                                                 bool isSkippable = false)
     {
-        return ActivateClass(card, effectName, CanUseCondition, CanActivateCondition, activateCoroutine, effectDescription, optional, isOptionalFunction, maxCountPerTurn, hashValue, isInherited, false, isSkippable: isSkippable);
+        return ActivateClass(card, effectName, CanUseCondition, CanActivateCondition, activateCoroutine, effectDescription, optional, isSkippableFunction, maxCountPerTurn, hashValue, isInherited, false, isSkippable: isSkippable);
 
         bool PermanentCondition(Permanent permanent)
         {
@@ -980,7 +980,7 @@ public partial class CardEffectFactory
                                             Func<Hashtable, ActivateClass, IEnumerator> activateCoroutine,
                                             string effectDescription,
                                             bool optional,
-                                            Func<Hashtable, bool> isOptionalFunction = null,
+                                            Func<Hashtable, bool> isSkippableFunction = null,
                                             Func<Hashtable, ActivateClass, bool> additionalUseCondition = null,
                                             Func<Hashtable, ActivateClass, bool> additionalActivateCondition = null,
                                             int maxCountPerTurn = -1,
@@ -988,7 +988,7 @@ public partial class CardEffectFactory
                                             bool isInherited = false,
                                             bool isSkippable = false)
     {
-        return ActivateClass(card, effectName, CanUseCondition, CanActivateCondition, activateCoroutine, effectDescription, optional, isOptionalFunction, maxCountPerTurn, hashValue, isInherited, false, isSkippable: isSkippable);
+        return ActivateClass(card, effectName, CanUseCondition, CanActivateCondition, activateCoroutine, effectDescription, optional, isSkippableFunction, maxCountPerTurn, hashValue, isInherited, false, isSkippable: isSkippable);
 
         bool CanUseCondition(Hashtable hashtable, ActivateClass activateClass)
         {
@@ -1013,7 +1013,7 @@ public partial class CardEffectFactory
                                                         Func<Hashtable, ActivateClass, IEnumerator> activateCoroutine,
                                                         string effectDescription,
                                                         bool optional,
-                                                        Func<Hashtable, bool> isOptionalFunction = null,
+                                                        Func<Hashtable, bool> isSkippableFunction = null,
                                                         Func<Hashtable, ActivateClass, bool> additionalUseCondition = null,
                                                         Func<Hashtable, ActivateClass, bool> additionalActivateCondition = null,
                                                         int maxCountPerTurn = -1,
@@ -1022,7 +1022,7 @@ public partial class CardEffectFactory
                                                         bool isLinked = false,
                                                         bool isSkippable = false)
     {
-        return ActivateClass(card, effectName, CanUseCondition, CanActivateCondition, activateCoroutine, effectDescription, optional, isOptionalFunction, maxCountPerTurn, hashValue, isInherited, isLinked, isSkippable: isSkippable);
+        return ActivateClass(card, effectName, CanUseCondition, CanActivateCondition, activateCoroutine, effectDescription, optional, isSkippableFunction, maxCountPerTurn, hashValue, isInherited, isLinked, isSkippable: isSkippable);
 
         bool CanUseCondition(Hashtable hashtable, ActivateClass activateClass)
         {
@@ -1046,7 +1046,7 @@ public partial class CardEffectFactory
                                                     Func<Hashtable, ActivateClass, IEnumerator> activateCoroutine,
                                                     string effectDescription,
                                                     bool optional,
-                                                    Func<Hashtable, bool> isOptionalFunction = null,
+                                                    Func<Hashtable, bool> isSkippableFunction = null,
                                                     Func<Hashtable, ActivateClass, bool> additionalUseCondition = null,
                                                     Func<Hashtable, ActivateClass, bool> additionalActivateCondition = null,
                                                     int maxCountPerTurn = -1,
@@ -1055,7 +1055,7 @@ public partial class CardEffectFactory
                                                     bool isLinked = false,
                                                     bool isSkippable = false)
     {
-        return ActivateClass(card, effectName, CanUseCondition, CanActivateCondition, activateCoroutine, effectDescription, optional, isOptionalFunction, maxCountPerTurn, hashValue, isInherited, isLinked, isSkippable: isSkippable);
+        return ActivateClass(card, effectName, CanUseCondition, CanActivateCondition, activateCoroutine, effectDescription, optional, isSkippableFunction, maxCountPerTurn, hashValue, isInherited, isLinked, isSkippable: isSkippable);
 
         bool CanUseCondition(Hashtable hashtable, ActivateClass activateClass)
         {
@@ -1080,7 +1080,7 @@ public partial class CardEffectFactory
                                                 Func<Hashtable, ActivateClass, IEnumerator> activateCoroutine,
                                                 string effectDescription,
                                                 bool optional,
-                                                Func<Hashtable, bool> isOptionalFunction = null,
+                                                Func<Hashtable, bool> isSkippableFunction = null,
                                                 Func<Hashtable, ActivateClass, bool> additionalUseCondition = null,
                                                 Func<Hashtable, ActivateClass, bool> additionalActivateCondition = null,
                                                 int maxCountPerTurn = -1,
@@ -1089,7 +1089,7 @@ public partial class CardEffectFactory
                                                 bool isLinked = false,
                                                 bool isSkippable = false)
     {
-        return ActivateClass(card, effectName, CanUseCondition, CanActivateCondition, activateCoroutine, effectDescription, optional, isOptionalFunction, maxCountPerTurn, hashValue, isInherited, isLinked, isSkippable: isSkippable);
+        return ActivateClass(card, effectName, CanUseCondition, CanActivateCondition, activateCoroutine, effectDescription, optional, isSkippableFunction, maxCountPerTurn, hashValue, isInherited, isLinked, isSkippable: isSkippable);
 
         bool CanUseCondition(Hashtable hashtable, ActivateClass activateClass)
         {
@@ -1114,7 +1114,7 @@ public partial class CardEffectFactory
                                                 Func<Hashtable, ActivateClass, IEnumerator> activateCoroutine,
                                                 string effectDescription,
                                                 bool optional,
-                                                Func<Hashtable, bool> isOptionalFunction = null,
+                                                Func<Hashtable, bool> isSkippableFunction = null,
                                                 Func<Hashtable, ActivateClass, bool> additionalUseCondition = null,
                                                 Func<Hashtable, ActivateClass, bool> additionalActivateCondition = null,
                                                 int maxCountPerTurn = -1,
@@ -1124,7 +1124,7 @@ public partial class CardEffectFactory
                                                 bool isSkippable = false
                                                 )
     {
-        return ActivateClass(card, effectName, CanUseCondition, CanActivateCondition, activateCoroutine, effectDescription, optional, isOptionalFunction, maxCountPerTurn, hashValue, isInherited, isLinked, isSkippable: isSkippable);
+        return ActivateClass(card, effectName, CanUseCondition, CanActivateCondition, activateCoroutine, effectDescription, optional, isSkippableFunction, maxCountPerTurn, hashValue, isInherited, isLinked, isSkippable: isSkippable);
 
         bool CanUseCondition(Hashtable hashtable, ActivateClass activateClass)
         {
@@ -1149,12 +1149,12 @@ public partial class CardEffectFactory
                                                 Func<Hashtable, ActivateClass, IEnumerator> activateCoroutine,
                                                 string effectDescription,
                                                 bool optional,
-                                                Func<Hashtable, bool> isOptionalFunction = null,
+                                                Func<Hashtable, bool> isSkippableFunction = null,
                                                 Func<Hashtable, ActivateClass, bool> additionalUseCondition = null,
                                                 Func<Hashtable, ActivateClass, bool> additionalActivateCondition = null,
                                                 bool isSkippable = false)
     {
-        ActivateClass activateClass = ActivateClass(card, effectName, CanUseCondition, additionalActivateCondition, activateCoroutine, effectDescription, optional, isOptionalFunction, -1, null, false, false, true, isSkippable);
+        ActivateClass activateClass = ActivateClass(card, effectName, CanUseCondition, additionalActivateCondition, activateCoroutine, effectDescription, optional, isSkippableFunction, -1, null, false, false, true, isSkippable);
         return activateClass;
 
         bool CanUseCondition(Hashtable hashtable, ActivateClass activateClass)
@@ -1173,7 +1173,7 @@ public partial class CardEffectFactory
                                                 Func<Hashtable, ActivateClass, IEnumerator> activateCoroutine,
                                                 string effectDescription,
                                                 bool optional,
-                                                Func<Hashtable, bool> isOptionalFunction = null,
+                                                Func<Hashtable, bool> isSkippableFunction = null,
                                                 Func<Hashtable, ActivateClass, bool> additionalUseCondition = null,
                                                 Func<Hashtable, ActivateClass, bool> additionalActivateCondition = null,
                                                 int maxCountPerTurn = -1,
@@ -1182,7 +1182,7 @@ public partial class CardEffectFactory
                                                 bool isLinked = false,
                                                 bool isSkippable = false)
     {
-        return ActivateClass(card, effectName, CanUseCondition, CanActivateCondition, activateCoroutine, effectDescription, optional, isOptionalFunction, maxCountPerTurn, hashValue, isInherited, isLinked, isSkippable: isSkippable);
+        return ActivateClass(card, effectName, CanUseCondition, CanActivateCondition, activateCoroutine, effectDescription, optional, isSkippableFunction, maxCountPerTurn, hashValue, isInherited, isLinked, isSkippable: isSkippable);
 
         bool CanUseCondition(Hashtable hashtable, ActivateClass activateClass)
         {
@@ -1209,7 +1209,7 @@ public partial class CardEffectFactory
                                                 Func<Hashtable, ActivateClass, IEnumerator> activateCoroutine,
                                                 string effectDescription,
                                                 bool optional,
-                                                Func<Hashtable, bool> isOptionalFunction = null,
+                                                Func<Hashtable, bool> isSkippableFunction = null,
                                                 Func<Hashtable, ActivateClass, bool> additionalUseCondition = null,
                                                 Func<Hashtable, ActivateClass, bool> additionalActivateCondition = null,
                                                 int maxCountPerTurn = -1,
@@ -1218,7 +1218,7 @@ public partial class CardEffectFactory
                                                 bool isLinked = false,
                                                 bool isSkippable = false)
     {
-        ActivateClass activateClass = ActivateClass(card, effectName, CanUseCondition, CanActivateCondition, activateCoroutine, effectDescription, optional, isOptionalFunction, maxCountPerTurn, hashValue, isInherited, isLinked, isSkippable: isSkippable);
+        ActivateClass activateClass = ActivateClass(card, effectName, CanUseCondition, CanActivateCondition, activateCoroutine, effectDescription, optional, isSkippableFunction, maxCountPerTurn, hashValue, isInherited, isLinked, isSkippable: isSkippable);
         activateClass.SetIsCounterEffect(true);
         return activateClass;
 
@@ -1251,7 +1251,7 @@ public partial class CardEffectFactory
                                                 Func<Hashtable, ActivateClass, IEnumerator> activateCoroutine,
                                                 string effectDescription,
                                                 bool optional,
-                                                Func<Hashtable, bool> isOptionalFunction = null,
+                                                Func<Hashtable, bool> isSkippableFunction = null,
                                                 Func<Hashtable, ActivateClass, bool> additionalUseCondition = null,
                                                 Func<Hashtable, ActivateClass, bool> additionalActivateCondition = null,
                                                 int maxCountPerTurn = -1,
@@ -1262,7 +1262,7 @@ public partial class CardEffectFactory
                                                 bool opponentTurn = false,
                                                 bool isSkippable = false)
     {
-        return ActivateClass(card, effectName, CanUseCondition, CanActivateCondition, activateCoroutine, effectDescription, optional, isOptionalFunction, maxCountPerTurn, hashValue, isInherited, isLinked, isSkippable: isSkippable);
+        return ActivateClass(card, effectName, CanUseCondition, CanActivateCondition, activateCoroutine, effectDescription, optional, isSkippableFunction, maxCountPerTurn, hashValue, isInherited, isLinked, isSkippable: isSkippable);
 
         bool CanUseCondition(Hashtable hashtable, ActivateClass activateClass)
         {
@@ -1289,7 +1289,7 @@ public partial class CardEffectFactory
                                                 Func<Hashtable, ActivateClass, IEnumerator> activateCoroutine,
                                                 string effectDescription,
                                                 bool optional,
-                                                Func<Hashtable, bool> isOptionalFunction = null,
+                                                Func<Hashtable, bool> isSkippableFunction = null,
                                                 Func<Hashtable, ActivateClass, bool> additionalUseCondition = null,
                                                 Func<Hashtable, ActivateClass, bool> additionalActivateCondition = null,
                                                 int maxCountPerTurn = -1,
@@ -1298,7 +1298,7 @@ public partial class CardEffectFactory
                                                 bool isLinked = false,
                                                 bool isSkippable = false)
     {
-        return TurnTimingClass(card, effectName, activateCoroutine, effectDescription, optional, isOptionalFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isInherited, isLinked, true, false, isSkippable);
+        return TurnTimingClass(card, effectName, activateCoroutine, effectDescription, optional, isSkippableFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isInherited, isLinked, true, false, isSkippable);
     }
 
     public static ActivateClass StartOfYourMainPhaseClass(CardSource card,
@@ -1306,7 +1306,7 @@ public partial class CardEffectFactory
                                                 Func<Hashtable, ActivateClass, IEnumerator> activateCoroutine,
                                                 string effectDescription,
                                                 bool optional,
-                                                Func<Hashtable, bool> isOptionalFunction = null,
+                                                Func<Hashtable, bool> isSkippableFunction = null,
                                                 Func<Hashtable, ActivateClass, bool> additionalUseCondition = null,
                                                 Func<Hashtable, ActivateClass, bool> additionalActivateCondition = null,
                                                 int maxCountPerTurn = -1,
@@ -1315,7 +1315,7 @@ public partial class CardEffectFactory
                                                 bool isLinked = false,
                                                 bool isSkippable = false)
     {
-        return TurnTimingClass(card, effectName, activateCoroutine, effectDescription, optional, isOptionalFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isInherited, isLinked, true, false, isSkippable);
+        return TurnTimingClass(card, effectName, activateCoroutine, effectDescription, optional, isSkippableFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isInherited, isLinked, true, false, isSkippable);
     }
 
     public static ActivateClass EndOfYourTurnClass(CardSource card,
@@ -1323,7 +1323,7 @@ public partial class CardEffectFactory
                                                 Func<Hashtable, ActivateClass, IEnumerator> activateCoroutine,
                                                 string effectDescription,
                                                 bool optional,
-                                                Func<Hashtable, bool> isOptionalFunction = null,
+                                                Func<Hashtable, bool> isSkippableFunction = null,
                                                 Func<Hashtable, ActivateClass, bool> additionalUseCondition = null,
                                                 Func<Hashtable, ActivateClass, bool> additionalActivateCondition = null,
                                                 int maxCountPerTurn = -1,
@@ -1332,7 +1332,7 @@ public partial class CardEffectFactory
                                                 bool isLinked = false,
                                                 bool isSkippable = false)
     {
-        return TurnTimingClass(card, effectName, activateCoroutine, effectDescription, optional, isOptionalFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isInherited, isLinked, true, false, isSkippable);
+        return TurnTimingClass(card, effectName, activateCoroutine, effectDescription, optional, isSkippableFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isInherited, isLinked, true, false, isSkippable);
     }
 
     public static ActivateClass YourTurnClass(CardSource card,
@@ -1340,7 +1340,7 @@ public partial class CardEffectFactory
                                                 Func<Hashtable, ActivateClass, IEnumerator> activateCoroutine,
                                                 string effectDescription,
                                                 bool optional,
-                                                Func<Hashtable, bool> isOptionalFunction = null,
+                                                Func<Hashtable, bool> isSkippableFunction = null,
                                                 Func<Hashtable, ActivateClass, bool> additionalUseCondition = null,
                                                 Func<Hashtable, ActivateClass, bool> additionalActivateCondition = null,
                                                 int maxCountPerTurn = -1,
@@ -1349,7 +1349,7 @@ public partial class CardEffectFactory
                                                 bool isLinked = false,
                                                 bool isSkippable = false)
     {
-        return TurnTimingClass(card, effectName, activateCoroutine, effectDescription, optional, isOptionalFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isInherited, isLinked, true, false, isSkippable);
+        return TurnTimingClass(card, effectName, activateCoroutine, effectDescription, optional, isSkippableFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isInherited, isLinked, true, false, isSkippable);
     }
 
     #endregion
@@ -1361,7 +1361,7 @@ public partial class CardEffectFactory
                                                 Func<Hashtable, ActivateClass, IEnumerator> activateCoroutine,
                                                 string effectDescription,
                                                 bool optional,
-                                                Func<Hashtable, bool> isOptionalFunction = null,
+                                                Func<Hashtable, bool> isSkippableFunction = null,
                                                 Func<Hashtable, ActivateClass, bool> additionalUseCondition = null,
                                                 Func<Hashtable, ActivateClass, bool> additionalActivateCondition = null,
                                                 int maxCountPerTurn = -1,
@@ -1370,7 +1370,7 @@ public partial class CardEffectFactory
                                                 bool isLinked = false,
                                                 bool isSkippable = false)
     {
-        return TurnTimingClass(card, effectName, activateCoroutine, effectDescription, optional, isOptionalFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isInherited, isLinked, false, true, isSkippable);
+        return TurnTimingClass(card, effectName, activateCoroutine, effectDescription, optional, isSkippableFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isInherited, isLinked, false, true, isSkippable);
     }
 
     public static ActivateClass StartOfYourOpponentsMainPhaseClass(CardSource card,
@@ -1378,7 +1378,7 @@ public partial class CardEffectFactory
                                                 Func<Hashtable, ActivateClass, IEnumerator> activateCoroutine,
                                                 string effectDescription,
                                                 bool optional,
-                                                Func<Hashtable, bool> isOptionalFunction = null,
+                                                Func<Hashtable, bool> isSkippableFunction = null,
                                                 Func<Hashtable, ActivateClass, bool> additionalUseCondition = null,
                                                 Func<Hashtable, ActivateClass, bool> additionalActivateCondition = null,
                                                 int maxCountPerTurn = -1,
@@ -1387,7 +1387,7 @@ public partial class CardEffectFactory
                                                 bool isLinked = false,
                                                 bool isSkippable = false)
     {
-        return TurnTimingClass(card, effectName, activateCoroutine, effectDescription, optional, isOptionalFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isInherited, isLinked, false, true, isSkippable);
+        return TurnTimingClass(card, effectName, activateCoroutine, effectDescription, optional, isSkippableFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isInherited, isLinked, false, true, isSkippable);
     }
 
     public static ActivateClass EndOfYourOpponentsTurnClass(CardSource card,
@@ -1395,7 +1395,7 @@ public partial class CardEffectFactory
                                                 Func<Hashtable, ActivateClass, IEnumerator> activateCoroutine,
                                                 string effectDescription,
                                                 bool optional,
-                                                Func<Hashtable, bool> isOptionalFunction = null,
+                                                Func<Hashtable, bool> isSkippableFunction = null,
                                                 Func<Hashtable, ActivateClass, bool> additionalUseCondition = null,
                                                 Func<Hashtable, ActivateClass, bool> additionalActivateCondition = null,
                                                 int maxCountPerTurn = -1,
@@ -1404,7 +1404,7 @@ public partial class CardEffectFactory
                                                 bool isLinked = false,
                                                 bool isSkippable = false)
     {
-        return TurnTimingClass(card, effectName, activateCoroutine, effectDescription, optional, isOptionalFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isInherited, isLinked, false, true, isSkippable);
+        return TurnTimingClass(card, effectName, activateCoroutine, effectDescription, optional, isSkippableFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isInherited, isLinked, false, true, isSkippable);
     }
 
     public static ActivateClass OpponentsTurnClass(CardSource card,
@@ -1412,7 +1412,7 @@ public partial class CardEffectFactory
                                                 Func<Hashtable, ActivateClass, IEnumerator> activateCoroutine,
                                                 string effectDescription,
                                                 bool optional,
-                                                Func<Hashtable, bool> isOptionalFunction = null,
+                                                Func<Hashtable, bool> isSkippableFunction = null,
                                                 Func<Hashtable, ActivateClass, bool> additionalUseCondition = null,
                                                 Func<Hashtable, ActivateClass, bool> additionalActivateCondition = null,
                                                 int maxCountPerTurn = -1,
@@ -1421,7 +1421,7 @@ public partial class CardEffectFactory
                                                 bool isLinked = false,
                                                 bool isSkippable = false)
     {
-        return TurnTimingClass(card, effectName, activateCoroutine, effectDescription, optional, isOptionalFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isInherited, isLinked, false, true, isSkippable);
+        return TurnTimingClass(card, effectName, activateCoroutine, effectDescription, optional, isSkippableFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isInherited, isLinked, false, true, isSkippable);
     }
 
     #endregion
@@ -1433,7 +1433,7 @@ public partial class CardEffectFactory
                                                 Func<Hashtable, ActivateClass, IEnumerator> activateCoroutine,
                                                 string effectDescription,
                                                 bool optional,
-                                                Func<Hashtable, bool> isOptionalFunction = null,
+                                                Func<Hashtable, bool> isSkippableFunction = null,
                                                 Func<Hashtable, ActivateClass, bool> additionalUseCondition = null,
                                                 Func<Hashtable, ActivateClass, bool> additionalActivateCondition = null,
                                                 int maxCountPerTurn = -1,
@@ -1442,7 +1442,7 @@ public partial class CardEffectFactory
                                                 bool isLinked = false,
                                                 bool isSkippable = false)
     {
-        return TurnTimingClass(card, effectName, activateCoroutine, effectDescription, optional, isOptionalFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isInherited, isLinked, true, true, isSkippable);
+        return TurnTimingClass(card, effectName, activateCoroutine, effectDescription, optional, isSkippableFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isInherited, isLinked, true, true, isSkippable);
     }
 
     public static ActivateClass AllTurnsClass(CardSource card,
@@ -1450,7 +1450,7 @@ public partial class CardEffectFactory
                                                 Func<Hashtable, ActivateClass, IEnumerator> activateCoroutine,
                                                 string effectDescription,
                                                 bool optional,
-                                                Func<Hashtable, bool> isOptionalFunction = null,
+                                                Func<Hashtable, bool> isSkippableFunction = null,
                                                 Func<Hashtable, ActivateClass, bool> additionalUseCondition = null,
                                                 Func<Hashtable, ActivateClass, bool> additionalActivateCondition = null,
                                                 int maxCountPerTurn = -1,
@@ -1459,7 +1459,7 @@ public partial class CardEffectFactory
                                                 bool isLinked = false,
                                                 bool isSkippable = false)
     {
-        return TurnTimingClass(card, effectName, activateCoroutine, effectDescription, optional, isOptionalFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isInherited, isLinked, true, true, isSkippable);
+        return TurnTimingClass(card, effectName, activateCoroutine, effectDescription, optional, isSkippableFunction, additionalUseCondition, additionalActivateCondition, maxCountPerTurn, hashValue, isInherited, isLinked, true, true, isSkippable);
     }
 
     #endregion

+ 8 - 8
Assets/Scripts/Script/ICardEffect.cs

@@ -26,7 +26,7 @@ public abstract class ICardEffect
         SetCanActivateCondition(null);
 
         SetIsOptional(false);
-        SetIsOptionalOverride(null);
+        SetIsSkippableFunction(null);
         SetUseOptional(false);
         SetIsDeclarative(false);
         SetIsInheritedEffect(false);
@@ -286,13 +286,13 @@ public abstract class ICardEffect
     #region Override IsOptional with a function
 
     Func<Hashtable, bool> _isOptionalFunction = null;
-    public bool IsOptionalCondition(Hashtable hashtable)
+    public bool IsSkippableCondition(Hashtable hashtable)
     {
         if (_isOptionalFunction != null) return _isOptionalFunction(hashtable);
         return IsOptional;
     }
 
-    public void SetIsOptionalOverride(Func<Hashtable, bool> isOptionalOverride)
+    public void SetIsSkippableFunction(Func<Hashtable, bool> isOptionalOverride)
     {
         _isOptionalFunction = isOptionalOverride;
     }
@@ -305,7 +305,7 @@ public abstract class ICardEffect
 
     public bool IsSkippable(Hashtable hashtable)
     {
-        return _isSkippable || IsOptionalCondition(hashtable);
+        return _isSkippable || IsSkippableCondition(hashtable);
     }
 
     public void SetIsSkippable(bool isSkippable)
@@ -1025,7 +1025,7 @@ public static class ActivateICardEffectExtensionClass
 
     public static IEnumerator Activate_Optional(this ActivateICardEffect activateICardEffect, Hashtable hash)
     {
-        if (((ICardEffect)activateICardEffect).IsOptionalCondition(hash))
+        if (((ICardEffect)activateICardEffect).IsOptional)
         {
             yield return ContinuousController.instance.StartCoroutine(GManager.instance.GetComponent<OptionalSkill>().SelectOptional((ICardEffect)activateICardEffect, hash));
         }
@@ -1091,7 +1091,7 @@ public static class ActivateICardEffectExtensionClass
 
     public static IEnumerator Activate_Execute(this ActivateICardEffect activateICardEffect, Hashtable hash)
     {
-        if (((ICardEffect)activateICardEffect).UseOptional || !((ICardEffect)activateICardEffect).IsOptionalCondition(hash))
+        if (((ICardEffect)activateICardEffect).UseOptional || !((ICardEffect)activateICardEffect).IsOptional)
         {
             ((ICardEffect)activateICardEffect).OnProcessCallbuck?.Invoke();
             ((ICardEffect)activateICardEffect).SetOnProcessCallbuck(null);
@@ -1164,7 +1164,7 @@ public static class ActivateICardEffectExtensionClass
         {
             UnityEngine.Debug.Log($"Activate_Optional_Effect_Execute: {((ICardEffect)activateICardEffect).EffectSourceCard.BaseENGCardNameFromEntity}");
             //Optional effect activation selection
-            if (((ICardEffect)activateICardEffect).IsOptionalCondition(hash))
+            if (((ICardEffect)activateICardEffect).IsOptional)
             {
                 if (isCheckOptional)
                 {
@@ -1226,7 +1226,7 @@ public static class ActivateICardEffectExtensionClass
     public static IEnumerator Activate_Effect_Execute(this ActivateICardEffect activateICardEffect, Hashtable hash, UnityAction<ICardEffect> useEffectCallback)
     {
         //cost → effect processing
-        if (((ICardEffect)activateICardEffect).UseOptional || !((ICardEffect)activateICardEffect).IsOptionalCondition(hash))
+        if (((ICardEffect)activateICardEffect).UseOptional || !((ICardEffect)activateICardEffect).IsOptional)
         {
             useEffectCallback?.Invoke((ICardEffect)activateICardEffect);