override protected bool Resolve(Trouble trouble) { if (trouble.getNumber() == number) { return(true); } else { return(false); } }
public void support(Trouble trouble) { if (Resolve(trouble)) { done(trouble); } else if (next != null) { next.support(trouble); } else { fail(trouble); } }
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); }