LeviLamina
Loading...
Searching...
No Matches
HudArmorRenderer.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/input/RectangleArea.h"
8#include "mc/deps/minecraft_renderer/renderer/Mesh.h"
9#include "mc/deps/minecraft_renderer/renderer/TexturePtr.h"
10
11// auto generated forward declare list
12// clang-format off
13class IClientInstance;
15class ScreenContext;
16class UIControl;
18class UIScene;
19namespace mce { class TextureGroup; }
20// clang-format on
21
23public:
24 // HudArmorRenderer inner types define
25 enum class ArmorType : int {
26 Full = 0,
27 Half = 1,
28 Empty = 2,
29 Count = 3,
30 };
31
32public:
33 // member variables
34 // NOLINTBEGIN
35 ::ll::TypedStorage<1, 1, bool> mHasLoadedTextures;
36 ::ll::TypedStorage<8, 8, uint64> mNumFullIcons;
37 ::ll::TypedStorage<8, 8, uint64> mNumHalfIcons;
38 ::ll::TypedStorage<8, 8, uint64> mNumEmptyIcons;
39 ::ll::TypedStorage<4, 4, float> mArmorHeightOffset;
40 ::ll::TypedStorage<8, 96, ::std::array<::mce::TexturePtr, 3>> mArmorTextures;
41 ::ll::TypedStorage<8, 1656, ::std::array<::mce::Mesh, 3>> mArmorMeshes;
42 ::ll::TypedStorage<4, 120, ::std::array<::glm::vec3, 10>> mIconPosition;
43 ::ll::TypedStorage<4, 16, ::RectangleArea> mRenderAABB;
44 // NOLINTEND
45
46public:
47 // virtual functions
48 // NOLINTBEGIN
49 virtual ~HudArmorRenderer() /*override*/ = default;
50
51 virtual ::std::shared_ptr<::UICustomRenderer> clone() const /*override*/;
52
53 virtual void
54 render(::MinecraftUIRenderContext& renderContext, ::IClientInstance& owner, ::UIControl&, int) /*override*/;
55
56 virtual bool update(::IClientInstance& client, ::UIControl& owner, ::UIScene const&) /*override*/;
57 // NOLINTEND
58
59public:
60 // member functions
61 // NOLINTBEGIN
62 MCAPI HudArmorRenderer();
63
64 MCFOLD bool _areTexturesValid() const;
65
66 MCAPI void _loadArmorTextures(::std::shared_ptr<::mce::TextureGroup> textureGroup);
67
68 MCFOLD bool _validateArmorMeshes(::ScreenContext& screenContext);
69 // NOLINTEND
70
71public:
72 // constructor thunks
73 // NOLINTBEGIN
74 MCAPI void* $ctor();
75 // NOLINTEND
76
77public:
78 // virtual function thunks
79 // NOLINTBEGIN
80 MCAPI ::std::shared_ptr<::UICustomRenderer> $clone() const;
81
82 MCAPI void $render(::MinecraftUIRenderContext& renderContext, ::IClientInstance& owner, ::UIControl&, int);
83
84 MCAPI bool $update(::IClientInstance& client, ::UIControl& owner, ::UIScene const&);
85 // NOLINTEND
86
87public:
88 // vftables
89 // NOLINTBEGIN
90 MCNAPI static void** $vftable();
91 // NOLINTEND
92};
Definition HudArmorRenderer.h:5
static MCAPI void ** $vftable()
Definition IClientInstance.h:5
Definition MinecraftUICustomRenderer.h:5
Definition MinecraftUIRenderContext.h:5
Definition ScreenContext.h:5
Definition UIControl.h:5
Definition UICustomRenderer.h:5
Definition UIScene.h:5
Definition TextureGroup.h:7