fixed crash upon unpause bug

This commit is contained in:
devZoGok
2025-06-22 15:06:55 +03:00
parent 617c137a8d
commit eebab2b78b
4 changed files with 19 additions and 17 deletions
+17 -7
View File
@@ -43,11 +43,9 @@ namespace battleship{
}
void Game::update(){
updateLuaPlayers(false);
sol::state_view SOL_LUA_VIEW = generateView();
for(int i = 0; i < players.size(); i++)
SOL_LUA_VIEW["game"]["players"][i + 1] = players[i];
for(int i = 0; i < players.size(); i++)
if(players[i]->isCpuPlayer()){
string plStr = "game.players[" + to_string(i + 1) + "]";
@@ -78,6 +76,15 @@ namespace battleship{
FxManager::getSingleton()->update();
}
void Game::updateLuaPlayers(bool resetBehaviour){
sol::state_view SOL_LUA_VIEW = generateView();
for(int i = 0; i < players.size(); i++)
SOL_LUA_VIEW["game"]["players"][i + 1] = players[i];
if(resetBehaviour)
SOL_LUA_VIEW.script_file(GameManager::getSingleton()->getPath() + "Scripts/Core/playerInit.lua");
}
void Game::removeAllElements(){
generateView().script("game.players = {}");
@@ -101,11 +108,14 @@ namespace battleship{
guiManager->readLuaScreenScript("gamePaused.lua", activeState->getGuiButtons());
}
else {
for(string f : configData::scripts)
generateView().script_file(gm->getPath() + f);
guiManager->readLuaScreenScript("inGame.lua", activeState->getGuiButtons());
sol::state_view SOL_LUA_VIEW = generateView();
for(string f : configData::scripts)
SOL_LUA_VIEW.script_file(gm->getPath() + f);
updateLuaPlayers(true);
guiManager->readLuaScreenScript("inGame.lua", activeState->getGuiButtons());
string gop = SOL_LUA_VIEW["gameObjPrefix"], vfxp = SOL_LUA_VIEW["vfxPrefix"];
AssetManager::getSingleton()->load(gm->getPath() + gop, true);
AssetManager::getSingleton()->load(gm->getPath() + vfxp, true);