/// <a href="http://bit.ly/2QNmw2q">Create a new listener and register it with an emitter</a> public static Listener Instance(WithEmitter assetToMonitor, Emitter.Action onTriggered) { Listener listener = new Listener { assetToMonitor = assetToMonitor }; listener.Register(onTriggered); return(listener); }
[Test] public void InstanceListener() { if (emitterActionInstance == default) { emitterActionInstance = emitter => emitterFiredInstance = true; } emitterFiredInstance = false; using (var emitter = Emitter.Instance.Listen(emitterActionInstance, once: true)) { emitter.Fire(); Assert.IsTrue(emitterFiredInstance); } }
/// <a href="http://bit.ly/2QNmw2q">Register an action so that if the custom asset member changes anyone can be told</a> public void Register(Emitter.Action actionOnTriggered) { assetToMonitor.Emitter.Remove(action: onTriggered); onTriggered = actionOnTriggered; Register(); }