Beispiel #1
0
        private void HandleChatMessage(ChatPacket chatPacket)
        {
            var container = (ServerServiceContainer)ServiceContainer;

            // Grab the sender
            var sender = container.GetEntityFromConnection(chatPacket.Sender);
            var name = sender.GetComponent<NameComponent>().Name;

            // Send packet to anyone who cares
            switch (chatPacket.ChatChannel)
            {
                case ChatChannel.Map:

                    var simulator = container.GetSimulatorForCharacter(chatPacket.Sender);

                    // Filter for other players in that map
                    var playersNearby = simulator.EntityCollection.Filter<CharacterComponent>();
                    chatPacket.Message = sender.GetComponent<NameComponent>().Name + ": " + chatPacket.Message;

                    foreach (var connection in playersNearby.Entities.Select(player => player.GetComponent<CharacterComponent>().Connection))
                        SendMessage(chatPacket, connection);

                    break;
                default:
                    throw new Exception("Unsupported chat type was sent by the client.");
            }
        }
Beispiel #2
0
        private void SubmitMessage(object sender, JavascriptMethodEventArgs e)
        {
            var chatText = UiManager.webView.ExecuteJavascriptWithResult("document.getElementById('txt-chattext').value");
            UiManager.webView.ExecuteJavascript("document.getElementById('txt-chattext').value = '';");

            var packet = new ChatPacket(chatText, ChatChannel.Map);
            NetworkManager.Instance.SendPacket(packet);
        }
Beispiel #3
0
 private void HandleChatPacket(ChatPacket chatPacket)
 {
     AppendText(chatPacket.Message);
 }
Beispiel #4
0
 private void SendMessage(ChatPacket chatPacket, Lidgren.Network.NetConnection connection)
 {
     var packet = new ChatPacket(chatPacket.Message, chatPacket.ChatChannel);
     ClientNetworkManager.Instance.SendPacket(packet, connection);
 }