From f8e587fda78e4e9d7b628c0b973c7eb1e614278c Mon Sep 17 00:00:00 2001 From: devZoGok Date: Sun, 3 Jul 2022 09:25:34 +0300 Subject: [PATCH] loading unit models when atteching InGameAppState --- Assets/Scripts/defPaths.lua | 1 + inGameAppState.cpp | 10 ++++++++++ unitDataManager.cpp | 2 +- unitDataManager.h | 3 +++ 4 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 Assets/Scripts/defPaths.lua diff --git a/Assets/Scripts/defPaths.lua b/Assets/Scripts/defPaths.lua new file mode 100644 index 0000000..d813658 --- /dev/null +++ b/Assets/Scripts/defPaths.lua @@ -0,0 +1 @@ +PATH = "/home/dominykas/c++/Battleship/Assets/" diff --git a/inGameAppState.cpp b/inGameAppState.cpp index 7fb3c08..8fdffbf 100755 --- a/inGameAppState.cpp +++ b/inGameAppState.cpp @@ -2,10 +2,12 @@ #include #include +#include #include #include "inGameAppState.h" +#include "unitDataManager.h" #include "consoleCommand.h" #include "aircraftCarrier.h" #include "vessel.h" @@ -218,6 +220,14 @@ namespace battleship{ guiState = ((GuiAppState*)stateManager->getAppStateByType((int)AppStateType::GUI_STATE)); activeState = new ActiveGameState(guiState, map, players, playerId); stateManager->attachAppState(activeState); + + UnitDataManager *unitDataManager = UnitDataManager::getSingleton(); + int numUnits = unitDataManager->getNumUnits(); + string *basePaths = unitDataManager->getBasePath(); + string *meshPaths = unitDataManager->getMeshPath(); + + for(int i = 0; i < numUnits; ++i) + AssetManager::getSingleton()->load(basePaths[i] + meshPaths[i]); } void InGameAppState::onDettached() { diff --git a/unitDataManager.cpp b/unitDataManager.cpp index b43b520..8a08dcc 100644 --- a/unitDataManager.cpp +++ b/unitDataManager.cpp @@ -24,7 +24,7 @@ namespace battleship{ UnitDataManager::UnitDataManager(){ LuaManager *luaManager = LuaManager::getSingleton(); - luaManager->buildScript(vector{configData::PATH + "defPaths.lua", configData::PATH + "unitData.lua"}); + luaManager->buildScript(vector{configData::PATH + "Scripts/defPaths.lua", configData::PATH + "Scripts/unitData.lua"}); numUnits = luaManager->getInt("numUnits"); diff --git a/unitDataManager.h b/unitDataManager.h index d336f2f..90265da 100644 --- a/unitDataManager.h +++ b/unitDataManager.h @@ -9,6 +9,9 @@ namespace battleship{ class UnitDataManager{ public: static UnitDataManager* getSingleton(); + inline int getNumUnits(){return numUnits;} + inline std::string* getBasePath(){return basePath;} + inline std::string* getMeshPath(){return meshPath;} private: UnitDataManager();