/**********************************************************************************/ // функция проверяющая не нажата ли конкретная кнопка // /**********************************************************************************/ public bool IsKeyPressed(CTR_KEY key) { bool pressed = false; bool isBlocked = m_bloks[(int)key]; switch (key) { case CTR_KEY.FIRE_1: pressed = Input.GetButton(m_fire1Button); break; case CTR_KEY.FIRE_2: pressed = Input.GetButton(m_fire2Button); break; case CTR_KEY.FIRE_3: pressed = Input.GetButton(m_fire3Button); break; case CTR_KEY.FIRE_4: pressed = Input.GetButton(m_fire4Button); break; case CTR_KEY.PAUSE: pressed = Input.GetButton(m_pauseBtn); break; case CTR_KEY.ANY_KEY: pressed = Input.anyKey; break; } // проверяем блокировку if (isBlocked) { // если блокируем - инвертируем нажатие if (pressed) { pressed = false; } else { // снимаем блокировку m_bloks[(int)key] = false; } } return(pressed); }
/**********************************************************************************/ // функция блокирующая кнопку // /**********************************************************************************/ public void BlockButton(CTR_KEY key) { m_bloks[(int)key] = true; }