Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
PaperDollRenderer.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/controls/renderers/MinecraftUICustomRenderer.h"
7#include "mc/deps/core/string/HashedString.h"
8#include "mc/platform/UUID.h"
9#include "mc/platform/brstd/move_only_function.h"
10#include "mc/util/MolangVariableMap.h"
11
12// auto generated forward declare list
13// clang-format off
16class IClientInstance;
22class SkinPackPin;
23class UIControl;
25class UIScene;
29// clang-format on
30
32public:
33 // PaperDollRenderer inner types define
34 enum class RotationStyle : int {
35 None = 0,
36 Automatic = 1,
37 GestureX = 2,
38 CustomY = 3,
39 CustomYHeadFollowMouse = 4,
40 Lerping = 5,
41 };
42
43public:
44 // member variables
45 // NOLINTBEGIN
46 ::ll::TypedStorage<4, 4, ::PaperDollRenderer::RotationStyle> mRotationStyle;
47 ::ll::TypedStorage<4, 4, ::PaperDollRenderer::RotationStyle> mPreviousRotationStyle;
48 ::ll::TypedStorage<1, 1, bool> mUseSelectedSkin;
49 ::ll::TypedStorage<1, 1, bool> mUseSkinByName;
50 ::ll::TypedStorage<4, 4, float> mDeltaTime;
51 ::ll::TypedStorage<4, 4, float> mElapsedTime;
52 ::ll::TypedStorage<4, 4, float> mRotation;
53 ::ll::TypedStorage<4, 4, float> mTargetRotation;
54 ::ll::TypedStorage<4, 4, float> mCameraTiltInDeg;
55 ::ll::TypedStorage<4, 4, float> mRotationSpeedMultiplier;
56 ::ll::TypedStorage<8, 32, ::std::string> mSkinName;
57 ::ll::TypedStorage<8, 16, ::mce::UUID> mPaperDollPackId;
58 ::ll::TypedStorage<8, 40, ::std::optional<::std::string>> mCoCoPieceId;
59 ::ll::TypedStorage<8, 56, ::std::optional<::HashedString>> mCoCoEntityIdentifier;
60 ::ll::TypedStorage<4, 4, int> mPaperDollSkinIdx;
61 ::ll::TypedStorage<1, 1, bool> mWaitForSkinInitialize;
62 ::ll::TypedStorage<1, 1, bool> mMarkLocalPlayerAsDirty;
63 ::ll::TypedStorage<1, 1, bool> mShowPersonaCoCo;
64 ::ll::TypedStorage<1, 1, bool> mShrinkToFit;
65 ::ll::TypedStorage<8, 64, ::brstd::move_only_function<void(::std::string_view) const>> mRemoveSkin;
66 ::ll::TypedStorage<8, 64, ::std::unordered_map<::HashedString, ::HashedString>> mParticleEffectsMap;
67 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::AnimationComponent>> mAnimationComponent;
68 ::ll::TypedStorage<8, 56, ::MolangVariableMap> mVariables;
69 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mSkinLastUpdated;
70 ::ll::TypedStorage<8, 64, ::std::unordered_map<::mce::UUID, ::SkinPackPin>> mPinnedPacks;
71 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PersonaCoCoPaperDollHost>> mCoCoHost;
72 // NOLINTEND
73
74public:
75 // virtual functions
76 // NOLINTBEGIN
77 virtual ~PaperDollRenderer() /*override*/ = default;
78
79 virtual ::std::shared_ptr<::UICustomRenderer> clone() const /*override*/;
80
81 virtual void
82 render(::MinecraftUIRenderContext& renderContext, ::IClientInstance& client, ::UIControl& owner, int) /*override*/;
83
84 virtual bool update(::IClientInstance& client, ::UIControl& owner, ::UIScene const& scene) /*override*/;
85 // NOLINTEND
86
87public:
88 // member functions
89 // NOLINTBEGIN
91
92 MCNAPI explicit PaperDollRenderer(::IPaperDollUIDefSource const& def);
93
95 ::std::shared_ptr<::ActorAnimationGroup> actorAnimationGroup,
96 ::HashedString const& friendlyName
97 );
98
100
101 MCNAPI void _render(
103 ::PaperDollRenderOwnerData const& data,
104 ::OffscreenCaptureDescription const* capture
105 );
106
108 // NOLINTEND
109
110public:
111 // constructor thunks
112 // NOLINTBEGIN
113 MCNAPI void* $ctor();
114
115 MCNAPI void* $ctor(::IPaperDollUIDefSource const& def);
116 // NOLINTEND
117
118public:
119 // virtual function thunks
120 // NOLINTBEGIN
121 MCNAPI ::std::shared_ptr<::UICustomRenderer> $clone() const;
122
123 MCAPI void $render(::MinecraftUIRenderContext& renderContext, ::IClientInstance& client, ::UIControl& owner, int);
124
125 MCNAPI bool $update(::IClientInstance& client, ::UIControl& owner, ::UIScene const& scene);
126 // NOLINTEND
127};
Definition ActorAnimationGroup.h:22
Definition AnimationComponent.h:38
Definition HashedString.h:5
Definition IClientInstance.h:5
Definition IPaperDollRenderContext.h:5
Definition IPaperDollUIDefSource.h:5
Definition IPaperDollUpdateContext.h:5
Definition MinecraftUICustomRenderer.h:5
Definition MinecraftUIRenderContext.h:5
Definition PaperDollRenderer.h:5
MCAPI void * $ctor()
MCAPI::AnimationComponent & _getAnimationComponent()
MCAPI PaperDollRenderer()
MCAPI void _update(::IPaperDollUpdateContext &context, ::PaperDollUpdateOwnerData const &data)
MCAPI void _render(::IPaperDollRenderContext &context, ::PaperDollRenderOwnerData const &data, ::OffscreenCaptureDescription const *capture)
MCAPI bool $update(::IClientInstance &client, ::UIControl &owner, ::UIScene const &scene)
MCAPI ::std::shared_ptr<::UICustomRenderer > $clone() const
MCAPI void _addAnimationIfNotRegistered(::std::shared_ptr<::ActorAnimationGroup > actorAnimationGroup, ::HashedString const &friendlyName)
Definition PersonaCoCoPaperDollHost.h:5
Definition SkinPackPin.h:5
Definition UIControl.h:5
Definition UICustomRenderer.h:5
Definition UIScene.h:5
STL namespace.
Definition OffscreenCaptureDescription.h:5
Definition PaperDollRenderOwnerData.h:5
Definition PaperDollUpdateOwnerData.h:5
Definition context.h:5