public void Register(IOEvent e, IOObserver observer) { if (!observerDictionary.ContainsKey(e)) { List<IOObserver> observerList = new List<IOObserver>(); observerDictionary.Add(e, observerList); } observerDictionary[e].Add(observer); }
public void Unregister(IOObserver observer) { foreach(List<IOObserver> list in observerDictionary.Values) { if (list.Contains(observer)) { list.Remove(observer); } } }
public void Unregister(IOEvent e, IOObserver observer) { if (observerDictionary.ContainsKey(e)) { if (observerDictionary[e].Contains(observer)) { observerDictionary[e].Remove(observer); } } }
public static void RegisterIO(InputManager ioManager, IOObserver ioObserver) { ioManager.Register(leftMousePress, ioObserver); ioManager.Register(leftMouseRelease, ioObserver); ioManager.Register(rightMousePress, ioObserver); ioManager.Register(rightMouseRelease, ioObserver); ioManager.Register(constructCombat, ioObserver); ioManager.Register(constructTransport, ioObserver); ioManager.Register(createCompany, ioObserver); ioManager.Register(ctrPress, ioObserver); ioManager.Register(ctrRelease, ioObserver); }