示例#1
0
 /// <summary>
 /// ´¦ÀíÐéÄâ°´¼üʼþ
 /// </summary>
 /// <param name="vkey">ÐéÄâ°´¼üµÄ¼üÖµ</param>
 /// <param name="arg">ÐéÄâ°´¼ü²ÎÊý</param>
 private void HandleVKey(EVKey vkey, object arg = null)
 {
     if (OnVKey != null)
     {
         OnVKey(vkey, arg);
     }
 }
示例#2
0
    /// <summary>
    /// ½«¡¾¼üÅÌ°´¼ü¡¿×ª»¯Îª¡¾ÐéÄâ°´¼ü¡¿
    /// </summary>
    private void HandleVKey(KeyCode key, EVKey pressKey, float pressArg, EVKey releaseKey, float releaseArg)
    {
        if (!mapKeyState.ContainsKey(key))
        {
            mapKeyState.Add(key, new KeyState()
            {
                key = EVKey.None, arg = 0, state = false
            });
        }

        if (Input.GetKey(key))
        {
            if (!mapKeyState[key].state)
            {
                HandleVKey(EVKey.MoveStart);
                var keyState = mapKeyState[key];
                keyState.state   = true;
                keyState.key     = pressKey;
                keyState.arg     = pressArg;
                mapKeyState[key] = keyState;
                HandleVKey(pressKey, pressArg);
            }
        }
        else
        {
            if (mapKeyState[key].state)
            {
                var keyState = mapKeyState[key];
                keyState.state   = false;
                keyState.arg     = 0;
                keyState.key     = EVKey.None;
                mapKeyState[key] = keyState;
                HandleVKey(releaseKey, releaseArg);
                var end = true;
                foreach (var item in mapKeyState)
                {
                    var keyCode = item.Key;
                    var temp    = item.Value;
                    if (temp.state)
                    {
                        HandleVKey(temp.key, temp.arg);
                        end = false;
                    }
                }
                if (end)
                {
                    HandleVKey(EVKey.MoveEnd);
                }
            }
        }
    }
示例#3
0
    /// <summary>
    /// 输入控制
    /// </summary>
    private void OnVkey(EVKey vkey, object arg)
    {
        switch (vkey)
        {
        case EVKey.Move:
            break;

        case EVKey.MoveX:
            break;

        case EVKey.MoveY:
            break;

        case EVKey.MoveStart:
            break;

        case EVKey.MoveEnd:
            break;
        }
    }