示例#1
0
        public override void Tick()
        {
            if (Player == null || !IsRun || Player.Controller == null || !Player.IsAlive)
            {
                return;
            }

            // --------------------------------------------------------------------------------
            // Notify player controller Inputs
            // --------------------------------------------------------------------------------

            //- Movement
            if (_input.IsShiftButton())
            {
                SystemFacade.Camera.UpdateTargetFollowSpeed(_config.profile.quickMoveSpeed);
                Player.Controller.QuickMove(_input.GetAxis(InputBehaviour.Move));
            }
            else
            {
                SystemFacade.Camera.UpdateTargetFollowSpeed(_config.profile.normalMoveSpeed);
                Player.Controller.NormalMove(_input.GetAxis(InputBehaviour.Move));
            }

            //- Jump
            if (_input.GetButton(InputBehaviour.Jump))
            {
                Player.Controller.Jump(ButtonState.Button);
            }
            if (_input.GetButtonDown(InputBehaviour.Jump))
            {
                Player.Controller.Jump(ButtonState.ButtonDown);
            }
            if (_input.GetButtonUp(InputBehaviour.Jump))
            {
                Player.Controller.Jump(ButtonState.ButtonUp);
            }

            //- Duck
            if (_input.GetButton(InputBehaviour.Duck))
            {
                Player.Controller.Duck(ButtonState.Button);
            }
            if (_input.GetButtonDown(InputBehaviour.Duck))
            {
                Player.Controller.Duck(ButtonState.ButtonDown);
            }
            if (_input.GetButtonUp(InputBehaviour.Duck))
            {
                Player.Controller.Duck(ButtonState.ButtonUp);
            }

            //- Shoot
            if (_input.GetButton(InputBehaviour.Shoot))
            {
                Player.Controller.Shoot(ButtonState.Button);
            }
            if (_input.GetButtonDown(InputBehaviour.Shoot))
            {
                Player.Controller.Shoot(ButtonState.ButtonDown);
            }
            if (_input.GetButtonUp(InputBehaviour.Shoot))
            {
                Player.Controller.Shoot(ButtonState.ButtonUp);
            }
        }