public static object FromDynamicMessage(DynamicMessage dynamicMessage) { Type t = Type.GetType(dynamicNamespace + "." + dynamicMessage.type); MemoryStream stream = new MemoryStream(dynamicMessage.message); return(Serializer.NonGeneric.Deserialize(t, stream)); }
public static DynamicMessage ToDynamicMessage(object component) { DynamicMessage wrapper = new DynamicMessage(); Type t = component.GetType(); wrapper.type = t.Name; wrapper.message = Serialize(component); return(wrapper); }
public void SendDynamicMessage(string senderId, string channelName, object message, string messageType) { DynamicMessage dynamicMessage = DynamicMessageUtil.ToDynamicMessage(message); Entity entity = new Entity(); entity.id = "dm"; ChatMessage chatMessage = new ChatMessage(); ChatChannel chatChannel = new ChatChannel(); chatChannel.name = channelName; chatMessage.chatChannel = chatChannel; chatMessage.message = "dynamic_message"; chatMessage.type = messageType; chatMessage.senderId = senderId; chatMessage.dynamicMessage = dynamicMessage; entity.chatMessage = chatMessage; actorSystem.FindRemote("default").Tell(entity); }
private void DeliverMessage(GameMessage gameMessage, bool hasError) { PropertyInfo prop; foreach (string componentName in behaviorGameMessages.Keys) { prop = GameMessageProp(componentName); object component = prop.GetValue(gameMessage, null); if (component != null) { if (component is DynamicMessage) { DynamicMessage dynamicMessage = (DynamicMessage)component; Type t = Type.GetType(dynamicNamespace + "." + dynamicMessage.type); object userObject = Deserialize(dynamicMessage.message, t); behaviorGameMessages[componentName].OnMessage(userObject); } else { behaviorGameMessages[componentName].OnMessage(component); } } } }
public DynamicMessage toDynamicMessage(object component) { DynamicMessage wrapper = new DynamicMessage (); Type t = component.GetType (); wrapper.type = t.Name; wrapper.message = Serialize (component); return wrapper; }