MCPcopy Create free account
hub / github.com/Norbyte/bg3se / ProcessExtenderMessage

Method ProcessExtenderMessage

BG3Extender/Extender/Client/ClientNetworking.cpp:7–60  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5BEGIN_NS(ecl)
6
7void ExtenderProtocol::ProcessExtenderMessage(net::MessageContext& context, net::MessageWrapper& msg)
8{
9 switch (msg.msg_case()) {
10 case net::MessageWrapper::kPostLua:
11 {
12 if (gExtender->GetClient().HasExtensionState()) {
13 auto& postMsg = msg.post_lua();
14 ecl::LuaClientPin pin(ecl::ExtensionState::Get());
15 if (pin) {
16 pin->OnNetMessageReceived(postMsg.channel_name(), postMsg.payload(),
17 postMsg.module(), postMsg.request_id(), postMsg.reply_id(),
18 ReservedUserId, postMsg.serializer() == net::SerializerType::SERIALIZER_BINARY);
19 }
20 }
21 break;
22 }
23
24 case net::MessageWrapper::kC2SExtenderHello:
25 {
26 auto const& hello = msg.c2s_extender_hello();
27 gExtender->GetClient().GetNetworkManager().OnExtenderHello(hello);
28 break;
29 }
30
31 case net::MessageWrapper::kS2CResetLua:
32 {
33 auto & resetMsg = msg.s2c_reset_lua();
34 auto & ext = ecl::ExtensionState::Get();
35 ext.AddPostResetCallback([&ext]() {
36 ext.OnModuleResume();
37 ext.OnGameSessionLoading();
38 ext.OnGameSessionLoaded();
39 ext.OnResetCompleted();
40 });
41 ext.RequestLuaReset(resetMsg.bootstrap_scripts());
42 break;
43 }
44
45 case net::MessageWrapper::kS2CKick:
46 {
47 gExtender->GetLibraryManager().ShowStartupError(msg.s2c_kick().message().c_str(), true);
48 break;
49 }
50
51 case net::MessageWrapper::kUserVars:
52 {
53 SyncUserVars(msg.user_vars());
54 break;
55 }
56
57 default:
58 OsiErrorS("Unknown extension message type received!");
59 }
60}
61
62void NetworkManager::Reset()
63{

Callers

nothing calls this directly

Calls 11

GetClientMethod · 0.80
OnNetMessageReceivedMethod · 0.80
OnExtenderHelloMethod · 0.80
AddPostResetCallbackMethod · 0.80
RequestLuaResetMethod · 0.80
ShowStartupErrorMethod · 0.80
HasExtensionStateMethod · 0.45
OnModuleResumeMethod · 0.45
OnGameSessionLoadingMethod · 0.45
OnGameSessionLoadedMethod · 0.45
OnResetCompletedMethod · 0.45

Tested by

no test coverage detected