WhenDiscardLibrary.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  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 Can trigger "when this permanent suspends" effect
  9. public static bool CanTriggerWhenSelfDiscardLibrary(Hashtable hashtable, CardSource card)
  10. {
  11. return CanTriggerWhenDiscardLibrary(hashtable, (cardSource) => cardSource == card);
  12. }
  13. #endregion
  14. #region Can trigger "when permanent suspends" effect
  15. public static bool CanTriggerWhenDiscardLibrary(Hashtable hashtable, Func<CardSource, bool> cardCondition)
  16. {
  17. List<CardSource> DiscardedCards = GetDiscardedCardsFromHashtable(hashtable);
  18. if (DiscardedCards != null)
  19. {
  20. if (DiscardedCards.Some((cardSource) =>
  21. cardSource != null
  22. && !cardSource.IsBeingRevealed
  23. && (cardCondition == null || cardCondition(cardSource))))
  24. {
  25. return true;
  26. }
  27. }
  28. return false;
  29. }
  30. #endregion
  31. }