Esempio n. 1
0
        public GameEventChannelList(Session session, GroupChatType chatChannel) : base(GameEventType.ChannelList, GameMessageGroup.Group09, session)
        {
            //TODO: This should send back to the client a correct count followed by name strings of the channel requested.
            //      Obviously this would be based on who was subscribed to the channel at the time

            //Writer.Write(1u);
            //Writer.WriteString16L("+Sentinel Nostromo");

            // For now, since everyone is subscribed and unable to alter, let's just list every character connected.
            uint          numClientsConnected = 0;
            List <string> playerNames         = new List <string>();

            foreach (var client in WorldManager.GetAll())
            {
                numClientsConnected++;
                playerNames.Add(client.Player.Name);
            }

            Writer.Write(numClientsConnected);
            foreach (var name in playerNames.ToArray())
            {
                Writer.WriteString16L(name);
            }
        }
Esempio n. 2
0
 public override void Read()
 {
     groupChatType = (GroupChatType)Fragment.Payload.ReadUInt32();
     message       = Fragment.Payload.ReadString16L();
 }
 public override void Read()
 {
     chatChannelID = (GroupChatType)Fragment.Payload.ReadUInt32();
 }
 public GameEventChannelBroadcast(Session session, GroupChatType chatChannel, string senderName, string messageText) : base(GameEventType.ChannelBroadcast, GameMessageGroup.Group09, session)
 {
     Writer.Write((uint)chatChannel);
     Writer.WriteString16L(senderName); // This should be "" when sending back to initiator which makes client go "You Say..." instead of "PlayerName says..."
     Writer.WriteString16L(messageText);
 }