editor: metadata window name collision handling when adding a new property

This commit is contained in:
Turánszki János
2024-09-15 11:54:49 +02:00
parent 28a176066d
commit a447c5e29b
+13 -8
View File
@@ -57,24 +57,29 @@ void MetadataWindow::Create(EditorComponent* _editor)
MetadataComponent* metadata = scene.metadatas.GetComponent(x.entity);
if (metadata == nullptr)
continue;
std::string property_name = "name";
switch (args.iValue)
{
default:
case 0:
if(!metadata->bool_values.has("name"))
metadata->bool_values.set("name", false);
while (metadata->bool_values.has(property_name))
property_name += "0";
metadata->bool_values.set(property_name, false);
break;
case 1:
if (!metadata->int_values.has("name"))
metadata->int_values.set("name", 0);
while (metadata->int_values.has(property_name))
property_name += "0";
metadata->int_values.set(property_name, 0);
break;
case 2:
if (!metadata->float_values.has("name"))
metadata->float_values.set("name", 0.0f);
while (metadata->float_values.has(property_name))
property_name += "0";
metadata->float_values.set(property_name, 0.0f);
break;
case 3:
if (!metadata->string_values.has("name"))
metadata->string_values.set("name", "");
while (metadata->string_values.has(property_name))
property_name += "0";
metadata->string_values.set(property_name, "");
break;
}
}