mirror of
https://github.com/devZoGok/PlanetFleet.git
synced 2026-08-26 19:43:29 +00:00
fixed crash upon unpause bug
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -20,6 +20,7 @@ namespace battleship{
|
||||
public:
|
||||
static Game* getSingleton();
|
||||
void update();
|
||||
void updateLuaPlayers(bool);
|
||||
void togglePause();
|
||||
void removeAllElements();
|
||||
void changeUnitPlayer(Unit*, Player*);
|
||||
|
||||
+1
-9
@@ -68,21 +68,13 @@ namespace battleship{
|
||||
cam->setPosition(Map::getSingleton()->getSpawnPoint(playerId) + Vector3(1, 1, 1) * configData::CAMERA_DISTANCE);
|
||||
cam->lookAt(Vector3(0, -1, -1).norm(), Vector3(0, 1, -1).norm());
|
||||
|
||||
mainPlayer = Game::getSingleton()->getPlayer(playerId);
|
||||
|
||||
GameManager *gm = GameManager::getSingleton();
|
||||
StateManager *stateManager = gm->getStateManager();
|
||||
GuiAppState *guiState = ((GuiAppState*)stateManager->getAppStateByType((int)AppStateType::GUI_STATE));
|
||||
activeState = new ActiveGameState(guiState, playerId);
|
||||
stateManager->attachAppState(activeState);
|
||||
|
||||
sol::state_view SOL_LUA_VIEW = generateView();
|
||||
vector<Player*> players = Game::getSingleton()->getPlayers();
|
||||
|
||||
for(int i = 0; i < players.size(); i++)
|
||||
SOL_LUA_VIEW["game"]["players"][i + 1] = players[i];
|
||||
|
||||
SOL_LUA_VIEW.script_file(gm->getPath() + "Scripts/Core/playerInit.lua");
|
||||
Game::getSingleton()->updateLuaPlayers(true);
|
||||
}
|
||||
|
||||
void InGameAppState::onDettached() {
|
||||
|
||||
@@ -51,7 +51,6 @@ namespace battleship{
|
||||
private:
|
||||
bool isMainMenuActive = false;
|
||||
std::vector<std::string> modelPaths;
|
||||
Player *mainPlayer;
|
||||
int playerId;
|
||||
std::string mapName = "";
|
||||
ActiveGameState* activeState;
|
||||
|
||||
Reference in New Issue
Block a user