private static async void Emit(OutboundMessage message) { logger.Trace($"Fire: \"{PrintOutboundMessage(message)}\""); // Marshall back to the main thread in order to use a native call. await BaseScript.Delay(0); if (message.Target != null) { logger.Trace($"TriggerClientEvent: Using PlayerList with {"player".Pluralize(players.Count())}"); BaseScript.TriggerClientEvent(players[message.Target.Handle], message.Event, message.Pack()); } else { logger.Trace("TriggerClientEvent: All clients"); BaseScript.TriggerClientEvent(message.Event, message.Pack()); } }
public async void Fire(OutboundMessage message) { // Marshall back to the main thread in order to use a native call. await BaseScript.Delay(0); if (message.Payloads.Count > 0) { this.logger.Trace($"Fire: \"{message.Event}\" {(message.Target != null ? $"to {message.Target.Handle} " : string.Empty)}with {message.Payloads.Count} payload{(message.Payloads.Count > 1 ? "s" : string.Empty)}:{Environment.NewLine}\t{string.Join($"{Environment.NewLine}\t", message.Payloads)}"); } else { this.logger.Trace($"Fire: \"{message.Event}\" {(message.Target != null ? $"to {message.Target.Handle} " : string.Empty)}with no payloads"); } if (message.Target != null) { BaseScript.TriggerClientEvent(new PlayerList()[message.Target.Handle], message.Event, message.Pack()); } else { BaseScript.TriggerClientEvent(message.Event, message.Pack()); } }