LeviLamina
Loading...
Searching...
No Matches
LoopbackPacketSender.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/common/SubClientId.h"
7#include "mc/deps/game_refs/OwnerPtr.h"
8#include "mc/network/ClientOrServerNetworkSystemRef.h"
9#include "mc/network/PacketSender.h"
10
11// auto generated forward declare list
12// clang-format off
14class EntityContext;
17class Packet;
21// clang-format on
22
23class LoopbackPacketSender : public ::PacketSender {
24public:
25 // member variables
26 // NOLINTBEGIN
27 ::ll::TypedStorage<8, 16, ::ClientOrServerNetworkSystemRef> mNetwork;
28 ::ll::TypedStorage<8, 24, ::std::vector<::NetEventCallback*>> mLoopbackCallbacks;
29 ::ll::TypedStorage<8, 8, ::std::vector<::OwnerPtr<::EntityContext>> const*> mUserList;
30 ::ll::TypedStorage<8, 24, ::std::vector<::NetworkIdentifierWithSubId>> mTempUserIds;
31 // NOLINTEND
32
33public:
34 // prevent constructor by default
35 LoopbackPacketSender();
36
37public:
38 // virtual functions
39 // NOLINTBEGIN
40 virtual bool isInitialized() const /*override*/;
41
42 virtual void send(::Packet& packet) /*override*/;
43
44 virtual void sendTo(::NetworkIdentifier const& id, ::SubClientId subid, ::Packet& packet) /*override*/;
45
46 virtual void sendToServer(::Packet& packet) /*override*/;
47
48 virtual void
49 sendToClient(::NetworkIdentifier const& id, ::Packet const& packet, ::SubClientId recipientSubId) /*override*/;
50
51 virtual void
52 sendToClient(::UserEntityIdentifierComponent const* userIdentifier, ::Packet const& packet) /*override*/;
53
54 virtual void
55 sendToClients(::std::vector<::NetworkIdentifierWithSubId> const& ids, ::Packet const& packet) /*override*/;
56
57 virtual void sendBroadcast(::Packet const& packet) /*override*/;
58
59 virtual void
60 sendBroadcast(::NetworkIdentifier const& exceptId, ::SubClientId exceptSubid, ::Packet const& packet) /*override*/;
61
62 virtual void flush(::NetworkIdentifier const& id, ::std::function<void()>&& callback) /*override*/;
63 // NOLINTEND
64
65public:
66 // member functions
67 // NOLINTBEGIN
68#ifdef LL_PLAT_C
69 MCAPI LoopbackPacketSender(::SubClientId subid, ::ClientNetworkSystem& network);
70#endif
71
72 MCAPI LoopbackPacketSender(::SubClientId subid, ::ServerNetworkSystem& network);
73
74 MCFOLD void addLoopbackCallback(::NetEventCallback& callback);
75
76 MCAPI void removeLoopbackCallback(::NetEventCallback& callback);
77
78 MCFOLD void setUserList(::std::vector<::OwnerPtr<::EntityContext>> const* userList);
79 // NOLINTEND
80
81public:
82 // constructor thunks
83 // NOLINTBEGIN
84#ifdef LL_PLAT_C
85 MCAPI void* $ctor(::SubClientId subid, ::ClientNetworkSystem& network);
86#endif
87
88 MCAPI void* $ctor(::SubClientId subid, ::ServerNetworkSystem& network);
89 // NOLINTEND
90
91public:
92 // virtual function thunks
93 // NOLINTBEGIN
94 MCAPI bool $isInitialized() const;
95
96 MCAPI void $send(::Packet& packet);
97
98 MCAPI void $sendTo(::NetworkIdentifier const& id, ::SubClientId subid, ::Packet& packet);
99
100 MCAPI void $sendToServer(::Packet& packet);
101
102 MCAPI void $sendToClient(::NetworkIdentifier const& id, ::Packet const& packet, ::SubClientId recipientSubId);
103
104 MCAPI void $sendToClient(::UserEntityIdentifierComponent const* userIdentifier, ::Packet const& packet);
105
106 MCAPI void $sendToClients(::std::vector<::NetworkIdentifierWithSubId> const& ids, ::Packet const& packet);
107
108 MCAPI void $sendBroadcast(::Packet const& packet);
109
110 MCAPI void $sendBroadcast(::NetworkIdentifier const& exceptId, ::SubClientId exceptSubid, ::Packet const& packet);
111
112 MCAPI void $flush(::NetworkIdentifier const& id, ::std::function<void()>&& callback);
113
114
115 // NOLINTEND
116
117public:
118 // vftables
119 // NOLINTBEGIN
120 MCNAPI static void** $vftable();
121 // NOLINTEND
122};
Definition ClientNetworkSystem.h:39
Definition EntityContext.h:17
static MCAPI void ** $vftable()
Definition NetEventCallback.h:260
Definition NetworkIdentifier.h:10
Definition OwnerPtr.h:7
Definition PacketSender.h:17
Definition Packet.h:31
Definition ServerNetworkSystem.h:34
Definition UserEntityIdentifierComponent.h:17
Definition NetworkIdentifierWithSubId.h:10