override protected bool Resolve(Trouble trouble) { if (trouble.getNumber() < limit) { return(true); } else { return(false); } }
public void support(Trouble trouble) { for (Support obj = this; true; obj = obj.next) { if (obj.Resolve(trouble)) { obj.done(trouble); break; } else if (obj.next == null) { obj.fail(trouble); break; } } }
protected void fail(Trouble trouble) { Debug.Log(trouble.toString() + " cannot be resolved."); }
protected void done(Trouble trouble) { Debug.Log(trouble.toString() + " is resolved by " + this.toString() + "."); }
protected abstract bool Resolve(Trouble trouble);
override protected bool Resolve(Trouble trouble) { return(false); }