CanNotAffectedClass.cs 922 B

12345678910111213141516171819202122232425262728293031
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using System;
  5. public class CanNotAffectedClass : ICardEffect, ICanNotAffectedEffect
  6. {
  7. Func<CardSource, bool> CardCondition { get; set; }
  8. Func<ICardEffect, bool> SkillCondition { get; set; }
  9. public void SetUpCanNotAffectedClass(Func<CardSource, bool> CardCondition, Func<ICardEffect, bool> SkillCondition)
  10. {
  11. this.CardCondition = CardCondition;
  12. this.SkillCondition = SkillCondition;
  13. }
  14. public bool CanNotAffect(CardSource cardSource, ICardEffect cardEffect)
  15. {
  16. if(cardSource != null && cardEffect != null)
  17. {
  18. if(CardCondition != null && SkillCondition != null)
  19. {
  20. if(CardCondition(cardSource) && SkillCondition(cardEffect))
  21. {
  22. return true;
  23. }
  24. }
  25. }
  26. return false;
  27. }
  28. }