public void sendGamaMessage(Vector3 position) { string message = ""; switch (actionToDo) { case 1: message = MsgSerialization.serialization(new LittosimMessage("Unity", "GamaMainAgent", 1, position.x, position.y, DateTime.Now.ToString())); publishMessage(message); break; case 2: message = MsgSerialization.serialization(new LittosimMessage("Unity", "GamaMainAgent", 2, position.x, position.y, DateTime.Now.ToString())); publishMessage(message); break; case 3: message = MsgSerialization.serialization(new LittosimMessage("Unity", "GamaMainAgent", 3, position.x, position.y, DateTime.Now.ToString())); publishMessage(message); break; case 4: message = MsgSerialization.serialization(new LittosimMessage("Unity", "GamaMainAgent", 4, position.x, position.y, DateTime.Now.ToString())); publishMessage(message); break; case 5: message = MsgSerialization.serialization(new LittosimMessage("Unity", "GamaMainAgent", 5, position.x, position.y, DateTime.Now.ToString())); publishMessage(message); break; } actionToDo = 0; gameNbr++; }
// à revoir en utilisant publishMessage public void sendReplay(string sender, string receiver, string fieldName, string fieldValue) { ReplayMessage msg = new ReplayMessage(sender, receiver, "content not set", fieldName, fieldValue, DateTime.Now.ToString()); string message = MsgSerialization.serialization(msg); publishMessage(message, MqttSetting.REPLAY_TOPIC); }
void OnGUI() { Rect bounds = new Rect(58, -843, 1320, 200); GUI.Label(bounds, "test"); Texture2D texture = new Texture2D(1, 1); texture.SetPixel(0, 0, Color.red); texture.Apply(); GUI.skin.box.normal.background = texture; GUI.Box(bounds, GUIContent.none); // -------- if (GUI.Button(new Rect(150, 1, 150, 20), "Send Mqtt message!")) { string message = MsgSerialization.serialization(new LittosimMessage(ILittoSimConcept.GAMA_TOPIC, ILittoSimConcept.GAMA_AGENT, 1, 0, 0, DateTime.Now.ToString())); message = "ceci est un test de message MQTT de unity vers Gama"; string topic = "li"; //int msgId = GamaManager.client.Publish(topic, System.Text.Encoding.UTF8.GetBytes(message), MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE, true); int msgId = GamaManager.client.Publish(topic, System.Text.Encoding.UTF8.GetBytes(message)); Debug.Log("msgId is: " + msgId + " -> " + message); Debug.Log("Message sent to topic: " + topic); } }
public void sendDeleteAction(string name) { string message = MsgSerialization.serialization(new LittosimMessage(ILittoSimConcept.GAMA_TOPIC, "GamaMainAgent", 101, name, 0, 0, DateTime.Now.ToString())); publishMessage(message); }
public void validateActionList() { string message = MsgSerialization.serialization(new LittosimMessage(ILittoSimConcept.GAMA_TOPIC, "GamaMainAgent", 100, 0, 0, DateTime.Now.ToString())); publishMessage(message); }
public string getSerializedMessage(int idAction, Vector3 position) { return(MsgSerialization.serialization(new LittosimMessage(ILittoSimConcept.GAMA_TOPIC, ILittoSimConcept.GAMA_AGENT, idAction, position.x, position.y, DateTime.Now.ToString()))); }
public void sendDeleteAction(string name) { string message = MsgSerialization.serialization(new LittosimMessage("Unity", "GamaMainAgent", 101, name, 0, 0, DateTime.Now.ToString())); publishMessage(message); }
public void validateActionList() { string message = MsgSerialization.serialization(new LittosimMessage("Unity", "GamaMainAgent", 100, 0, 0, DateTime.Now.ToString())); publishMessage(message); }
void FixedUpdate() { if (msgList.Count > 0) { MqttMsgPublishEventArgs e = msgList[0]; if (!MqttSetting.getTopicsInList().Contains(e.Topic)) { Debug.Log("-> The Topic '" + e.Topic + "' doesn't exist in the defined list. Please check! (the message will be deleted!)"); msgList.Remove(e); return; } receivedMsg = System.Text.Encoding.UTF8.GetString(e.Message); //Debug.Log ("-> Received Message is : " + receivedMsg); allObjects = UnityEngine.Object.FindObjectsOfType <GameObject>(); switch (e.Topic) { case MqttSetting.MAIN_TOPIC: //------------------------------------------------------------------------------ Debug.Log("-> Topic to deal with is : " + MqttSetting.MAIN_TOPIC); //Debug.Log("-> The message is : " + e.Message); topicGameObject = gameObject; GamaMessage gamaMessage = (GamaMessage)MsgSerialization.deserialization(receivedMsg, new GamaMessage()); targetGameObject = GameObject.Find(gamaMessage.receivers); if (targetGameObject == null) { Debug.LogError(" Sorry, requested gameObject is null (" + gamaMessage.receivers + "). Please check you code! "); break; } obj = new object[] { gamaMessage, targetGameObject }; //GamaManager obje = (GamaManager) FindObjectOfType(typeof(GamaManager)); GameObject.Find(MqttSetting.MAIN_TOPIC_MANAGER).GetComponent(MqttSetting.MAIN_TOPIC_SCRIPT).SendMessage("ProcessTopic", obj); //------------------------------------------------------------------------------ break; case MqttSetting.MONO_FREE_TOPIC: //------------------------------------------------------------------------------ Debug.Log("-> Topic to deal with is : " + MqttSetting.MONO_FREE_TOPIC); MonoFreeTopicMessage monoFreeTopicMessage = (MonoFreeTopicMessage)MsgSerialization.deserialization(receivedMsg, new MonoFreeTopicMessage()); targetGameObject = GameObject.Find(monoFreeTopicMessage.objectName); obj = new object[] { monoFreeTopicMessage, targetGameObject }; if (targetGameObject == null) { Debug.LogError(" Sorry, requested gameObject is null (" + monoFreeTopicMessage.objectName + "). Please check your code! "); break; } Debug.Log("The message is to " + monoFreeTopicMessage.objectName + " about the methode " + monoFreeTopicMessage.methodName + " and attribute " + monoFreeTopicMessage.attribute); GameObject.Find(MqttSetting.MONO_FREE_TOPIC_MANAGER).GetComponent(MqttSetting.MONO_FREE_TOPIC_SCRIPT).SendMessage("ProcessTopic", obj); //------------------------------------------------------------------------------ break; case MqttSetting.MULTIPLE_FREE_TOPIC: //------------------------------------------------------------------------------ Debug.Log("-> Topic to deal with is : " + MqttSetting.MULTIPLE_FREE_TOPIC); MultipleFreeTopicMessage multipleFreetopicMessage = (MultipleFreeTopicMessage)MsgSerialization.deserialization(receivedMsg, new MultipleFreeTopicMessage()); targetGameObject = GameObject.Find(multipleFreetopicMessage.objectName); obj = new object[] { multipleFreetopicMessage, targetGameObject }; if (targetGameObject == null) { Debug.LogError(" Sorry, requested gameObject is null (" + multipleFreetopicMessage.objectName + "). Please check you code! "); break; } GameObject.Find(MqttSetting.MULTIPLE_FREE_TOPIC_MANAGER).GetComponent(MqttSetting.MULTIPLE_FREE_TOPIC_SCRIPT).SendMessage("ProcessTopic", obj); //------------------------------------------------------------------------------ break; case MqttSetting.POSITION_TOPIC: //------------------------------------------------------------------------------ Debug.Log("-> Topic to deal with is : " + MqttSetting.POSITION_TOPIC); PositionTopicMessage positionTopicMessage = (PositionTopicMessage)MsgSerialization.deserialization(receivedMsg, new PositionTopicMessage()); targetGameObject = GameObject.Find(positionTopicMessage.objectName); obj = new object[] { positionTopicMessage, targetGameObject }; if (targetGameObject == null) { Debug.LogError(" Sorry, requested gameObject is null (" + positionTopicMessage.objectName + "). Please check you code! "); break; } else { GameObject.Find(MqttSetting.POSITION_TOPIC_MANAGER).GetComponent(MqttSetting.POSITION_TOPIC_SCRIPT).SendMessage("ProcessTopic", obj); } //------------------------------------------------------------------------------ break; case MqttSetting.MOVE_TOPIC: //------------------------------------------------------------------------------ Debug.Log("-> Topic to deal with is : " + MqttSetting.MOVE_TOPIC); MoveTopicMessage moveTopicMessage = (MoveTopicMessage)MsgSerialization.deserialization(receivedMsg, new MoveTopicMessage()); print("the coordinates are: "); print(" x = " + moveTopicMessage.position.x); print(" y = " + moveTopicMessage.position.y); print(" z " + moveTopicMessage.position.z); targetGameObject = GameObject.Find(moveTopicMessage.objectName); obj = new object[] { moveTopicMessage, targetGameObject }; if (targetGameObject == null) { Debug.LogError(" Sorry, requested gameObject is null (" + moveTopicMessage.objectName + "). Please check you code! "); break; } GameObject.Find(MqttSetting.MOVE_TOPIC_MANAGER).GetComponent(MqttSetting.MOVE_TOPIC_SCRIPT).SendMessage("ProcessTopic", obj); //------------------------------------------------------------------------------ break; case MqttSetting.COLOR_TOPIC: //------------------------------------------------------------------------------ Debug.Log("-> Topic to deal with is : " + MqttSetting.COLOR_TOPIC); ColorTopicMessage colorTopicMessage = (ColorTopicMessage)MsgSerialization.deserialization(receivedMsg, new ColorTopicMessage()); targetGameObject = GameObject.Find(colorTopicMessage.objectName); obj = new object[] { colorTopicMessage, targetGameObject }; if (targetGameObject == null) { Debug.LogError(" Sorry, requested gameObject is null (" + colorTopicMessage.objectName + "). Please check you code! "); break; } GameObject.Find(MqttSetting.COLOR_TOPIC_MANAGER).GetComponent(MqttSetting.COLOR_TOPIC_SCRIPT).SendMessage("ProcessTopic", obj); //------------------------------------------------------------------------------ break; case MqttSetting.GET_TOPIC: //------------------------------------------------------------------------------ Debug.Log("-> Topic to deal with is : " + MqttSetting.GET_TOPIC); string value = null; GetTopicMessage getTopicMessage = (GetTopicMessage)MsgSerialization.deserialization(receivedMsg, new GetTopicMessage()); targetGameObject = GameObject.Find(getTopicMessage.objectName); if (targetGameObject == null) { Debug.LogError(" Sorry, requested gameObject is null (" + getTopicMessage.objectName + "). Please check you code! "); break; } obj = new object[] { getTopicMessage, targetGameObject, value }; GameObject.Find(MqttSetting.GET_TOPIC_MANAGER).GetComponent(MqttSetting.GET_TOPIC_SCRIPT).SendMessage("ProcessTopic", obj); sendReplay(clientId, "GamaAgent", getTopicMessage.attribute, (string)obj[2]); //------------------------------------------------------------------------------ break; case MqttSetting.SET_TOPIC: //------------------------------------------------------------------------------ Debug.Log("-> Topic to deal with is : " + MqttSetting.SET_TOPIC); SetTopicMessage setTopicMessage = (SetTopicMessage)MsgSerialization.deserialization(receivedMsg, new SetTopicMessage()); // Debug.Log("-> Target game object name: " + setTopicMessage.objectName); // Debug.Log("-> Message: " + receivedMsg); targetGameObject = GameObject.Find(setTopicMessage.objectName); if (targetGameObject == null) { Debug.LogError(" Sorry, requested gameObject is null (" + setTopicMessage.objectName + "). Please check you code! "); break; } obj = new object[] { setTopicMessage, targetGameObject }; GameObject.Find(MqttSetting.SET_TOPIC_MANAGER).GetComponent(MqttSetting.SET_TOPIC_SCRIPT).SendMessage("ProcessTopic", obj); //------------------------------------------------------------------------------ break; case MqttSetting.PROPERTY_TOPIC: //------------------------------------------------------------------------------ Debug.Log("-> Topic to deal with is : " + MqttSetting.PROPERTY_TOPIC); //XStream xstream = new XStream(); // ------------------------------- PropertyTopicMessage pm = new PropertyTopicMessage(); pm.emissionTimeStamp = "8"; pm.contents = "Content not set"; pm.objectName = "Player"; pm.receivers = "Player"; pm.sender = "GamaAgent0"; pm.unread = "true"; pm.property = "localScale"; pm.valueType = "GamaPoint"; pm.value = new GamaPoint(); Debug.Log("---- - > Serialization "); string pmMessage = MsgSerialization.serialization(pm); Debug.Log("---- - > pmMessage is \n " + pmMessage); PropertyTopicMessage pm2 = (PropertyTopicMessage)MsgSerialization.deserialization(pmMessage, new PropertyTopicMessage()); Debug.Log("---- - > Deserialization "); print("-- > property: " + pm2.property); print("-- > value: " + pm2.value); GamaPoint pp = (GamaPoint)pm2.value; print("-- > value x: " + pp.x); print("-- > value y: " + pp.y); print("-- > value z: " + pp.z); // ---------------------------- PropertyTopicMessage propertyTopicMessage; Debug.Log("---- - > Target and message is \n " + receivedMsg); // propertyTopicMessage = (PropertyTopicMessage) xstream.FromXml(receivedMsg); propertyTopicMessage = (PropertyTopicMessage)MsgSerialization.deserialization(receivedMsg, new PropertyTopicMessage()); Debug.Log("---77777 - > Deserealized \n "); // Debug.Log("-> Target game object Value: " + propertyTopicMessage.value); GamaPoint gp = (GamaPoint)propertyTopicMessage.value; // PropertyTopicMessage propertyTopicMessage = (PropertyTopicMessage)MsgSerialization.deserialization(receivedMsg, new PropertyTopicMessage()); Debug.Log("-> Target game object name: " + propertyTopicMessage.objectName); Debug.Log("-> Target game object Value: " + gp.getVector3()); targetGameObject = GameObject.Find(propertyTopicMessage.objectName); if (targetGameObject == null) { Debug.LogError(" Sorry, requested gameObject is null (" + propertyTopicMessage.objectName + "). Please check you code! "); break; } obj = new object[] { propertyTopicMessage, targetGameObject }; GameObject.Find(MqttSetting.PROPERTY_TOPIC_MANAGER).GetComponent(MqttSetting.PROPERTY_TOPIC_SCRIPT).SendMessage("ProcessTopic", obj); //------------------------------------------------------------------------------ break; case MqttSetting.CREATE_TOPIC: //------------------------------------------------------------------------------ Debug.Log("-> Topic to deal with is : " + MqttSetting.CREATE_TOPIC); // Debug.Log("-> Message: " + receivedMsg); CreateTopicMessage createTopicMessage = (CreateTopicMessage)MsgSerialization.deserialization(receivedMsg, new CreateTopicMessage()); obj = new object[] { createTopicMessage }; GameObject.Find(MqttSetting.CREATE_TOPIC_MANAGER).GetComponent(MqttSetting.CREATE_TOPIC_SCRIPT).SendMessage("ProcessTopic", obj); //------------------------------------------------------------------------------ break; case MqttSetting.DESTROY_TOPIC: //------------------------------------------------------------------------------ Debug.Log("-> Topic to deal with is : " + MqttSetting.DESTROY_TOPIC); DestroyTopicMessage destroyTopicMessage = (DestroyTopicMessage)MsgSerialization.deserialization(receivedMsg, new DestroyTopicMessage()); obj = new object[] { destroyTopicMessage }; if (topicGameObject == null) { Debug.LogError(" Sorry, requested gameObject is null (" + destroyTopicMessage.objectName + "). Please check you code! "); break; } GameObject.Find(MqttSetting.DESTROY_TOPIC_MANAGER).GetComponent(MqttSetting.DESTROY_TOPIC_SCRIPT).SendMessage("ProcessTopic", obj); //------------------------------------------------------------------------------ break; case MqttSetting.NOTIFICATION_TOPIC: //------------------------------------------------------------------------------ Debug.Log("-> Topic to deal with is : " + MqttSetting.NOTIFICATION_TOPIC); NotificationTopicMessage notificationTopicMessage = (NotificationTopicMessage)MsgSerialization.deserialization(receivedMsg, new NotificationTopicMessage()); obj = new object[] { notificationTopicMessage }; if (topicGameObject == null) { Debug.LogError(" Sorry, requested gameObject is null (" + notificationTopicMessage.objectName + "). Please check you code! "); break; } GameObject.Find(MqttSetting.NOTIFICATION_TOPIC_MANAGER).GetComponent(MqttSetting.NOTIFICATION_TOPIC_SCRIPT).SendMessage("ProcessTopic", obj); //------------------------------------------------------------------------------ break; default: //------------------------------------------------------------------------------ Debug.Log("-> Topic to deal with is : " + MqttSetting.DEFAULT_TOPIC); //------------------------------------------------------------------------------ break; } msgList.Remove(e); } checkForNotifications(); GameObject mapBuilder = GameObject.Find("MapBuilder"); //GameObject mapBuilder = GameObject.Find("MapBuilder"); //regionMap = (RegionMap) FindObjectOfType(typeof(RegionMap)); //GameObject mapBuilder = (GameObject) FindObjectOfType(typeof(MapBuilder)); if (mapBuilder != null) { mapBuilder.GetComponent <RegionMap>().SendMessage("DrawNewAgents"); } else { // Debug.Log("No such Object. Sorry"); } }