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; }
private bool HasConfigInitialed(DummyCameraMotorInput input) { return(input.GetPoseConfig(0) != null); }