public static void SendRequest () { Entity entity = new Entity (); entity.id = "regions"; ActorSystem.instance.FindRemote ("GameMachine/GameSystems/RegionService").Tell (entity); //Logger.Debug ("Send region request"); }
public void SendEntity(Entity entity) { List <Entity> entities = new List <Entity> (); entities.Add(entity); SendEntities(entities); }
public override void OnReceive(object message) { Entity entity = message as Entity; if (entity.chatInvite != null) { inviteReceived(entity.chatInvite); } if (entity.chatChannels != null) { processChannels(entity.chatChannels); } if (entity.chatMessage != null) { if (messageReceived != null) { messageReceived(entity.chatMessage); } if (entity.chatMessage.message == "dynamic_message") { string channelName = entity.chatMessage.chatChannel.name; if (dynamicMessageCallbacks.ContainsKey(channelName)) { dynamicMessageCallbacks [channelName] (entity.chatMessage.dynamicMessage); } } } }
// Tells the chat system to send you a complete list of channels you are subscribed to. // If you joined a channel with the subscribers flag set, you will also get back a full // list of subscribers for that channel. public void ChatStatus() { Entity entity = new Entity (); entity.id = "chat_status"; entity.chatStatus = new ChatStatus (); actorSystem.FindRemote ("default").Tell (entity); }
// Use this if you want to create your own ChatMessage. // This is useful if you want to embed other data besides text. // Do this by attaching an entity to the ChatMessage. public void SendChatMessage(ChatMessage message) { Entity entity = new Entity(); entity.id = "chatmessage"; entity.chatMessage = message; actorSystem.FindRemote("default").Tell(entity); }
// Tells the chat system to send you a complete list of channels you are subscribed to. // If you joined a channel with the subscribers flag set, you will also get back a full // list of subscribers for that channel. public void ChatStatus() { Entity entity = new Entity(); entity.id = "chat_status"; entity.chatStatus = new ChatStatus(); actorSystem.FindRemote("default").Tell(entity); }
public static void SendRequest() { Entity entity = new Entity(); entity.id = "regions"; ActorSystem.instance.FindRemote("GameMachine/GameSystems/RegionService").Tell(entity); //Logger.Debug ("Send region request"); }
public Entity EchoMessage(string id) { Entity entity = new Entity (); entity.id = id; EchoTest echoTest = new EchoTest (); echoTest.message = id; entity.echoTest = echoTest; return entity; }
public Entity EchoMessage(string id) { Entity entity = new Entity(); entity.id = id; EchoTest echoTest = new EchoTest(); echoTest.message = id; entity.echoTest = echoTest; return(entity); }
public override void OnReceive(object message) { Entity entity = message as Entity; if (!String.IsNullOrEmpty(destination) && destination != "default") { entity.destination = destination; } actorSystem.TellRemote(entity); }
public void leaveChannel(string channelName) { Entity entity = new Entity(); entity.id = "chatjoin"; LeaveChat leaveChat = new LeaveChat(); ChatChannel chatChannel = new ChatChannel(); chatChannel.name = channelName; leaveChat.chatChannel.Add(chatChannel); entity.leaveChat = leaveChat; actorSystem.FindRemote("default").Tell(entity); subscribers.Remove(channelName); }
public void InviteToChannel(string playerId, string invitee, string channelName) { ChatInvite chatInvite = new ChatInvite(); chatInvite.invitee = invitee; chatInvite.inviter = playerId; chatInvite.channelName = channelName; chatInvite.invite_id = "0"; Entity entity = new Entity(); entity.id = "chatinvite"; entity.chatInvite = chatInvite; actorSystem.FindRemote("default").Tell(entity); }
public override void OnReceive(object message) { Entity entity = message as Entity; if (entity.regions != null) { List <string> r; List <string> regionServer; r = new List <string> (entity.regions.regions.Split("|".ToCharArray(), StringSplitOptions.RemoveEmptyEntries)); foreach (string region in r) { regionServer = new List <string> (region.Split("=".ToCharArray(), StringSplitOptions.RemoveEmptyEntries)); regions [regionServer [0]] = regionServer [1]; //Logger.Debug ("adding region " + regionServer [0] + " = " + regionServer [1]); } } }
// senderId = sending player id // channelName = chat channel // messageText = chat text // messageType = group or private public void SendText(string senderId, string channelName, string messageText, string messageType) { Entity entity = new Entity(); entity.id = "chatmessage"; ChatMessage chatMessage = new ChatMessage(); ChatChannel chatChannel = new ChatChannel(); chatChannel.name = channelName; chatMessage.chatChannel = chatChannel; chatMessage.message = messageText; chatMessage.type = messageType; chatMessage.senderId = senderId; entity.chatMessage = chatMessage; actorSystem.FindRemote("default").Tell(entity); }
public void SendGameMessages() { if (reliableMessages.Count >= 1) { foreach (ReliableMessage reliableMessage in reliableMessages.Values) { if (reliableMessage.attempts >= reliableMessage.maxAttempts) { reliableMessageIds.Add(reliableMessage.gameMessage.messageId); } else if (reliableMessage.currentTime() - reliableMessage.lastUpdate > 1000.0f) { reliableMessage.attempts++; reliableMessage.lastUpdate = reliableMessage.currentTime(); gameMessages.Add(reliableMessage.gameMessage); Debug.Log("ReliableMessage attempt " + reliableMessage.attempts); } } foreach (String messageId in reliableMessageIds) { Debug.Log("Giving up on reliableMessage " + messageId); reliableMessages.Remove(messageId); } reliableMessageIds.Clear(); } if (gameMessages.Count >= 1) { Entity entity = new Entity(); entity.id = "gm"; entity.gameMessages = new GameMessages(); foreach (GameMessage gameMessage in gameMessages) { entity.gameMessages.gameMessage.Add(gameMessage); if (gameMessage.messageId.Length != 0 && !reliableMessages.ContainsKey(gameMessage.messageId)) { reliableMessages.Add(gameMessage.messageId, new ReliableMessage(gameMessage)); } } gameMessages.Clear(); ActorSystem.instance.TellRemote(entity); } }
public void Update(TrackData trackData) { if (trackData == null) { return; } trackData.id = GameMachine.Core.User.Instance.username; if (trackData.entityType == null) { trackData.entityType = TrackData.EntityType.PLAYER; } Entity entity = new Entity (); entity.id = "0"; entity.trackData = trackData; // Always regional ActorSystem.instance.FindRegional ("default").Tell (entity); }
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); }
public override void OnReceive(object message) { Entity entity = message as Entity; if (entity.echoTest != null) { if (entity.id == "cluster") { if (echoReceived != null) { echoReceived(); } } else if (entity.id == "region") { if (regionEchoReceived != null) { regionEchoReceived(); } } } }
// flags is a pipe separated list of strings. Currently subscribers is the only flag recognized // If the subscribers flag is set, the status updates from the server will include a list of subscribers // in each channel, instead of just the channel name. public void JoinChannel(string channelName, string flags, string inviteId) { if (channelSubscriptions.Contains(channelName)) { return; } Entity entity = new Entity(); entity.id = "chatjoin"; JoinChat joinChat = new JoinChat(); ChatChannel chatChannel = new ChatChannel(); chatChannel.name = channelName; chatChannel.flags = flags; if (inviteId != null) { chatChannel.invite_id = inviteId; } joinChat.chatChannel.Add(chatChannel); entity.joinChat = joinChat; actorSystem.FindRemote("default").Tell(entity); }
public void DeliverByComponent(Entity entity) { MethodInfo method; bool findFailed; foreach (UntypedActor actor in actors.Values) { List<List<string>> componentSets = actor.GetComponentSets(); foreach (List<string> componentSet in componentSets) { // See if message contains component set findFailed = false; foreach (string component in componentSet) { if (methods.ContainsKey(component)) { method = methods[component]; if (method.Invoke(entity, null) == null) { findFailed = true; } else { //Logger.Debug("Found component " + component); } } else { Logger.Debug("Bad Component " + component); } } if (!findFailed) { actor.Tell(entity); findFailed = false; break; } } } }
private void SetRemoteInt(InputData inputData, int value) { if (inputData.source == NetworkFields.Source.TrackData) { inputData.remoteField.SetValue(trackData, value, null); } else { TrackData td; if (inputData.broadcast) { if (NetworkSettings.instance == null) { return; } td = new TrackData(); td.broadcast = 1; td.userDefinedData = new UserDefinedData(); inputData.remoteField.SetValue(td.userDefinedData, value, null); trackData.id = NetworkSettings.instance.username; io.gamemachine.messages.Entity entity = new io.gamemachine.messages.Entity(); entity.id = "0"; entity.trackData = trackData; ActorSystem.instance.client.SendEntity(entity); } else { inputData.remoteField.SetValue(trackData.userDefinedData, value, null); } } }
public void InviteToChannel(string playerId, string invitee, string channelName) { ChatInvite chatInvite = new ChatInvite (); chatInvite.invitee = invitee; chatInvite.inviter = playerId; chatInvite.channelName = channelName; chatInvite.invite_id = "0"; Entity entity = new Entity (); entity.id = "chatinvite"; entity.chatInvite = chatInvite; actorSystem.FindRemote ("default").Tell (entity); }
public void SendEntity(Entity entity) { clientMessage.entity.Add (entity); Send (Serialize (clientMessage)); clientMessage.entity.Clear (); }
// senderId = sending player id // channelName = chat channel // messageText = chat text // messageType = group or private public void SendText(string senderId, string channelName, string messageText, string messageType) { Entity entity = new Entity (); entity.id = "chatmessage"; ChatMessage chatMessage = new ChatMessage (); ChatChannel chatChannel = new ChatChannel (); chatChannel.name = channelName; chatMessage.chatChannel = chatChannel; chatMessage.message = messageText; chatMessage.type = messageType; chatMessage.senderId = senderId; entity.chatMessage = chatMessage; actorSystem.FindRemote ("default").Tell (entity); }
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); }
// Use this if you want to create your own ChatMessage. // This is useful if you want to embed other data besides text. // Do this by attaching an entity to the ChatMessage. public void SendChatMessage(ChatMessage message) { Entity entity = new Entity (); entity.id = "chatmessage"; entity.chatMessage = message; actorSystem.FindRemote ("default").Tell (entity); }
public void leaveChannel(string channelName) { Entity entity = new Entity (); entity.id = "chatjoin"; LeaveChat leaveChat = new LeaveChat (); ChatChannel chatChannel = new ChatChannel (); chatChannel.name = channelName; leaveChat.chatChannel.Add (chatChannel); entity.leaveChat = leaveChat; actorSystem.FindRemote ("default").Tell (entity); subscribers.Remove (channelName); }
// flags is a pipe separated list of strings. Currently subscribers is the only flag recognized // If the subscribers flag is set, the status updates from the server will include a list of subscribers // in each channel, instead of just the channel name. public void JoinChannel(string channelName, string flags, string inviteId) { if (channelSubscriptions.Contains (channelName)) { return; } Entity entity = new Entity (); entity.id = "chatjoin"; JoinChat joinChat = new JoinChat (); ChatChannel chatChannel = new ChatChannel (); chatChannel.name = channelName; chatChannel.flags = flags; if (inviteId != null) { chatChannel.invite_id = inviteId; } joinChat.chatChannel.Add (chatChannel); entity.joinChat = joinChat; actorSystem.FindRemote ("default").Tell (entity); }
public void SendEntity(Entity entity) { List<Entity> entities = new List<Entity> (); entities.Add (entity); SendEntities (entities); }
public void DeliverByDestination(Entity entity) { UntypedActor actor = Find(entity.destination); if (actor.GetType().Name == "DeadLetters") { Logger.Debug("Incoming entity has invalid destination: " + entity.destination); } else { actor.Tell(entity); } }
public void TellRemote(Entity entity) { if (sendImmediate) { if (client != null) { client.SendEntity(entity); } return; } entities.Add(entity); }
private void CreateMethodCache() { Entity entity = new Entity(); foreach (PropertyInfo info in entity.GetType().GetProperties()) { MethodInfo minfo = info.GetGetMethod(); string name = info.Name; if (methods.ContainsKey(name)) { //Debug.Log("Method " + name + " already registered"); methods.Remove(name); } methods.Add(name, minfo); } }
public void SendGameMessages() { if (reliableMessages.Count >= 1) { foreach (ReliableMessage reliableMessage in reliableMessages.Values) { if (reliableMessage.attempts >= reliableMessage.maxAttempts) { reliableMessageIds.Add (reliableMessage.gameMessage.messageId); } else if (reliableMessage.currentTime () - reliableMessage.lastUpdate > 1000.0f) { reliableMessage.attempts++; reliableMessage.lastUpdate = reliableMessage.currentTime (); gameMessages.Add (reliableMessage.gameMessage); Debug.Log ("ReliableMessage attempt " + reliableMessage.attempts); } } foreach (String messageId in reliableMessageIds) { Debug.Log ("Giving up on reliableMessage " + messageId); reliableMessages.Remove (messageId); } reliableMessageIds.Clear (); } if (gameMessages.Count >= 1) { Entity entity = new Entity (); entity.id = "gm"; entity.gameMessages = new GameMessages (); foreach (GameMessage gameMessage in gameMessages) { entity.gameMessages.gameMessage.Add (gameMessage); if (gameMessage.messageId.Length != 0 && !reliableMessages.ContainsKey (gameMessage.messageId)) { reliableMessages.Add (gameMessage.messageId, new ReliableMessage (gameMessage)); } } gameMessages.Clear (); ActorSystem.instance.TellRemote (entity); } }