Esempio n. 1
0
        private void CalcuForNormal(IUserCmd cmd, PlayerEntity player, CameraStateOutputNewComponent result)
        {
            DummyCameraMotorState.Convert(player.cameraStateNew, _state);

            DummyCameraMotorInput _input = (DummyCameraMotorInput)player.cameraStateNew.CameraMotorInput;

            _input.Generate(player, cmd, _state, LockView);

            if (!HasConfigInitialed(_input))
            {
                return;
            }

            for (int i = 0; i < (int)SubCameraMotorType.End; i++)
            {
                var type = (SubCameraMotorType)i;
                SetNextMotor(player, type, _state, _input);
            }

            HandleAction(player);

            _motors.ActionManager.ClearActionCode();

            player.cameraStateNew.CameraMotorInput     = player.cameraStateNew.LastCameraMotorInput;
            player.cameraStateNew.LastCameraMotorInput = _input;

            player.cameraConfigNow.Config     = _input.GetPoseConfig(_state.GetMainMotor().NowMode);
            player.cameraConfigNow.PeekConfig = _input.GetPeekConfig();
            player.cameraConfigNow.DeadConfig = _input.GetDeadConfig();

            CalcFinalOutput(player, (DummyCameraMotorInput)player.cameraStateNew.LastCameraMotorInput,
                            result, _state);

            DummyCameraMotorState.Convert(_state, player.cameraStateNew);
            player.cameraStateNew.CanFire =
                !_state.IsFree() && _input.GetPoseConfig(player.cameraStateNew.MainNowMode).CanFire;
        }
Esempio n. 2
0
 private bool HasConfigInitialed(DummyCameraMotorInput input)
 {
     return(input.GetPoseConfig(0) != null);
 }