コード例 #1
0
    void SetupInputs()    //move this to a manager at some point
    {
        bindings = new PlayerBindings();

        bindings.lookLeft.AddDefaultBinding(Mouse.NegativeX);
        bindings.lookRight.AddDefaultBinding(Mouse.PositiveX);
        bindings.lookDown.AddDefaultBinding(Mouse.NegativeY);
        bindings.lookUp.AddDefaultBinding(Mouse.PositiveY);

        bindings.moveLeft.AddDefaultBinding(Key.A);
        bindings.moveRight.AddDefaultBinding(Key.D);
        bindings.moveBack.AddDefaultBinding(Key.S);
        bindings.moveForward.AddDefaultBinding(Key.W);

        bindings.interact.AddDefaultBinding(Key.F);
        bindings.fire.AddDefaultBinding(Mouse.LeftButton);
        bindings.blink.AddDefaultBinding(Mouse.RightButton);
        bindings.respawn.AddDefaultBinding(Key.R);
        bindings.cancel.AddDefaultBinding(Key.Q);

        bindings.ragdoll.AddDefaultBinding(Key.Space);
        bindings.pauseGame.AddDefaultBinding(Key.Escape);

        bindings.hotbar1.AddDefaultBinding(Key.Key1);
        bindings.hotbar2.AddDefaultBinding(Key.Key2);
        bindings.hotbar3.AddDefaultBinding(Key.Key3);
        bindings.hotbar4.AddDefaultBinding(Key.Key4);
        bindings.hotbar5.AddDefaultBinding(Key.Key5);
    }
コード例 #2
0
        public override void InstallBindings()
        {
            Container.Bind <SceneInitializer>().AsSingle();

            InitializationBindings.Bind(Container);
            TicksBinding.Bind(Container);
            LoggerBindings.Bind(Container);
            CameraBindings.Bind(Container);
            SpellSystemBindings.Bind(Container);
            PlayerBindings.Bind(Container);
            EnemyBindings.Bind(Container);
            MapsBindings.Bind(Container);
            UiBindings.Bind(Container);
            SchemeBindings.Bind(Container);
        }
コード例 #3
0
    public override void UpdatePlaying()
    {
        shootTimer += Time.deltaTime;
        bindings    = InputManager._instance.bindings;
        if (bindings.pauseGame.WasPressed)
        {
            Cursor.lockState  = CursorLockMode.None;
            Cursor.visible    = true;
            Globals.gameState = GameState.Paused;
        }
        if (playerState == inputState.free)
        {
            move.MovePlayer(new Vector3(bindings.move.X, 0, bindings.move.Y));

            if (bindings.fire.IsPressed && shootTimer > 0.25 && !weapon.charging)
            {
                if (CheckWallDistance())
                {
                    weapon.PrepareToFire();
                }
            }

            if (bindings.fire.WasReleased && weapon.charging)
            {
                if (CheckWallDistance())
                {
                    blinkBall       = weapon.Fire();
                    weapon.charging = false;
                }
            }

            if (bindings.blink.IsPressed)
            {
                if (blinkBall != null)
                {
                    blinkBall.SetPlayer(gameObject);
                }
                //peeking = true;
            }

            if (bindings.blink.WasReleased)
            {
                if (blinkBall != null)
                {
                    shootTimer = 0;
                    //peeking = false;
                    weapon.GetComponentInChildren <SkinnedMeshRenderer> ().enabled = true;
                    blinkBall.Teleport(gameObject);
                }
                else
                {
                    // Play an error sound or something;
                }
            }

            if (Input.GetKeyDown(KeyCode.V))
            {
                if (QualitySettings.vSyncCount != 0)
                {
                    QualitySettings.vSyncCount = 0;
                }
                else
                {
                    QualitySettings.vSyncCount = 1;
                }
            }
        }

        move.CameraMove(new Vector3(-bindings.look.Y, bindings.look.X, 0));

        if (bindings.ragdoll.WasPressed)
        {
            Debug.Log("Ragdoll toggle");
            if (playerState == inputState.free)
            {
                playerState = inputState.ragdoll;
                ragdoll.Activate();
            }
            else
            {
                playerState = inputState.free;
                ragdoll.Deactivate();
            }
        }

        if (bindings.respawn.WasPressed)
        {
            Die();
        }
    }