public void Register(TriggerCommandsType command, GameCommandHandler handler) { List <Action> callbacks = null; if (!_handlers.TryGetValue(command, out callbacks)) { callbacks = _handlers[command] = new List <Action>(); } callbacks.Add(handler.OnInteraction); }
public void Recieve(TriggerCommandsType command) { List <Action> callbacks = null; if (_handlers.TryGetValue(command, out callbacks)) { foreach (var methodToInvoke in callbacks) { methodToInvoke(); } } }
public void Remove(TriggerCommandsType command, GameCommandHandler handler) { _handlers[command].Remove(handler.OnInteraction); }