public void removeDelegate <T>(MyGUIEvent evt) { MyGUIWidgetEventTranslator trans; events.TryGetValue(typeof(T), out trans); if (trans != null) { trans.BoundEvent -= evt; } }
public void addDelegate <T>(MyGUIEvent evt) where T : MyGUIWidgetEventTranslator, new() { MyGUIWidgetEventTranslator trans; events.TryGetValue(typeof(T), out trans); if (trans == null) { trans = new T(); trans.initialize(widget); events.Add(typeof(T), trans); } trans.BoundEvent += evt; }