コード例 #1
0
ファイル: Characters.cs プロジェクト: zuojiashun/DofusLike
 public void SubscribeToIconEvents(IconEventHandler newObserver)
 {
     if (!IsObserverIconAlreadyInList(newObserver))
     {
         m_iconEvents += new IconEventHandler(newObserver);
         m_iconEvents.Invoke(m_icon);
     }
 }
コード例 #2
0
ファイル: Characters.cs プロジェクト: zuojiashun/DofusLike
 private bool IsObserverIconAlreadyInList(IconEventHandler newObserver)
 {
     if (m_iconEvents != null)
     {
         foreach (var existingHandler in m_iconEvents.GetInvocationList())
         {
             if (Delegate.Equals(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);
 }