///<summary> ///adds a subgoal to the front of the subgoal list ///</summary> ///<param name="goal"></param> public override void AddSubgoal(Goal goal) { Subgoals.Push(goal); }
///<summary> ///a Goal is atomic and cannot aggregate subgoals yet we must implement ///this method to provide the uniform interface required for the goal ///hierarchy. ///</summary> ///<param name="goal"></param> ///<exception cref="ApplicationException"></exception> public virtual void AddSubgoal(Goal goal) { throw new ApplicationException("Cannot add goals to atomic goals"); }