using UnityEngine; using System.Collections; public abstract class Predicate : MonoBehaviour { public bool invert; public bool Check(){ var tmp = CheckInternal(); return invert ? !tmp : tmp; } public bool Check(object param){ var tmp = CheckInternal(param); return invert ? !tmp : tmp; } protected abstract bool CheckInternal(); protected abstract bool CheckInternal(object param); }