using System.Collections; using System.Collections.Generic; using UnityEngine; using System; public class CanSuspendByDigisorptionClass : ICardEffect, ICanSuspendByDigisorptionEffect { public void SetUpCanSuspendByDigisorptionClass(Func PermanentCondition, Func CardEffectCondition, Func _CheckAvailability) { this.PermanentCondition = PermanentCondition; this.CardEffectCondition = CardEffectCondition; this._CheckAvailability = _CheckAvailability; } Func PermanentCondition { get; set; } Func CardEffectCondition { get; set; } Func _CheckAvailability { get; set; } public bool canSuspendDigisorption(Permanent permanent, ICardEffect cardEffect) { if (permanent != null) { if (permanent.TopCard != null) { if (cardEffect != null) { if (PermanentCondition != null) { if (CardEffectCondition != null) { if (PermanentCondition(permanent)) { if (CardEffectCondition(cardEffect)) { return true; } } } } } } } return false; } public bool isCheckAvailability() { if (_CheckAvailability != null) { return _CheckAvailability(); } return false; } }