Allow node group rename only if name is unique

This commit is contained in:
MathemanFlo
2021-07-04 09:09:16 +02:00
parent 6b43af29a5
commit d981a0a5e8
+19 -10
View File
@@ -665,16 +665,25 @@ class UINodes {
ui._w = Std.int(ui.ELEMENT_W() * 1.4);
var h = Id.handle();
h.text = c.name;
var oldName = c.name;
c.name = ui.textInput(h, "", Right);
if (h.changed && groupStack.length > 0) { // Update group links
var canvases: Array<TNodeCanvas> = [];
for (m in Project.materials) canvases.push(m.canvas);
for (m in Project.materialGroups) canvases.push(m.canvas);
for (canvas in canvases) {
for (n in canvas.nodes) {
if (n.type == "GROUP" && n.name == oldName) {
n.name = c.name;
var newName = ui.textInput(h, "", Right);
if (h.changed && groupStack.length > 0) { // Check whether renaming is possible and update group links
var canRename = true;
for (m in Project.materialGroups) {
if(m.canvas.name == newName) canRename = false; //name already used
}
if(canRename) {
var oldName = c.name;
c.name = newName;
var canvases: Array<TNodeCanvas> = [];
for (m in Project.materials) canvases.push(m.canvas);
for (m in Project.materialGroups) canvases.push(m.canvas);
for (canvas in canvases) {
for (n in canvas.nodes) {
if (n.type == "GROUP" && n.name == oldName) {
n.name = c.name;
}
}
}
}