Пример #1
0
 public void UnhookEvents()
 {
     Dispatcher.Invoke(new Action(() =>
     {
         foreach (Monster_Widget.Parts.MonsterPart Part in MonsterPartsContainer.Children)
         {
             Part.UnhookEvents();
         }
         foreach (Monster_Widget.Parts.MonsterAilment Ailment in MonsterAilmentsContainer.Children)
         {
             Ailment.UnhookEvents();
         }
         MonsterAilmentsContainer.Children.Clear();
         MonsterPartsContainer.Children.Clear();
     }));
     Context.OnMonsterSpawn          -= OnMonsterSpawn;
     Context.OnMonsterDespawn        -= OnMonsterDespawn;
     Context.OnMonsterDeath          -= OnMonsterDespawn;
     Context.OnMonsterCapture        -= OnMonsterDespawn;
     Context.OnHPUpdate              -= OnMonsterUpdate;
     Context.OnStaminaUpdate         -= OnStaminaUpdate;
     Context.OnEnrage                -= OnEnrage;
     Context.OnUnenrage              -= OnUnenrage;
     Context.OnEnrageTimerUpdate     -= OnEnrageTimerUpdate;
     Context.OnTargetted             -= OnMonsterTargetted;
     Context.OnCrownChange           -= OnMonsterCrownChange;
     Context.OnAlatreonElementShift  -= OnAlatreonElementShift;
     Context.OnMonsterAilmentsCreate -= OnMonsterAilmentsCreate;
     Context = null;
 }
Пример #2
0
 private void OnMonsterDespawn(object source, EventArgs args) => Dispatch(() =>
 {
     MonsterCrown.Visibility = Visibility.Collapsed;
     Visibility = Visibility.Collapsed;
     Weaknesses.Children.Clear();
     foreach (Monster_Widget.Parts.MonsterPart Part in MonsterPartsContainer.Children)
     {
         Part.UnhookEvents();
     }
     foreach (Monster_Widget.Parts.MonsterAilment Ailment in MonsterAilmentsContainer.Children)
     {
         Ailment.UnhookEvents();
     }
     MonsterAilmentsContainer.Children.Clear();
     MonsterPartsContainer.Children.Clear();
 });