17 lines
728 B
C#
17 lines
728 B
C#
namespace Polonium.Agents;
|
|
|
|
public abstract class AgentDecisionMaker<TAgent, TAgentDecisionMaker, TAgentKnowledge, TAgentAction>(DecisionMakerType type)
|
|
where TAgent : Agent<TAgent, TAgentDecisionMaker, TAgentKnowledge, TAgentAction>, new()
|
|
where TAgentDecisionMaker : AgentDecisionMaker<TAgent, TAgentDecisionMaker, TAgentKnowledge, TAgentAction>, new()
|
|
where TAgentKnowledge : AgentKnowledge<TAgent, TAgentDecisionMaker, TAgentKnowledge, TAgentAction>, new()
|
|
where TAgentAction : AgentAction<TAgent, TAgentDecisionMaker, TAgentKnowledge, TAgentAction>, new()
|
|
{
|
|
|
|
|
|
|
|
public DecisionMakerType Type { get; init; } = type;
|
|
|
|
public AgentDecisionMaker() : this(DecisionMakerType.Computer)
|
|
{
|
|
}
|
|
} |