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

Method OnGameStateChanged

BG3Extender/Extender/Server/ScriptExtenderServer.cpp:102–181  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

100}
101
102void ScriptExtender::OnGameStateChanged(GameState fromState, GameState toState)
103{
104#if defined(DEBUG_SERVER_CLIENT)
105 DEBUG("esv::ScriptExtender::OnGameStateChanged(): %s -> %s",
106 ServerGameStateNames[(unsigned)fromState], ServerGameStateNames[(unsigned)toState]);
107#endif
108
109 if (fromState != GameState::Unknown) {
110 BindToThreadPersistent();
111 OPTICK_THREAD("Server");
112 }
113
114 switch (fromState) {
115 case GameState::LoadModule:
116 INFO("esv::ScriptExtender::OnGameStateChanged(): Loaded module");
117 LoadExtensionState(ExtensionStateContext::Game);
118 break;
119
120 case GameState::LoadSession:
121 if (extensionState_) {
122 extensionState_->OnGameSessionLoaded();
123 }
124 break;
125 }
126
127 switch (toState) {
128 case GameState::Init:
129 network_.ExtendNetworking();
130 break;
131
132 case GameState::Disconnect:
133 network_.Reset();
134 break;
135
136 case GameState::UnloadSession:
137 INFO("esv::ScriptExtender::OnGameStateChanged(): Unloading session");
138 entityHelpers_.OnDestroy();
139 ResetExtensionState();
140 break;
141
142 case GameState::LoadModule:
143 network_.ExtendNetworking();
144 break;
145
146 case GameState::LoadSession:
147 INFO("esv::ScriptExtender::OnGameStateChanged(): Loading game session");
148 entityHelpers_.OnInit();
149 LoadExtensionState(ExtensionStateContext::Game);
150 network_.ExtendNetworking();
151 if (extensionState_) {
152 extensionState_->OnGameSessionLoading();
153 }
154 break;
155
156 case GameState::LoadLevel:
157 if (extensionState_) {
158 LuaServerPin lua(*extensionState_);
159 if (lua) {

Callers

nothing calls this directly

Calls 13

OnDestroyMethod · 0.80
OnInitMethod · 0.80
OnLevelLoadingMethod · 0.80
WasInitializedMethod · 0.80
UpdateServerProgressMethod · 0.80
GetClientMethod · 0.80
GetStringMethod · 0.80
IsLoadingStateFunction · 0.70
OnGameSessionLoadedMethod · 0.45
ExtendNetworkingMethod · 0.45
ResetMethod · 0.45

Tested by

no test coverage detected