internal unsafe void SendChatMessageToWithoutIgnore(ServerMessage Message, RoomUser originatingUser) { try { int messageSize = Message.GetLength(); byte[] PacketData = Message.Bytes(); foreach (RoomUser user in roomUserManager.UserList.Values) { if (user.IsBot) continue; GameClient UsersClient = user.GetClient(); if (UsersClient == null) continue; if (user.HasIgnored(originatingUser.userID)) continue; try { fixed (byte* dataptr = PacketData) { UsersClient.GetConnection().SendData(dataptr, messageSize); } } catch (Exception e) { Logging.HandleException(e, "Room.SendMessageToUsersWithRights"); } //User.GetClient().SendMessage(Message); } } catch (Exception e) { Logging.HandleException(e, "Room.SendMessageToUsersWithRights"); } finally { Message.ReturnToOwner(); } }
internal unsafe void SendMessageWithoutReturning(ServerMessage Message) { if (Message == null) return; if (GetConnection() == null) return; fixed (byte* dataptr = Message.Bytes()) { GetConnection().SendData(dataptr, Message.GetLength()); } }
internal void BroadcastMessage(ServerMessage message) { if (onGlobalMessageBroadcast != null) onGlobalMessageBroadcast(message.Bytes(), message.GetLength()); message.ReturnToOwner(); }