예제 #1
0
    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);
    }
예제 #2
0
    public void Recieve(TriggerCommandsType command)
    {
        List <Action> callbacks = null;

        if (_handlers.TryGetValue(command, out callbacks))
        {
            foreach (var methodToInvoke in callbacks)
            {
                methodToInvoke();
            }
        }
    }
예제 #3
0
 public void Remove(TriggerCommandsType command, GameCommandHandler handler)
 {
     _handlers[command].Remove(handler.OnInteraction);
 }