public void RemoveListener(MESSAGE_TYPE msgType, MessageHandleDelegate handle)
    {
        List <MessageHandleDelegate> handleList = null;

        if (m_DelegateLists.TryGetValue(msgType, out handleList))
        {
            handleList.Remove(handle);
        }
    }
    public bool AddListener(MESSAGE_TYPE msgType, MessageHandleDelegate handle)
    {
        if (!m_DelegateLists.ContainsKey(msgType))
        {
            m_DelegateLists.Add(msgType, new List <MessageHandleDelegate>());
        }
        List <MessageHandleDelegate> handleList = m_DelegateLists[msgType];

        if (handleList.Contains(handle))
        {
            return(false);
        }
        handleList.Add(handle);
        return(true);
    }
Example #3
0
 /// <summary>
 /// Normal Start에 사용되는 추가 설정 함수입니다.
 /// 이 함수는 사용자 정의 메세지 처리 방법과 종료시 처리 방법을 알리는 수단입니다.
 /// 이 설정이 되어있지 않으면 그저 연결해놓고 가만히 있을 뿐인 프로그램이 됩니다.
 /// </summary>
 /// <param name="messageHandler">자체로 사용할 메세지 처리방법에 대한 내용이 담긴 대리자 변수입니다.</param>
 /// <param name="endingHandler">종료시 처리방법이 담긴 대리자 변수입니다.</param>
 public static void SettingCustomMethods(MessageHandleDelegate messageHandler, EndingHandleDelegate endingHandler)
 {
     customMessageHandleDelegate = messageHandler;
     customEndingHandler         = endingHandler;
 }