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, 1584, ::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&, ::UIControl& owner, int) /*override*/;
54
55 virtual bool update(::IClientInstance& client, ::UIControl& owner, ::UIScene const& scene) /*override*/;
56 // NOLINTEND
57
58public:
59 // member functions
60 // NOLINTBEGIN
61 MCAPI HudBubblesRenderer();
62
63 MCAPI void _loadBubbleTextures(::std::shared_ptr<::mce::TextureGroup> textureGroup);
64
65 MCAPI void _tryPlayPopSound(::IClientInstance& client);
66
67 MCFOLD bool _validateBubbleMeshes(::ScreenContext& screenContext);
68 // NOLINTEND
69
70public:
71 // static functions
72 // NOLINTBEGIN
73 MCAPI static ::std::tuple<int, int, int>
74 calculateBubbleData(bool isBreathing, bool isCreativeOrSpectator, short supply, short maxSupply);
75 // NOLINTEND
76
77public:
78 // constructor thunks
79 // NOLINTBEGIN
80 MCAPI void* $ctor();
81 // NOLINTEND
82
83public:
84 // virtual function thunks
85 // NOLINTBEGIN
86 MCAPI ::std::shared_ptr<::UICustomRenderer> $clone() const;
87
88 MCAPI void $render(::MinecraftUIRenderContext& renderContext, ::IClientInstance&, ::UIControl& owner, int);
89
90 MCAPI bool $update(::IClientInstance& client, ::UIControl& owner, ::UIScene const& scene);
91 // NOLINTEND
92
93public:
94 // vftables
95 // NOLINTBEGIN
96 MCNAPI static void** $vftable();
97 // NOLINTEND
98};
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