ChangeCardDP.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using System;
  4. using System.Linq;
  5. using UnityEngine;
  6. public partial class CardEffectCommons
  7. {
  8. #region Player gains effect to change security digimon card's DP
  9. public static IEnumerator ChangeSecurityDigimonCardDPPlayerEffect(Func<CardSource, bool> cardCondition, int changeValue, EffectDuration effectDuration, ICardEffect activateClass)
  10. {
  11. if (activateClass == null) yield break;
  12. if (activateClass.EffectSourceCard == null) yield break;
  13. if (changeValue == 0) yield break;
  14. bool isUpValue = changeValue > 0;
  15. string effectName = isUpValue ? $"Security Digimon gains DP +{changeValue}" : $"Security Digimon gains DP {changeValue}";
  16. CardSource card = activateClass.EffectSourceCard;
  17. bool Condition()
  18. {
  19. return true;
  20. }
  21. bool CardCondition(CardSource cardSource)
  22. {
  23. return cardCondition == null || cardCondition(cardSource);
  24. }
  25. ChangeCardDPClass changeDPClass = CardEffectFactory.ChangeSecurityDigimonCardDPStaticEffect(
  26. cardCondition: CardCondition,
  27. changeValue: changeValue,
  28. isInheritedEffect: false,
  29. card: card,
  30. condition: Condition,
  31. effectName: effectName);
  32. AddEffectToPlayer(effectDuration: effectDuration, card: card, cardEffect: changeDPClass, timing: EffectTiming.None);
  33. }
  34. #endregion
  35. }