Exemple #1
0
 internal void RemoveMonoAction(MonoNoticeAction monoNotice)
 {
     if (notifyCallBacks != null)
     {
         if (notifyCallBacks.Contains(monoNotice))
         {
             notifyCallBacks.Remove(monoNotice);
         }
     }
 }
Exemple #2
0
        internal virtual void UnregisterCallBack(Transform root, Action <BaseNotice> notifyCallBack)
        {
            MonoNoticeAction monoNotice = root.GetComponent <MonoNoticeAction>();

            if (monoNotice != null)
            {
                monoNotice.SetOwn(parent);
                monoNotice.RemoveCallBack(notifyCallBack);
                if (monoNotice.CallCount == 0)
                {
                    GameObject.Destroy(monoNotice);
                }
            }
        }
Exemple #3
0
        internal virtual void RegisterCallBack(Transform root, Action <BaseNotice> notifyCallBack)
        {
            MonoNoticeAction monoNotice = root.GetComponent <MonoNoticeAction>();

            if (monoNotice == null)
            {
                monoNotice = root.gameObject.AddComponent <MonoNoticeAction>();
                if (notifyCallBacks == null)
                {
                    notifyCallBacks = new List <MonoNoticeAction>();
                }
                monoNotice.SetOwn(parent);
                notifyCallBacks.Add(monoNotice);
            }
            monoNotice.AddCallBack(notifyCallBack);
        }