internal void QueueBroadcaseMessage(ServerMessage message, string requirements) { FusedPacket packet = new FusedPacket(message, requirements); lock (authorizedPacketSending.SyncRoot) { authorizedPacketSending.Enqueue(packet); } }
private void BroadcastPacketsWithRankRequirement() { try { DateTime startTaskTime; TimeSpan spentTime; startTaskTime = DateTime.Now; if (authorizedPacketSending.Count > 0) { lock (authorizedPacketSending.SyncRoot) { while (authorizedPacketSending.Count > 0) { FusedPacket packet = (FusedPacket)authorizedPacketSending.Dequeue(); foreach (GameClient client in clients.Values) { try { if (client.GetHabbo() != null && client.GetHabbo().HasFuse(packet.requirements)) { client.SendMessage(packet.content); } } catch { } } } } } spentTime = DateTime.Now - startTaskTime; if (spentTime.TotalSeconds > 3) { Logging.WriteLine("GameClientManager.BroadcastPacketsWithRankRequirement spent: " + spentTime.TotalSeconds + " seconds in working."); } } catch (Exception e) { Logging.LogThreadException(e.ToString(), "GameClientManager.BroadcastPacketsWithRankRequirement Exception --> Not inclusive"); } }
private void BroadcastPacketsWithRankRequirement() { if (authorizedPacketSending.Count > 0) { lock (authorizedPacketSending.SyncRoot) { while (authorizedPacketSending.Count > 0) { FusedPacket packet = (FusedPacket)authorizedPacketSending.Dequeue(); foreach (GameClient client in clients.Values) { try { if (client.GetHabbo() != null && client.GetHabbo().HasFuse(packet.requirements)) { client.SendMessage(packet.content); } } catch { } } } } } }
private void BroadcastPacketsWithRankRequirement() { if (authorizedPacketSending.Count > 0) { lock (authorizedPacketSending.SyncRoot) { while (authorizedPacketSending.Count > 0) { FusedPacket packet = (FusedPacket)authorizedPacketSending.Dequeue(); foreach (var client in clients.Values) { if (packet.requirements.Contains("ingroup")) { var reqSplit = packet.requirements.Split('_'); GroupItem Group = OtanixEnvironment.GetGame().GetGroup().LoadGroup(Convert.ToUInt32(reqSplit[1])); if (!Group.IsMember(client.GetHabbo().Id) || client.GetHabbo().Id == packet.userId) { continue; } client.SendMessage(packet.content); } else { if (client == null || client.GetHabbo() == null || !client.GetHabbo().HasFuse(packet.requirements) || client.GetHabbo().Id == packet.userId) { continue; } client.SendMessage(packet.content); } } } } } }