public void RemoveMediator(string mediatorName) { ILuaMediator luaMediator = null; if (m_luaMediators.TryGetValue(mediatorName, out luaMediator)) { RemoveObserver(luaMediator.NAME, new Observer(luaMediator.HandleNotification)); if (null != luaMediator.OnRemove) { luaMediator.OnRemove(); } m_luaMediators.Remove(mediatorName); } }
public void RegisterMediator(ILuaMediator luaMediator) { lock (m_syncRoot) { if (m_luaMediators.ContainsKey(luaMediator.NAME)) { return; } m_luaMediators.Add(luaMediator.NAME, luaMediator); if (null != luaMediator.OnRegister) { luaMediator.OnRegister(); } if (luaMediator.ListNotificationInterests.Count > 0) { for (int i = 0; i < luaMediator.ListNotificationInterests.Count; i++) { RegisterObserver(luaMediator.ListNotificationInterests[i], new Observer(luaMediator.HandleNotification)); } } } }
public void RegisterLuaMediator(ILuaMediator luaMediator) { m_luaView.RegisterMediator(luaMediator); }