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); } }
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); }