예제 #1
0
        /// <summary>
        ///     Called when [registered].
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">The <see cref="ChannelRegisteredEventArgs" /> instance containing the event data.</param>
        private void OnRegistered(object sender, ChannelRegisteredEventArgs e)
        {
            if (!_muteConditionByCharacterSpawnId.ContainsKey(e.CharacterSpawn.Id))
            {
                _muteConditionByCharacterSpawnId.Add(e.CharacterSpawn.Id, null);
            }

            Posting += OnPosting;
            Posted  += OnPosted;
        }
예제 #2
0
        /// <inheritdoc />
        /// <summary>
        ///     Registers the specified character spawn.
        /// </summary>
        /// <param name="characterSpawn">The character spawn.</param>
        public void Register(ICharacterSpawn characterSpawn)
        {
            if (Members.ContainsKey(characterSpawn.Id))
            {
                return;
            }

            ChannelRegisteringEventArgs channelRegisteringEventArgs = new ChannelRegisteringEventArgs(characterSpawn);

            Registering?.Invoke(this, channelRegisteringEventArgs);
            if (channelRegisteringEventArgs.Cancel)
            {
                return;
            }

            Members.Add(characterSpawn.Id, characterSpawn);

            ChannelRegisteredEventArgs channelRegisteredEventArgs = new ChannelRegisteredEventArgs(characterSpawn);

            Registered?.Invoke(this, channelRegisteredEventArgs);
        }
예제 #3
0
 /// <summary>
 ///     Called when [registered].
 /// </summary>
 /// <param name="sender">The sender.</param>
 /// <param name="e">The <see cref="ChannelRegisteredEventArgs" /> instance containing the event data.</param>
 private void OnRegistered(object sender, ChannelRegisteredEventArgs e)
 {
     Posting += OnPosting;
 }