public void RegisterListen(UIManagerClass.ChildScreen screen, ChangeList change, Action function) { ListenerEntry newEntry; newEntry.Screen = screen; newEntry.ChangeType = change; newEntry.Function = function; Listeners.Add(newEntry); }
public void NotifyChange(UIManagerClass.ChildScreen sender, ChangeList change) { foreach (ListenerEntry c in Listeners) { if (c.ChangeType == change && c.Screen != sender) { c.Function(); } } }
public void DeregisterListener(UIManagerClass.ChildScreen screen) { int i = 0; while (i < Listeners.Count) { if (Listeners[i].Screen == screen) { Listeners.RemoveAt(i); } else { i++; } } }