Added float type and default values for trenchbroom integration

This commit is contained in:
Antoine Pilote
2024-09-02 14:05:59 -04:00
parent d20847b4e3
commit 01000b9d13
2 changed files with 37 additions and 3 deletions

View File

@@ -160,13 +160,41 @@ namespace Nuake
ClassProperty classProp;
classProp.name = t.Name;
classProp.type = ClassPropertyType::String;
if (t.Type == ExposedVarTypes::String && t.Value.has_value())
if (t.Type == ExposedVarTypes::String)
{
classProp.value = std::any_cast<std::string>(t.Value);
if (t.Value.has_value())
{
classProp.value = std::any_cast<std::string>(t.Value);
}
classProp.type = ClassPropertyType::String;
}
else if (t.Type == ExposedVarTypes::Int)
{
classProp.value = std::to_string(std::any_cast<int>(t.Value));
if (t.Value.has_value())
{
classProp.value = std::to_string(std::any_cast<int>(t.Value));
}
classProp.type = ClassPropertyType::Integer;
}
else if (t.Type == ExposedVarTypes::Float)
{
if (t.Value.has_value())
{
classProp.value = std::to_string(std::any_cast<float>(t.Value));
}
classProp.type = ClassPropertyType::Float;
}
else if (t.Type == ExposedVarTypes::Bool)
{
if (t.Value.has_value())
{
classProp.value = std::to_string(std::any_cast<bool>(t.Value));
}
classProp.type = ClassPropertyType::Float;
}
else
{

View File

@@ -199,6 +199,12 @@ namespace Nuake {
ev.Value = properties[ev.Name];
ev.DefaultValue = ev.Value;
}
else if (ev.Type == NetScriptExposedVarType::Float)
{
float value = atof(properties[ev.Name].c_str());
ev.Value = value;
ev.DefaultValue = ev.Value;
}
}
}
}