Exemplo n.º 1
0
    //public void Update() {
    //if (Main.Ins.GameBattleEx != null && Main.Ins.GameBattleEx.BattleFinished())
    //    return;
    //if (CombatData.Ins.Replay && FrameReplay.Instance.Started) {

    //} else {
    //    if (Main.Ins.LocalPlayer != null) {
    //        if (Main.Ins.LocalPlayer.meteorController.InputLocked)
    //            return;
    //    }
    //    getButtons();
    //}
    //getAxis();
    //}

    public void ProcessKey(KeyState keyState)
    {
        Pressed.Clear();
        Released.Clear();
        Pressing.Clear();
        if (keyMapping.ContainsKey(keyState.Key))
        {
            JoyKeyState js  = keyMapping[keyState.Key];
            bool        old = js.PointDown;
            js.PointDown = Input.GetKey(js.key);
            if (old && !js.PointDown)
            {
                Released.Add(js);
            }
            if (!old && js.PointDown)
            {
                Pressed.Add(js);
            }
            if (old && js.PointDown)
            {
                Pressing.Add(js);
            }
            //先按下
            for (int i = 0; i < Pressed.Count; i++)
            {
                if (Pressed[i].OnPress != null)
                {
                    Pressed[i].OnPress.Invoke();
                }
            }
            //再蓄力
            for (int i = 0; i < Pressing.Count; i++)
            {
                if (Pressing[i].OnPressing != null)
                {
                    Pressing[i].OnPressing.Invoke();
                }
            }
            //再弹起
            for (int i = 0; i < Released.Count; i++)
            {
                if (Released[i].OnRelease != null)
                {
                    Released[i].OnRelease.Invoke();
                }
            }
        }
    }
Exemplo n.º 2
0
 private void Awake()
 {
     wKey         = new JoyKeyState(KeyCode.JoystickButton4);
     sKey         = new JoyKeyState(KeyCode.JoystickButton6);
     aKey         = new JoyKeyState(KeyCode.JoystickButton7);
     dKey         = new JoyKeyState(KeyCode.JoystickButton5);
     CameraAxisXL = new JoyKeyState(KeyCode.JoystickButton10);
     CameraAxisXR = new JoyKeyState(KeyCode.JoystickButton11);
     CameraAxisYU = new JoyKeyState(KeyCode.JoystickButton8);
     CameraAxisYD = new JoyKeyState(KeyCode.JoystickButton9);
     attack       = new JoyKeyState(KeyCode.JoystickButton15);
     defence      = new JoyKeyState(KeyCode.JoystickButton13);
     jump         = new JoyKeyState(KeyCode.JoystickButton14);
     brust        = new JoyKeyState(KeyCode.JoystickButton12);
     changeweapon = new JoyKeyState(KeyCode.JoystickButton0);
     dropweapon   = new JoyKeyState(KeyCode.JoystickButton3);
     crouch       = new JoyKeyState(KeyCode.JoystickButton1);
     unlock       = new JoyKeyState(KeyCode.JoystickButton2);
     help         = new JoyKeyState(KeyCode.JoystickButton16);
     keyMapping.Add(EKeyList.KL_KeyW, wKey);
     keyMapping.Add(EKeyList.KL_KeyS, sKey);
     keyMapping.Add(EKeyList.KL_KeyA, aKey);
     keyMapping.Add(EKeyList.KL_KeyD, dKey);
     keyMapping.Add(EKeyList.KL_CameraAxisXL, CameraAxisXL);
     keyMapping.Add(EKeyList.KL_CameraAxisXR, CameraAxisXR);
     keyMapping.Add(EKeyList.KL_CameraAxisYU, CameraAxisYU);
     keyMapping.Add(EKeyList.KL_CameraAxisYD, CameraAxisYD);
     keyMapping.Add(EKeyList.KL_Attack, attack);
     keyMapping.Add(EKeyList.KL_Defence, defence);
     keyMapping.Add(EKeyList.KL_Jump, jump);
     keyMapping.Add(EKeyList.KL_BreakOut, brust);
     keyMapping.Add(EKeyList.KL_ChangeWeapon, changeweapon);
     keyMapping.Add(EKeyList.KL_DropWeapon, dropweapon);
     keyMapping.Add(EKeyList.KL_Crouch, crouch);
     keyMapping.Add(EKeyList.KL_KeyQ, unlock);
     keyMapping.Add(EKeyList.KL_Help, help);
 }