示例#1
0
        public KeyState GetKeyState(char character)
        {
            for (int i = 0; i < m_KeyStates.size; i++)
            {
                KeyCodeState mKeyState = m_KeyStates[i];
                if (mKeyState.character == character)
                {
                    return(mKeyState.keyState);
                }
            }

            return(KeyState.Up);
        }
示例#2
0
        public KeyState GetKeyState(KeyCode keyCode)
        {
            for (int i = 0; i < m_KeyStates.size; i++)
            {
                KeyCodeState mKeyState = m_KeyStates[i];
                if (mKeyState.keyCode == keyCode)
                {
                    return(mKeyState.keyState);
                }
            }

            return(KeyState.Up);
        }
示例#3
0
        public void SetKeyState(char character, KeyState keyState)
        {
            for (int i = 0; i < m_KeyStates.size; i++)
            {
                KeyCodeState mKeyState = m_KeyStates[i];
                if (mKeyState.character == character)
                {
                    mKeyState.keyState = keyState;
                    return;
                }
            }

            m_KeyStates.Add(new KeyCodeState {
                character = character, keyState = keyState
            });
        }
示例#4
0
        public void SetKeyState(KeyCode keyCode, KeyState keyState)
        {
            for (int i = 0; i < m_KeyStates.size; i++)
            {
                KeyCodeState mKeyState = m_KeyStates[i];
                if (mKeyState.keyCode == keyCode)
                {
                    mKeyState.keyState = keyState;
                    return;
                }
            }

            m_KeyStates.Add(new KeyCodeState {
                keyCode = keyCode, keyState = keyState
            });
        }
示例#5
0
 public void CleanupForThisFrame()
 {
     for (int i = m_KeyStates.size - 1; i >= 0; i--)
     {
         ref KeyCodeState mKeyState = ref m_KeyStates.array[i];
         if (mKeyState.keyState == KeyState.Up || (mKeyState.keyState & KeyState.UpThisFrame) != 0)
         {
             m_KeyStates.RemoveAt(i);
         }
         else if ((mKeyState.keyState & KeyState.DownThisFrame) != 0)
         {
             if (UnityEngine.Input.GetKey(mKeyState.keyCode))
             {
                 mKeyState.keyState = KeyState.Down;
             }
             else
             {
                 mKeyState.keyState = KeyState.UpThisFrame;
             }
         }
     }