public CombinationAgentButtonListener (AgentButtonListener listener, params AgentButton[] buttons) { if (listener == null) throw new ArgumentNullException ("listener"); m_Listener = listener; m_ButtonToStateMap = new Hashtable(); foreach (var b in AgentButton.Empty.GetAll ()) m_ButtonToStateMap[b] = AgentButtonState.Up; listener.StartListeningTo (buttons); m_AgentButtonListener = OnAgentButtonListenerPressed; listener.OnButtonStateChange += m_AgentButtonListener; }