Added NightAlert project for travel kit
This commit is contained in:
57
ThirdParty/SocketIoClientDotNet/Src/SocketIoClientDotNet.net45/Client/On.cs
vendored
Normal file
57
ThirdParty/SocketIoClientDotNet/Src/SocketIoClientDotNet.net45/Client/On.cs
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
using Quobject.EngineIoClientDotNet.ComponentEmitter;
|
||||
using System;
|
||||
|
||||
namespace Quobject.SocketIoClientDotNet.Client
|
||||
{
|
||||
public class On
|
||||
{
|
||||
private On() { }
|
||||
|
||||
public static IHandle Create(Emitter obj, string ev, IListener fn)
|
||||
{
|
||||
obj.On(ev, fn);
|
||||
return new HandleImpl(obj,ev,fn);
|
||||
}
|
||||
|
||||
public class HandleImpl : IHandle
|
||||
{
|
||||
private Emitter obj;
|
||||
private string ev;
|
||||
private IListener fn;
|
||||
|
||||
public HandleImpl(Emitter obj, string ev, IListener fn)
|
||||
{
|
||||
this.obj = obj;
|
||||
this.ev = ev;
|
||||
this.fn = fn;
|
||||
}
|
||||
|
||||
public void Destroy()
|
||||
{
|
||||
obj.Off(ev, fn);
|
||||
}
|
||||
}
|
||||
|
||||
public class ActionHandleImpl : IHandle
|
||||
{
|
||||
private Action fn;
|
||||
|
||||
public ActionHandleImpl(Action fn)
|
||||
{
|
||||
this.fn = fn;
|
||||
}
|
||||
|
||||
public void Destroy()
|
||||
{
|
||||
fn();
|
||||
}
|
||||
}
|
||||
|
||||
public interface IHandle
|
||||
{
|
||||
void Destroy();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user