public void Emit(JToken Event, params object[] Arguments) { if (Event != null) { JArray JsonArray = new JArray(); Action <JToken[]> AckAction = null; int ArgumentsCount = Arguments.Length; if (ArgumentsCount > 0 && Arguments[Arguments.Length - 1] != null && Arguments[Arguments.Length - 1] is Action <JToken[]> ) { ArgumentsCount--; AckAction = (Action <JToken[]>)Arguments[Arguments.Length - 1]; } JsonArray.Add(Event); for (int i = 0; i < ArgumentsCount; i++) { JToken Data; try { Data = JToken.FromObject(Arguments[i]); } catch { Data = JValue.CreateNull(); } JsonArray.Add(Data); } this.Emit(SocketIOPacket.Factory.CreateEventPacket(JsonArray, AckManager.CreateAck(AckAction), JsonOnly)); } }
public TChildClass Emit(JToken Event, params object[] Arguments) { if (Event != null) { JArray JsonArray = new JArray(); Action <JToken[]> Callback = null; int ArgumentsCount = Arguments.Length; if (ArgumentsCount > 0 && Arguments[Arguments.Length - 1] is Action <JToken[]> ) { ArgumentsCount--; Callback = (Action <JToken[]>)Arguments[Arguments.Length - 1]; } JsonArray.Add(Event); for (int i = 0; i < ArgumentsCount; i++) { JToken Data; try { Data = JToken.FromObject(Arguments[i]); } catch { Data = JValue.CreateNull(); } JsonArray.Add(Data); } Emit(SocketIOPacket.CreateEventPacket(JsonArray, AckManager.CreateAck(Callback))); } return(this as TChildClass); }