LeviLamina
Loading...
Searching...
No Matches
ServerWaypointGroup.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/pub_sub/Connector.h"
7#include "mc/deps/core/utility/pub_sub/Publisher.h"
8#include "mc/world/WaypointGroup.h"
9
10// auto generated forward declare list
11// clang-format off
12class Player;
13class ServerWaypoint;
14struct ActorUniqueID;
15namespace Bedrock::PubSub::ThreadModel { struct MultiThreaded; }
16// clang-format on
17
19public:
20 // ServerWaypointGroup inner types declare
21 // clang-format off
23 // clang-format on
24
25 // ServerWaypointGroup inner types define
26 enum class Action : uchar {
27 None = 0,
28 Add = 1,
29 Remove = 2,
30 Update = 3,
31 };
32
34 public:
35 // member variables
36 // NOLINTBEGIN
37 ::ll::TypedStorage<1, 1, ::ServerWaypointGroup::Action> mAction;
38 ::ll::TypedStorage<4, 4, uint> mUpdateFlags;
39 // NOLINTEND
40 };
41
42public:
43 // member variables
44 // NOLINTBEGIN
45 ::ll::TypedStorage<
46 8,
47 64,
48 ::std::unordered_map<
50 ::std::unique_ptr<::ServerWaypoint>,
52 ::std::equal_to<::WaypointGroup::WaypointHandle>>>
53 mWaypoints;
54 ::ll::TypedStorage<8, 16, ::std::map<::WaypointGroup::WaypointHandle, ::ServerWaypointGroup::WaypointChangeRecord>>
55 mChangeRecords;
56 ::ll::TypedStorage<
57 8,
58 128,
60 void(::std::vector<::WaypointGroup::WaypointHandle> const&),
62 0>>
63 mOnInvalidActorRemovedEvent;
64 // NOLINTEND
65
66public:
67 // virtual functions
68 // NOLINTBEGIN
69 virtual bool has(::WaypointGroup::WaypointHandle const& handle) const /*override*/;
70
71 virtual bool remove(::WaypointGroup::WaypointHandle const& handle) /*override*/;
72 // NOLINTEND
73
74public:
75 // member functions
76 // NOLINTBEGIN
77 MCAPI ::WaypointGroup::WaypointHandle add(::std::unique_ptr<::ServerWaypoint> waypoint);
78
79 MCAPI ::std::map<::WaypointGroup::WaypointHandle, ::ServerWaypointGroup::WaypointChangeRecord> consumeChanges();
80
81 MCAPI void forEach(
82 ::std::function<void(::WaypointGroup::WaypointHandle const&, ::gsl::not_null<::ServerWaypoint const*>)> callback
83 ) const;
84
85 MCAPI ::ServerWaypoint* get(::WaypointGroup::WaypointHandle const& handle);
86
87 MCAPI ::std::vector<::WaypointGroup::WaypointHandle> getAllHandlesWithActorID(::ActorUniqueID const& id) const;
88
89 MCFOLD ::Bedrock::PubSub::Connector<void(::std::vector<::WaypointGroup::WaypointHandle> const&)>&
90 getOnInvalidActorRemovedEvent();
91
92 MCAPI void update(::Player const& viewingPlayer);
93 // NOLINTEND
94
95public:
96 // virtual function thunks
97 // NOLINTBEGIN
98 MCAPI bool $has(::WaypointGroup::WaypointHandle const& handle) const;
99
100 MCAPI bool $remove(::WaypointGroup::WaypointHandle const& handle);
101
102
103 // NOLINTEND
104
105public:
106 // vftables
107 // NOLINTBEGIN
108 MCNAPI static void** $vftable();
109 // NOLINTEND
110};
Definition Publisher.h:8
Definition Player.h:137
Definition ServerWaypointGroup.h:18
static MCAPI void ** $vftable()
Definition ServerWaypoint.h:18
Definition WaypointGroup.h:16
Definition WaypointGroup.h:8
Definition ActorUniqueID.h:10
Definition ServerWaypointGroup.h:33
Definition WaypointGroup.h:24