LeviLamina
Loading...
Searching...
No Matches
ServerWaypoint.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/math/Color.h"
7#include "mc/deps/core/math/Vec2.h"
8#include "mc/legacy/ActorUniqueID.h"
9#include "mc/world/Waypoint.h"
10#include "mc/world/level/WorldPosition.h"
11
12// auto generated forward declare list
13// clang-format off
14class Player;
15// clang-format on
16
17class ServerWaypoint : public ::Waypoint {
18public:
19 // ServerWaypoint inner types declare
20 // clang-format off
21 struct Payload;
22 struct Texture;
23 struct TextureSelector;
24 // clang-format on
25
26 // ServerWaypoint inner types define
27 enum class UpdateFlags : uint {
28 // bitfield representation
29 Position = 1u << 0,
30 Visibility = 1u << 1,
31 TexturePath = 1u << 2,
32 IconSize = 1u << 3,
33 Color = 1u << 4,
34 ClientPositionAuthority = 1u << 5,
35 All = Position | Visibility | TexturePath | IconSize | Color | ClientPositionAuthority,
36 };
37
38 struct Payload {
39 public:
40 // member variables
41 // NOLINTBEGIN
42 ::ll::TypedStorage<4, 4, uint> mUpdateFlag;
43 ::ll::TypedStorage<1, 2, ::std::optional<bool>> mIsVisible;
44 ::ll::TypedStorage<4, 20, ::std::optional<::WorldPosition>> mWorldPosition;
45 ::ll::TypedStorage<8, 40, ::std::optional<::std::string>> mTexturePath;
46 ::ll::TypedStorage<4, 12, ::std::optional<::Vec2>> mIconSize;
47 ::ll::TypedStorage<4, 20, ::std::optional<::mce::Color>> mColor;
48 ::ll::TypedStorage<1, 2, ::std::optional<bool>> mClientPositionAuthority;
49 ::ll::TypedStorage<8, 16, ::std::optional<::ActorUniqueID>> mActorID;
50 // NOLINTEND
51
52 public:
53 // member functions
54 // NOLINTBEGIN
55 MCAPI bool operator==(::ServerWaypoint::Payload const&) const;
56
57 MCAPI ~Payload();
58 // NOLINTEND
59
60 public:
61 // destructor thunk
62 // NOLINTBEGIN
63 MCFOLD void $dtor();
64 // NOLINTEND
65 };
66
67 struct Texture {
68 public:
69 // member variables
70 // NOLINTBEGIN
71 ::ll::TypedStorage<4, 4, int> mLowerBound;
72 ::ll::TypedStorage<4, 8, ::std::optional<int>> mUpperBound;
73 ::ll::TypedStorage<8, 32, ::std::string> mTexturePath;
74 ::ll::TypedStorage<4, 8, ::Vec2> mIconSize;
75 // NOLINTEND
76 };
77
79 public:
80 // member variables
81 // NOLINTBEGIN
82 ::ll::TypedStorage<8, 24, ::std::vector<::ServerWaypoint::Texture>> mTextures;
83 // NOLINTEND
84 };
85
86public:
87 // member variables
88 // NOLINTBEGIN
89 ::ll::TypedStorage<1, 1, bool> mIsEnabled;
90 ::ll::TypedStorage<8, 24, ::ServerWaypoint::TextureSelector> mTextureSelector;
91 ::ll::TypedStorage<4, 4, uint> mUpdateFlags;
92 // NOLINTEND
93
94public:
95 // virtual functions
96 // NOLINTBEGIN
97 virtual void setWorldPosition(::WorldPosition const& worldPosition) /*override*/;
98
99 virtual void setColor(::std::optional<::mce::Color> const& color) /*override*/;
100
101 virtual void setIsVisible(bool isVisible) /*override*/;
102
103 virtual void setClientPositionAuthority(bool clientPositionAuthority) /*override*/;
104
105 virtual void setTexturePath(::std::optional<::std::string> const& texturePath) /*override*/;
106
107 virtual void setIconSize(::Vec2 const& iconSize) /*override*/;
108
109 virtual bool isValid() const;
110
111 virtual bool calculateIsVisible(::Player const& viewingPlayer) const;
112
113 virtual void update(::Player const& viewingPlayer) /*override*/;
114 // NOLINTEND
115
116public:
117 // member functions
118 // NOLINTBEGIN
119 MCAPI ::ServerWaypoint::Payload generatePayload(uint updateFlag);
120 // NOLINTEND
121
122public:
123 // virtual function thunks
124 // NOLINTBEGIN
125 MCAPI void $setWorldPosition(::WorldPosition const& worldPosition);
126
127 MCAPI void $setColor(::std::optional<::mce::Color> const& color);
128
129 MCAPI void $setIsVisible(bool isVisible);
130
131 MCAPI void $setClientPositionAuthority(bool clientPositionAuthority);
132
133 MCAPI void $setTexturePath(::std::optional<::std::string> const& texturePath);
134
135 MCAPI void $setIconSize(::Vec2 const& iconSize);
136
137 MCFOLD bool $isValid() const;
138
139 MCAPI bool $calculateIsVisible(::Player const& viewingPlayer) const;
140
141 MCAPI void $update(::Player const& viewingPlayer);
142
143
144 // NOLINTEND
145
146public:
147 // vftables
148 // NOLINTBEGIN
149 MCNAPI static void** $vftable();
150 // NOLINTEND
151};
Definition Player.h:129
Definition ServerWaypoint.h:17
static MCAPI void ** $vftable()
Definition Vec2.h:5
Definition Waypoint.h:16
Definition ServerWaypoint.h:38
Definition ServerWaypoint.h:78
Definition ServerWaypoint.h:67
Definition WorldPosition.h:5