package fr.utc.leapband.sma.user;
import jade.core.behaviours.OneShotBehaviour;
import jade.lang.acl.ACLMessage;
import java.io.StringWriter;
import com.fasterxml.jackson.databind.ObjectMapper;
import fr.utc.leapband.utilities.BackgroundMusicData;
import fr.utc.leapband.utilities.BackgroundMusicData.BackgroundMusicActionType;
@SuppressWarnings("serial")
public class SendBgMusicBehaviour extends OneShotBehaviour{
UserAgent myAgent;
String path;
BackgroundMusicData my_data = new BackgroundMusicData();
BackgroundMusicActionType type;
public SendBgMusicBehaviour(UserAgent agent, String pat, BackgroundMusicActionType type) {
this.myAgent = agent;
this.path = pat;
this.type = type;
}
@Override
public void action() {
ACLMessage message = new ACLMessage(ACLMessage.INFORM);
message.setConversationId("BACKGROUND");
message.addReceiver(myAgent.getSoundAgentName());
my_data.setAction(type);
my_data.setPath(path);
ObjectMapper mapper = new ObjectMapper();
StringWriter sw = new StringWriter();
try {
mapper.writeValue(sw, my_data);
message.setContent(sw.toString());
} catch (Exception e) {
e.printStackTrace();
}
myAgent.send(message);
System.out.println("bg message sent");
}
}