First blood
This commit is contained in:
1 parent
04f270f322
commit
5720f8322b
250 files changed
+33215
No files matched your search
@@ -0,0 +1,59 @@
|
||||
#include "include/Engine.h"
|
||||
|
||||
namespace SE
|
||||
{
|
||||
|
||||
TSmartValue& TSmartValueManager::GetSmartValue(const std::string& dictName, const std::string& valueName)
|
||||
{
|
||||
return DisctionariesMap[dictName][valueName];
|
||||
}
|
||||
|
||||
|
||||
void TSmartValueManager::Serialize(boost::property_tree::ptree& propertyTree)
|
||||
{
|
||||
BOOST_FOREACH(auto& subTree, propertyTree.begin()->second)
|
||||
{
|
||||
std::string dictName = subTree.second.get<std::string>("<xmlattr>.name");
|
||||
|
||||
BOOST_FOREACH(auto& subSubTree, subTree.second)
|
||||
{
|
||||
if (subSubTree.first == "Record")
|
||||
{
|
||||
std::string key = subSubTree.second.get<std::string>("<xmlattr>.key");
|
||||
|
||||
std::string type = subSubTree.second.get<std::string>("<xmlattr>.type", "");
|
||||
|
||||
if (type == "int")
|
||||
{
|
||||
DisctionariesMap[dictName][key] = std::shared_ptr<TBindableVar<int>>(new TBindableVar<int>(subSubTree.second.get<int>("<xmlattr>.value")));
|
||||
}
|
||||
else if (type == "bool")
|
||||
{
|
||||
DisctionariesMap[dictName][key] = std::shared_ptr<TBindableVar<bool>>(new TBindableVar<bool>(subSubTree.second.get<bool>("<xmlattr>.value")));
|
||||
}
|
||||
else if (type == "float")
|
||||
{
|
||||
DisctionariesMap[dictName][key] = std::shared_ptr<TBindableVar<float>>(new TBindableVar<float>(subSubTree.second.get<float>("<xmlattr>.value")));
|
||||
}
|
||||
else if (type == "vec2")
|
||||
{
|
||||
DisctionariesMap[dictName][key] = std::shared_ptr<TBindableVar<vec2>>(new TBindableVar<vec2>(StringToVec2(subSubTree.second.get<std::string>("<xmlattr>.value"))));
|
||||
}
|
||||
else if (type == "vec3")
|
||||
{
|
||||
DisctionariesMap[dictName][key] = std::shared_ptr<TBindableVar<vec3>>(new TBindableVar<vec3>(StringToVec3(subSubTree.second.get<std::string>("<xmlattr>.value"))));
|
||||
}
|
||||
else if (type == "vec4")
|
||||
{
|
||||
DisctionariesMap[dictName][key] = std::shared_ptr<TBindableVar<vec4>>(new TBindableVar<vec4>(StringToVec4(subSubTree.second.get<std::string>("<xmlattr>.value"))));
|
||||
}
|
||||
else
|
||||
{
|
||||
DisctionariesMap[dictName][key] = std::shared_ptr<TBindableVar<std::string>>(new TBindableVar<std::string>(subSubTree.second.get<std::string>("<xmlattr>.value")));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} //namespace SE
|
||||
Reference in new issue
Block a user