예제 #1
0
 public void RemoveListener(IPlayerManagerListener varListener)
 {
     if (varListener == null || mListeners == null)
     {
         return;
     }
     mListeners.Remove(varListener);
 }
예제 #2
0
 public void AddListener(IPlayerManagerListener varListener)
 {
     if (mListeners == null)
     {
         mListeners = new List <IPlayerManagerListener>();
     }
     if (varListener == null)
     {
         return;
     }
     if (mListeners.Contains(varListener))
     {
         return;
     }
     mListeners.Add(varListener);
 }
예제 #3
0
        public void NotifyListener(IPlayerManagerListenerEventType varEvtType, params object[] varArgs)
        {
            if (mListeners == null || mListeners.Count == 0)
            {
                return;
            }
            for (int i = 0; i < mListeners.Count; i++)
            {
                IPlayerManagerListener listener = mListeners[i];
                if (listener == null)
                {
                    continue;
                }
                object arg = null;
                switch (varEvtType)
                {
                case IPlayerManagerListenerEventType.OnPlayerLogin:
                    if (varArgs != null || varArgs.Length > 0)
                    {
                        arg = varArgs[0];
                    }
                    listener.OnPlayerLogin(arg as Player);
                    break;

                case IPlayerManagerListenerEventType.OnPlayerLogout:
                    if (varArgs != null || varArgs.Length > 0)
                    {
                        arg = varArgs[0];
                    }
                    listener.OnPlayerLogout(arg as Player);
                    break;

                case IPlayerManagerListenerEventType.OnPlayerOffline:
                    if (varArgs != null || varArgs.Length > 0)
                    {
                        arg = varArgs[0];
                    }
                    listener.OnPlayerOffline(arg as Player);
                    break;

                default:
                    break;
                }
            }
        }