3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/controls/renderers/MinecraftUICustomRenderer.h"
7#include "mc/deps/core/utility/NonOwnerPointer.h"
8#include "mc/deps/minecraft_renderer/renderer/TexturePtr.h"
20namespace Json {
class Value; }
34 enum class Type :
int {
42 ::ll::TypedStorage<4, 4, ::CreditsRenderer::CreditsContent::Type> mType;
43 ::ll::TypedStorage<4, 4, int> mHeight;
44 ::ll::TypedStorage<4, 4, int> mPaddingAfter;
45 ::ll::TypedStorage<8, 32, ::std::string> mText;
46 ::ll::TypedStorage<1, 1, bool> mCentered;
47 ::ll::TypedStorage<8, 32, ::mce::TexturePtr> mTexturePtr;
51 using clock_type = ::std::chrono::steady_clock;
53 using duration_sec = ::std::chrono::duration<float, ::std::ratio<1, 1>>;
58 ::ll::TypedStorage<1, 1, bool> mInitialized;
59 ::ll::TypedStorage<4, 8, ::glm::vec2> mOwnerSize;
60 ::ll::TypedStorage<8, 24, ::std::vector<::CreditsRenderer::CreditsContent>> mContent;
61 ::ll::TypedStorage<4, 4, uint> mIndex;
62 ::ll::TypedStorage<4, 4, float> mCurrentOffset;
63 ::ll::TypedStorage<8, 32, ::std::string> mPlayerName;
64 ::ll::TypedStorage<4, 4, float> mScrollSpeed;
65 ::ll::TypedStorage<1, 1, bool> mFinished;
66 ::ll::TypedStorage<8, 24, ::std::vector<::ScreenEvent>> mScreenEvents;
67 ::ll::TypedStorage<4, 4, uint> mCreditsEndEventId;
68 ::ll::TypedStorage<8, 8, double> mTimeNowSeconds;
69 ::ll::TypedStorage<8, 8, double> mTimeLastSeconds;
70 ::ll::TypedStorage<8, 8, double> mDeltaTimeSeconds;
75 CreditsRenderer& operator=(CreditsRenderer
const&);
81 virtual ~CreditsRenderer() =
default;
83 virtual ::std::shared_ptr<::UICustomRenderer> clone() const ;
85 virtual
bool update(::IClientInstance& client, ::UIControl& owner, ::UIScene const& scene) ;
88 render(::MinecraftUIRenderContext& renderContext, ::IClientInstance& client, ::UIControl& owner,
int) ;
91 collectScreenEvents(::std::queue<::ScreenEvent, ::std::deque<::ScreenEvent>>& screenEvents) ;
97 MCAPI CreditsRenderer(::CreditsRenderer const&);
99 MCAPI explicit CreditsRenderer(::UIResolvedDef const& def);
101 MCAPI
void _addDisciplineTitleContent(
102 ::std::
string const& sectionTitle,
103 ::Bedrock::NotNullNonOwnerPtr<::FontHandle> const& fontHandle,
107 MCAPI
void _addGroupTitleContent(
108 ::std::
string const& groupTitle,
109 ::Bedrock::NotNullNonOwnerPtr<::FontHandle> const& fontHandle,
113 MCAPI
void _addNameContent(
114 ::std::
string const& name,
115 ::Bedrock::NotNullNonOwnerPtr<::FontHandle> const& fontHandle,
119 MCAPI
void _addSectionTitleContent(
120 ::std::
string const& sectionTitle,
121 ::Bedrock::NotNullNonOwnerPtr<::FontHandle> const& fontHandle,
125 MCAPI
void _loadImageFile(::IClientInstance& client, ::UIControl& owner, ::std::
string const& filePath);
127 MCAPI
void _loadJsonFile(::IClientInstance& client, ::UIControl& owner, ::std::
string const& filePath);
129 MCAPI
void _loadTextFile(::IClientInstance& client, ::UIControl& owner, ::std::
string const& filePath);
131 MCAPI
void _parseDiscipline(
132 ::Json::Value const& rootData,
133 ::Bedrock::NotNullNonOwnerPtr<::FontHandle> const& fontHandle,
137 MCAPI
void _parseSection(
138 ::Json::Value const& rootData,
139 ::Bedrock::NotNullNonOwnerPtr<::FontHandle> const& fontHandle,
143 MCAPI
void _parseTitleGroup(
144 ::Json::Value const& rootData,
145 ::Bedrock::NotNullNonOwnerPtr<::FontHandle> const& fontHandle,
153 MCAPI static ::std::string_view const& INDENT_TEXT();
155 MCAPI static ::std::string_view const& SECTION_BORDER_TEXT();
161 MCAPI
void* $ctor(::CreditsRenderer const&);
163 MCAPI
void* $ctor(::UIResolvedDef const& def);
169 MCAPI ::std::shared_ptr<::UICustomRenderer> $clone() const;
171 MCAPI
bool $update(::IClientInstance& client, ::UIControl& owner, ::UIScene const& scene);
173 MCAPI
void $render(::MinecraftUIRenderContext& renderContext, ::IClientInstance& client, ::UIControl& owner,
int);
175 MCAPI
void $collectScreenEvents(::std::queue<::ScreenEvent, ::std::deque<::ScreenEvent>>& screenEvents);
Definition CreditsRenderer.h:5
static MCAPI void ** $vftable()
Definition FontHandle.h:5
Definition IClientInstance.h:5
Definition MinecraftUICustomRenderer.h:5
Definition MinecraftUIRenderContext.h:5
Definition UICustomRenderer.h:5
Definition UIResolvedDef.h:5
Definition CreditsRenderer.h:13
Definition ScreenEvent.h:5