public static void Unsubscribe(PagesChoice token, Action <object> callback) { if (pl_dict.ContainsKey(token)) { pl_dict[token].Remove(callback); } }
public static void Notify(PagesChoice token, object args = null) { if (pl_dict.ContainsKey(token)) { foreach (var callback in pl_dict[token]) { callback(args); } } }
public static void Subscribe(PagesChoice token, Action <object> callback) { if (!pl_dict.ContainsKey(token)) { var list = new List <Action <object> >(); list.Add(callback); pl_dict.Add(token, list); } else { bool found = false; foreach (var item in pl_dict[token]) { if (item.Method.ToString() == callback.Method.ToString()) { found = true; } } if (!found) { pl_dict[token].Add(callback); } } }