package HierarchicalFactoryPlayer;
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 EnvironmentPluginAPI.Exceptions.TechnicalException;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class HierarchicalFactoryPlayerDescription implements IAgentSystemPluginDescriptor {
private HierarchicalFactoryPlayerSystem hierarchicalFactoryPlayerSystem;
@Override
public TAgentSystemDescription getDescription() {
Set<TEnvironmentDescription> enviros = new HashSet<TEnvironmentDescription>();
enviros.add(new TEnvironmentDescription("Factory","v0.1",""));
enviros.add(new TEnvironmentDescription("Factory","v0.2",""));
enviros.add(new TEnvironmentDescription("Factory","v0.3",""));
return new TAgentSystemDescription("HierarchicalFactoryPlayer","v0.0.1","Hierarchical Evaluator/Mover agent", enviros);
}
@Override
public List<IAgent> getInternalAgents() {
if(hierarchicalFactoryPlayerSystem != null){
return hierarchicalFactoryPlayerSystem.getInternalAgents();
}
return null;
}
@Override
public IAgentSystem getInstance(IPluginServiceProvider serviceProvider) throws TechnicalException {
hierarchicalFactoryPlayerSystem = new HierarchicalFactoryPlayerSystem(serviceProvider);
return hierarchicalFactoryPlayerSystem;
}
}