/// <summary> /// Add a desire to the agent /// </summary> /// <param name="desire">The desire to add</param> public void AddDesire(Desire <TAction, TAgent, TEnvironment> desire) { Desires.Add(desire); desire.Agent = this; }
/// <summary> /// Is a desire compatible and achievable in combination with this desire/intention /// </summary> /// <param name="otherDesire">Other desire to test</param> /// <returns>True if compatible, false otherwise</returns> internal bool IsCompatibleWith(Desire <TAction, TAgent, TEnvironment> otherDesire) => Desire.IsCompatibleWith(otherDesire);
/// <summary> /// Is a desire compatible and achievable in combination with this desire/intention /// </summary> /// <param name="otherDesire">Other desire to test</param> /// <returns>False by default</returns> public virtual bool IsCompatibleWith(Desire <TAction, TAgent, TEnvironment> otherDesire) => false;
/// <summary> /// Default constructor /// </summary> /// <param name="desire">The desire upon which this intention is based upon</param> public Intention(Desire <TAction, TAgent, TEnvironment> desire) { Desire = desire; }