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