public void RemoveListener(string stepName, ProgressionStepListener.EventHandler eventHandler) { ProgressionStepListener invoker; if (stepsEvents.TryGetValue(stepName, out invoker)) { invoker.eventHandler -= eventHandler; } }
public void AddListener(string stepName, ProgressionStepListener.EventHandler eventHandler) { ProgressionStepListener invoker; if (!stepsEvents.TryGetValue(stepName, out invoker)) { invoker = new ProgressionStepListener(); stepsEvents.Add(stepName, invoker); } invoker.eventHandler += eventHandler; }