package Export; import AgentSystemPluginAPI.Contract.IAgentSystem; import AgentSystemPluginAPI.Contract.IAgentSystemPluginDescriptor; import AgentSystemPluginAPI.Contract.TAgentSystemDescription; import AgentSystemPluginAPI.Services.IAgent; import AgentSystemPluginAPI.Services.IPluginServiceProvider; import EnvironmentPluginAPI.Contract.TEnvironmentDescription; import Factory.GameLogic.TransportTypes.TGameState; import sun.reflect.generics.reflectiveObjects.NotImplementedException; import java.util.HashSet; import java.util.List; import java.util.Set; /** * This class */ public class RandomAgentDescriptor implements IAgentSystemPluginDescriptor { private RandomAgentImplementation randomAgentImplementation; @Override public TAgentSystemDescription getDescription() { Set<TEnvironmentDescription> compatibleEnvironments = new HashSet<TEnvironmentDescription>(); compatibleEnvironments.add(new TEnvironmentDescription("Factory", "v0.3", "")); return new TAgentSystemDescription("Random Agent", "v0.1", "An absolutely simple agent system. It chooses randomly what to do. Mainly for testing purposes.", compatibleEnvironments); } @Override public List<IAgent> getInternalAgents() { if(randomAgentImplementation != null) { return randomAgentImplementation.getInternalAgents(); } throw new NotImplementedException(); } @Override public IAgentSystem getInstance(IPluginServiceProvider iAgentSystemServiceProvider) { return new RandomAgentImplementation(); } }