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