Added a config file and implemented code for it

This commit is contained in:
tleety
2015-10-15 12:15:53 +02:00
parent 5da96f40f3
commit 52fe2e697e
5 changed files with 55 additions and 2 deletions
+35
View File
@@ -0,0 +1,35 @@
#ifndef ConfigFile_h__
#define ConfigFile_h__
#include <string>
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/ini_parser.hpp>
#include "ResourceManager.h"
namespace dd
{
class ConfigFile : public Resource
{
friend class ResourceManager;
private:
ConfigFile(std::string path);
public:
template <typename T>
T GetValue(std::string key)
{
std::cout << m_ptree.get<T>(key) << std::endl;
return m_ptree.get<T>(key);
}
private:
boost::property_tree::ptree m_ptree;
};
};
#endif // ConfigFile_h__
+10 -1
View File
@@ -32,6 +32,7 @@
#include "World.h"
#include "CTransform.h"
#include "CTemplate.h"
#include "Core/ConfigFile.h"
#include "Core/EventBroker.h"
#include "Rendering/CModel.h"
#include "Rendering/CSprite.h"
@@ -94,7 +95,15 @@ public:
m_FrameStack = new GUI::Frame(m_EventBroker.get());
m_FrameStack->Width = 675;
m_FrameStack->Height = 1080;
auto menu = new GUI::MainMenu(m_FrameStack, "MainMenu");
if (ResourceManager::Load<ConfigFile>("Config.ini")->GetValue<int>("Story.Skip") == 1) {
Events::GameStart e;
m_EventBroker->Publish(e);
auto hud = new GUI::HUD(m_FrameStack, "HUD");
}
else {
auto menu = new GUI::MainMenu(m_FrameStack, "MainMenu");
}
m_InputManager = std::make_shared<InputManager>(m_Renderer->Window(), m_EventBroker);