public void TestCallbacks() { var objectTest = new object[] { "Test", 1, 22f, 55.7m, new int[] { 1, 2, 3, 4, 5 } }; var TestClass1 = new Test1(55); var callbacks = new CallbackManager <testClient>(); var Client1 = new testClient(); var Client2 = new testClient(); callbacks.SetArrayHandler((testClient client, object[] d) => { Assert.AreEqual(client, Client1); CollectionAssert.AreEqual(d, objectTest); }); callbacks.SetHandler <Test1>((testClient client, Test1 t) => { Assert.AreEqual(client, Client2); Assert.AreEqual(TestClass1, t); }); callbacks.Handle(Client1, new ObjectArrayPacket(objectTest)); callbacks.Handle(Client2, TestClass1); callbacks.SetPacketHandler((testClient client, IPacket p) => { Assert.AreEqual(client, Client1); Assert.IsInstanceOfType(p, typeof(Test2)); }); callbacks.Handle(Client1, new Test2()); callbacks.SetPacketHandler((testClient client, IPacket p) => { Assert.AreNotEqual(client, Client1); Assert.IsNotInstanceOfType(p, typeof(Test2)); }); callbacks.Handle(Client2, new Test3()); }
/// <summary> /// Add handler for all IPacket packets. /// If another handler is raised for the type of IPacket, this callback will not be called for it. /// </summary> /// <param name="callback"></param> public void SetHandler(Action <SyncIOConnectedClient, IPacket> callback) { _callbacks.SetPacketHandler(callback); }
/// <summary> /// Add handler for all IPacket packets. /// If another handler is raised for the type of IPacket, this callback will not be called for it. /// </summary> /// <param name="callback"></param> public void SetHandler(Action <SyncIOClient, IPacket> callback) { Callbacks.SetPacketHandler(callback); }
public void SetHandler(Action <SecureSocketClient, IPacket> callback) { _callbacks.SetPacketHandler(callback); }