package fr.utc.leapband.sma.server;
import jade.core.AID;
import jade.core.Agent;
import jade.domain.DFService;
import jade.domain.FIPAException;
import jade.domain.FIPAAgentManagement.DFAgentDescription;
import jade.domain.FIPAAgentManagement.ServiceDescription;
import java.util.ArrayList;
import java.util.List;
import javax.swing.DefaultListModel;
@SuppressWarnings("serial")
public class MultiPlayAgent extends Agent{
private DefaultListModel<String> dict;
private List<AID> MultiPlayUsers;
private int room_ids = 0;
public int getRoom_ids() {
return room_ids;
}
public void setRoom_ids(int room_ids) {
this.room_ids = room_ids;
}
public int generateRoomId() {
return ++room_ids;
}
protected void setup() {
super.setup();
MultiPlayUsers= new ArrayList<AID>();
System.out.println(getLocalName()+"--> Installed");
DFAgentDescription dfd=new DFAgentDescription();
dfd.setName(getAID());
ServiceDescription sd=new ServiceDescription();
sd.setType("Organisation");
sd.setName("Multiplay");
dfd.addServices(sd);
try{
DFService.register(this, dfd);
}catch(FIPAException fe){
fe.printStackTrace();
}
//addBehaviour(new GetListGameBehaviour(this));
addBehaviour(new MultiPlayManageBehaviour(this));
addBehaviour(new GameDaemonBehaviour(this));
addBehaviour(new SubscribeManageBehaviour(this));
}
public DefaultListModel<String> getDict(){
if (dict == null) {
dict = new DefaultListModel<String>();
}
return dict;
}
public void setDict(String item){
dict.addElement(item);
}
public List<AID> getMultiPlayUsers(){
return MultiPlayUsers;
}
public void addMultiPlayUser(AID user){
MultiPlayUsers.add(user);
}
public void removeMultiPlayUser(AID user){
if(MultiPlayUsers.contains(user)) MultiPlayUsers.remove(user);
}
}