public override void Unsubscribe(ChannelNetworkMgrBase mgr, IChannelNetworkComponentEX emitter) { if (emitter.PreUnsubscribe(mgr, Count) || Count == 0) { return; } if (emitter.GetOperationalState) { Count--; } if (Count == 0) { mgr.SignalEmit(emitter.GetChannel, false); } emitter.PostUnsubscribe(mgr, Count); }
public override void Unsubscribe(ChannelNetworkMgrBase mgr, IChannelNetworkComponentEX emitter) { if (emitter.PreSubscribe(mgr, Emitters) || Emitters == 0) { return; } else if (emitter.GetOperationalState) { Count--; } Emitters--; if (Emitters == 0) { Activate = false; } emitter.PostUnsubscribe(mgr, Emitters); }