/// <summary> /// The on auto subscribed item disposed. /// </summary> private void AutoSubscribedMmoObject_OnMmoObjectDisposed(MmoObjectDisposedMessage message) { MessageCounters.CounterReceive.Increment(); lock (this.SyncRoot) { MmoObjectAutoSubscription subscription; if (this.autoManagedItemSubscriptions.TryGetValue(message.Source, out subscription)) { this.AutoUnsubscribeMmoObject(subscription); } } }
void Radar_OnCharacterDisposed(MmoObjectDisposedMessage message) { var character = message.Source as Character; if (character == null) { return; } this.visibleCharacters[character].Dispose(); this.visibleCharacters.Remove(character); // exiting aggro range this.OnExitRadarRange(character); }
/// <summary> /// The attached item disposed. /// </summary> private void AttachedItem_OnMmoObjectDisposed(MmoObjectDisposedMessage message) { MessageCounters.CounterReceive.Increment(); lock (this.SyncRoot) { if (message.Source == this.Owner) { this.itemMovementSubscription.Dispose(); this.itemMovementSubscription = null; this.Owner = null; } } }