public void Add(params KeyCode[] keys) { if (m_modifiers == null) { m_modifiers = new KeyCode[0]; m_referenceCount = new int[0]; m_pressed = new bool[0]; } for (int i = 0; i < keys.Length; i++) { if (!ArrayUtil.Contains(m_modifiers, keys[i])) { m_modifiers = ArrayUtil.AddToArray(m_modifiers, keys[i]); m_referenceCount = ArrayUtil.AddToArray(m_referenceCount, 1); m_pressed = ArrayUtil.AddToArray(m_pressed, false); } else { int index = ArrayUtil.FindFirstIndex(m_modifiers, keys[i]); ++m_referenceCount[index]; } } }