Пример #1
0
        /// <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);
        }
Пример #2
0
 /// <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;
 }