3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/screens/BaseScreen.h"
7#include "mc/client/renderer/game/OnCameraEffectRenderer.h"
8#include "mc/deps/core/math/Vec2.h"
9#include "mc/deps/core/math/Vec3.h"
10#include "mc/deps/core/utility/NonOwnerPointer.h"
11#include "mc/deps/input/enums/DirectionId.h"
12#include "mc/deps/input/enums/FocusImpact.h"
28namespace mce {
class Camera; }
35 ::ll::TypedStorage<4, 12, ::Vec3> mPickDirection;
36 ::ll::TypedStorage<4, 8, ::Vec2> mTurnDelta;
37 ::ll::TypedStorage<4, 8, ::Vec2> mLastPlayerRotation;
38 ::ll::TypedStorage<4, 8, ::Vec2> mLastPlayerAngleVel;
39 ::ll::TypedStorage<4, 8, ::Vec2> mLastHandRotation;
40 ::ll::TypedStorage<4, 8, ::Vec2> mLastHandVel;
41 ::ll::TypedStorage<8, 8, double> mLastTime;
42 ::ll::TypedStorage<8, 8, double> mLastVRStepSoundTime;
43 ::ll::TypedStorage<4, 12, ::Vec3> mPreviousDirectTurnVector;
44 ::ll::TypedStorage<4, 4, float> mTapTurnAmountRadians;
45 ::ll::TypedStorage<4, 4, float> mLastDirectTurnAmountRadians;
46 ::ll::TypedStorage<4, 4, float> mRotXTouch;
47 ::ll::TypedStorage<4, 4, float> mRotYTouch;
48 ::ll::TypedStorage<4, 4, float> mRotXTouchLast;
49 ::ll::TypedStorage<4, 4, float> mRotYTouchLast;
50 ::ll::TypedStorage<4, 4, float> mLastTickT;
51 ::ll::TypedStorage<4, 4, int> mTick;
52 ::ll::TypedStorage<1, 1, bool> mTapTurnActive;
53 ::ll::TypedStorage<1, 1, bool> mPrevTapTurnActive;
54 ::ll::TypedStorage<1, 1, bool> mPrevAtBorder;
55 ::ll::TypedStorage<1, 1, bool> mRollTurnTempActivation;
56 ::ll::TypedStorage<4, 4, float> mDXLast;
57 ::ll::TypedStorage<4, 4, float> mDYLast;
58 ::ll::TypedStorage<4, 12, ::Vec3> mLastHitLocation;
59 ::ll::TypedStorage<1, 1, bool> mbHitLocationRecorded;
60 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::FullScreenEffectRenderer>> mFullscreenEffectRenderer;
61 ::ll::TypedStorage<8, 224, ::OnCameraEffectRenderer> mOnCameraEffectRenderer;
62 ::ll::TypedStorage<8, 8, ::IMinecraftGame&> mMinecraft;
63 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IClientInstance>> mClient;
68 InGamePlayScreen& operator=(InGamePlayScreen
const&);
69 InGamePlayScreen(InGamePlayScreen
const&);
75 virtual ~InGamePlayScreen() ;
77 virtual void applyInput(
float a) ;
79 virtual void prepareFrame(::ScreenContext& screenContext) ;
81 virtual void render(::ScreenContext& screenContext, ::FrameRenderObject
const& renderObj) ;
83 virtual void postRenderUpdate(::ScreenContext& screenContext) ;
85 virtual void onFocusGained() ;
87 virtual bool renderGameBehind() const ;
89 virtual
void tick(
int nTick,
int maxTick) ;
91 virtual
bool isShowingMenu() const ;
93 virtual
bool isModal() const ;
95 virtual
bool renderOnlyWhenTopMost() const ;
97 virtual
bool shouldStealMouse() const ;
99 virtual
void handleDirection(::DirectionId directionId,
float x,
float y, ::FocusImpact focusImpact) ;
101 virtual
void handlePointerPressed(
bool pressed) ;
103 virtual
void init(::ScreenSizeData const& screenSizeData) ;
105 virtual ::std::
string getScreenName() const ;
107 virtual
bool equalsScreenName(::std::string_view comparison) const ;
109 virtual
bool containsScreenNameSubstring(::std::string_view substring) const ;
111 virtual
bool isPlayScreen() const ;
113 virtual ::RectangleArea getAreaOfControlByName(::std::
string const&) const ;
115 virtual
bool forceUpdateActiveSceneStackWhenPushed() const ;
117 virtual
bool _isPlayerSuspended() const;
120 _renderLevelPrep(::ScreenContext& screenContext, ::LevelRenderer& levelRenderer, ::Actor& cameraEntity);
122 virtual
void _renderLevel(::ScreenContext& screenContext, ::FrameRenderObject const& renderObj);
124 virtual
void _preLevelRender(::ScreenContext& screenContext);
126 virtual
void _postLevelRender(::ScreenContext& screenContext, ::LevelRenderer& levelRenderer);
128 virtual
bool _shouldRenderFirstPersonObjects(::LevelRenderer& levelRenderer) const;
130 virtual
bool _updateFreeformPickDirection(
134 ::HitResult& outHitResult,
135 ::HitResult& outLiquidHit
138 virtual
void _saveMatrices(::mce::Camera& camera);
140 virtual
void _renderTransparentFirstPerson3DObjects(::ScreenContext& screenContext, ::LevelRenderer& levelRenderer);
142 virtual
void _renderItemInHand(::ScreenContext& screenContext, ::Player& player);
144 virtual
void _prepareCuller(::mce::Camera& camera, ::Frustum& frustumData);
146 virtual
void _localPlayerTurned(
float yawDegrees);
148 virtual
float _getPickRange();
150 virtual
bool _shouldPushHUD();
152 virtual
void _updateInGameCursor();
189 MCNAPI
void $tick(
int nTick,
int maxTick);
199 MCNAPI
void $handleDirection(::DirectionId directionId,
float x,
float y, ::FocusImpact focusImpact);
Definition BaseScreen.h:5
Definition FullScreenEffectRenderer.h:5
Definition HitResult.h:18
Definition IClientInstance.h:5
Definition IMinecraftGame.h:5
Definition InGamePlayScreen.h:5
MCAPI::RectangleArea $getAreaOfControlByName(::std::string const &) const
MCAPI bool $shouldStealMouse() const
MCAPI bool $containsScreenNameSubstring(::std::string_view substring) const
MCAPI bool $isShowingMenu() const
MCAPI void $handlePointerPressed(bool pressed)
MCAPI bool $renderGameBehind() const
MCAPI bool $isPlayScreen() const
MCAPI void $init(::ScreenSizeData const &screenSizeData)
MCAPI void $_saveMatrices(::mce::Camera &camera)
MCAPI void $handleDirection(::DirectionId directionId, float x, float y, ::FocusImpact focusImpact)
MCAPI float $_getPickRange()
MCAPI bool $_isPlayerSuspended() const
MCAPI void $_prepareCuller(::mce::Camera &camera, ::Frustum &frustumData)
MCAPI bool $forceUpdateActiveSceneStackWhenPushed() const
MCAPI bool $_shouldPushHUD()
MCAPI bool $isModal() const
MCAPI bool $renderOnlyWhenTopMost() const
MCAPI void $tick(int nTick, int maxTick)
MCAPI bool $_updateFreeformPickDirection(float, ::Vec3 &outSrc, ::Vec3 &outDir, ::HitResult &outHitResult, ::HitResult &outLiquidHit)
MCAPI void $onFocusGained()
MCAPI void $_localPlayerTurned(float yawDegrees)
MCAPI void $postRenderUpdate(::ScreenContext &screenContext)
MCAPI bool $_shouldRenderFirstPersonObjects(::LevelRenderer &levelRenderer) const
MCAPI void $prepareFrame(::ScreenContext &screenContext)
MCAPI::std::string $getScreenName() const
MCAPI bool $equalsScreenName(::std::string_view comparison) const
MCAPI void $_updateInGameCursor()
MCAPI void $_preLevelRender(::ScreenContext &screenContext)
MCAPI void * $ctor(::IMinecraftGame &minecraftGame, ::Bedrock::NotNullNonOwnerPtr<::IClientInstance > const &client)
MCAPI void $applyInput(float a)
Definition LevelRenderer.h:5
Definition RectangleArea.h:5
Definition ScreenContext.h:5
Definition FrameRenderObject.h:5
Definition ScreenSizeData.h:5