/// <inheritdoc /> /// <summary> /// Unregisters the specified character spawn. /// </summary> /// <param name="characterSpawn">The character spawn.</param> public void Unregister(ICharacterSpawn characterSpawn) { if (!Members.ContainsKey(characterSpawn.Id)) { return; } ChannelUnregisteringEventArgs channelUnregisteringEventArgs = new ChannelUnregisteringEventArgs(characterSpawn); Unregistering?.Invoke(this, channelUnregisteringEventArgs); if (channelUnregisteringEventArgs.Cancel) { return; } Members.Remove(characterSpawn.Id); ChannelUnregisteredEventArgs channelUnregisteredEventArgs = new ChannelUnregisteredEventArgs(characterSpawn); Unregistered?.Invoke(this, channelUnregisteredEventArgs); }
/// <summary> /// Called when [unregistered]. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The <see cref="ChannelUnregisteredEventArgs" /> instance containing the event data.</param> private void OnUnregistered(object sender, ChannelUnregisteredEventArgs e) { Posting -= OnPosting; Posted -= OnPosted; }