IsMinLevel.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using System;
  4. using System.Linq;
  5. using UnityEngine;
  6. using System.Security;
  7. public partial class CardEffectCommons
  8. {
  9. public static bool IsMinLevel(Permanent permanent, Player owner)
  10. {
  11. if (permanent == null) return false;
  12. if (permanent.TopCard == null) return false;
  13. if (permanent.TopCard.Owner != owner) return false;
  14. if (!IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, permanent.TopCard)) return false;
  15. if (!permanent.TopCard.HasLevel) return false;
  16. List<int> Levels = permanent.TopCard.Owner.GetBattleAreaDigimons()
  17. .Filter(permanent1 => permanent1.TopCard.HasLevel)
  18. .Map(permanent1 => permanent1.Level);
  19. return Levels.Count >= 1 && permanent.Level == Levels.Min();
  20. }
  21. public static bool IsMinLevelBoard(Permanent permanent)
  22. {
  23. if (permanent == null) return false;
  24. if (permanent.TopCard == null) return false;
  25. if (!IsPermanentExistsOnBattleAreaDigimon(permanent)) return false;
  26. if (!permanent.TopCard.HasLevel) return false;
  27. List<int> Levels = GManager.instance.turnStateMachine.gameContext.Players
  28. .Map(player => player.GetBattleAreaDigimons())
  29. .Flat()
  30. .Filter(permanent1 => permanent1.TopCard.HasLevel)
  31. .Map(permanent1 => permanent1.Level);
  32. return Levels.Count >= 1 && permanent.Level == Levels.Min();
  33. }
  34. }