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;
57 MCAPI CreditsContent(::std::string
const& text,
int height,
bool centered,
int paddingAfter);
63 MCAPI
void* $ctor(::std::string
const& text,
int height,
bool centered,
int paddingAfter);
67 using clock_type = ::std::chrono::steady_clock;
69 using duration_sec = ::std::chrono::duration<float, ::std::ratio<1, 1>>;
74 ::ll::TypedStorage<1, 1, bool> mInitialized;
75 ::ll::TypedStorage<4, 8, ::glm::vec2> mOwnerSize;
76 ::ll::TypedStorage<8, 24, ::std::vector<::CreditsRenderer::CreditsContent>> mContent;
77 ::ll::TypedStorage<4, 4, uint> mIndex;
78 ::ll::TypedStorage<4, 4, float> mCurrentOffset;
79 ::ll::TypedStorage<8, 32, ::std::string> mPlayerName;
80 ::ll::TypedStorage<4, 4, float> mScrollSpeed;
81 ::ll::TypedStorage<1, 1, bool> mFinished;
82 ::ll::TypedStorage<8, 24, ::std::vector<::ScreenEvent>> mScreenEvents;
83 ::ll::TypedStorage<4, 4, uint> mCreditsEndEventId;
84 ::ll::TypedStorage<8, 8, double> mTimeNowSeconds;
85 ::ll::TypedStorage<8, 8, double> mTimeLastSeconds;
86 ::ll::TypedStorage<8, 8, double> mDeltaTimeSeconds;
91 CreditsRenderer& operator=(CreditsRenderer
const&);
97 virtual ~CreditsRenderer() ;
99 virtual ::std::shared_ptr<::UICustomRenderer> clone() const ;
101 virtual
bool update(::IClientInstance& client, ::UIControl& owner, ::UIScene const& scene) ;
104 render(::MinecraftUIRenderContext& renderContext, ::IClientInstance& client, ::UIControl& owner,
int) ;
107 collectScreenEvents(::std::queue<::ScreenEvent, ::std::deque<::ScreenEvent>>& screenEvents) ;
113 MCAPI CreditsRenderer(::CreditsRenderer const&);
115 MCAPI explicit CreditsRenderer(::UIResolvedDef const& def);
117 MCAPI
void _addDisciplineTitleContent(
118 ::std::
string const& sectionTitle,
119 ::Bedrock::NotNullNonOwnerPtr<::FontHandle> const& fontHandle,
123 MCAPI
void _addGroupTitleContent(
124 ::std::
string const& groupTitle,
125 ::Bedrock::NotNullNonOwnerPtr<::FontHandle> const& fontHandle,
129 MCAPI
void _addNameContent(
130 ::std::
string const& name,
131 ::Bedrock::NotNullNonOwnerPtr<::FontHandle> const& fontHandle,
135 MCAPI
void _addSectionTitleContent(
136 ::std::
string const& sectionTitle,
137 ::Bedrock::NotNullNonOwnerPtr<::FontHandle> const& fontHandle,
141 MCAPI
void _loadImageFile(::IClientInstance& client, ::UIControl& owner, ::std::
string const& filePath);
143 MCAPI
void _loadJsonFile(::IClientInstance& client, ::UIControl& owner, ::std::
string const& filePath);
145 MCAPI
void _loadTextFile(::IClientInstance& client, ::UIControl& owner, ::std::
string const& filePath);
147 MCAPI
void _parseDiscipline(
148 ::Json::Value const& rootData,
149 ::Bedrock::NotNullNonOwnerPtr<::FontHandle> const& fontHandle,
154 _parseFiles(::IClientInstance& client, ::UIControl& owner, ::std::vector<::std::
string> const& filePaths);
156 MCAPI
void _parseSection(
157 ::Json::Value const& rootData,
158 ::Bedrock::NotNullNonOwnerPtr<::FontHandle> const& fontHandle,
162 MCAPI
void _parseTitleGroup(
163 ::Json::Value const& rootData,
164 ::Bedrock::NotNullNonOwnerPtr<::FontHandle> const& fontHandle,
172 MCAPI static
int const& FILE_PADDING();
178 MCAPI
void* $ctor(::CreditsRenderer const&);
180 MCAPI
void* $ctor(::UIResolvedDef const& def);
192 MCAPI ::std::shared_ptr<::UICustomRenderer> $clone() const;
194 MCAPI
bool $update(::IClientInstance& client, ::UIControl& owner, ::UIScene const& scene);
196 MCAPI
void $render(::MinecraftUIRenderContext& renderContext, ::IClientInstance& client, ::UIControl& owner,
int);
198 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