コード例 #1
0
ファイル: PlayerFight.cs プロジェクト: zuojiashun/DofusLike
 public void UnsubscribeToSpellCooldownEvents(SpellCooldownEventHandler newObserver)
 {
     if (IsObserverSpellCooldownInList(newObserver))
     {
         m_spellCooldownsEvents -= new SpellCooldownEventHandler(newObserver);
     }
 }
コード例 #2
0
ファイル: PlayerFight.cs プロジェクト: zuojiashun/DofusLike
 public void SubscribeToSpellCooldownEvents(SpellCooldownEventHandler newObserver)
 {
     if (!IsObserverSpellCooldownInList(newObserver))
     {
         m_spellCooldownsEvents += new SpellCooldownEventHandler(newObserver);
         m_spellCooldownsEvents.Invoke(GetSpellCooldownsAsPercent());
     }
 }
コード例 #3
0
ファイル: PlayerFight.cs プロジェクト: zuojiashun/DofusLike
 private bool IsObserverSpellCooldownInList(SpellCooldownEventHandler newObserver)
 {
     if (m_spellCooldownsEvents != null)
     {
         foreach (var existingHandler in m_spellCooldownsEvents.GetInvocationList())
         {
             if (Delegate.Equals(existingHandler, newObserver))//existingHandler == newObserver) //If it doesn't work use : if(objA.Method.Name == objB.Method.Name && objA.Target.GetType().FullName == objB.Target.GetType().FullName) OR Delegate.Equals(objA, objB)
             {
                 return(true);
             }
         }
     }
     return(false);
 }