Fix asset drag and drop into node groups

This commit is contained in:
luboslenco
2021-01-25 20:41:06 +01:00
parent be7346c2b4
commit 5ffd42332e
2 changed files with 9 additions and 6 deletions
@@ -2551,12 +2551,12 @@ class NodesMaterial {
}
}
public static function createNode(nodeType: String): TNode {
public static function createNode(nodeType: String, group: TNodeGroup = null): TNode {
for (c in list) {
for (n in c) {
if (n.type == nodeType) {
var canvas = Context.material.canvas;
var nodes = Context.material.nodes;
var canvas = group != null ? group.canvas : Context.material.canvas;
var nodes = group != null ? group.nodes : Context.material.nodes;
var node = arm.ui.UINodes.makeNode(n, nodes, canvas);
canvas.nodes.push(node);
return node;
+6 -3
View File
@@ -693,20 +693,23 @@ class UINodes {
}
public function acceptAssetDrag(assetIndex: Int) {
var n = canvasType == CanvasMaterial ? NodesMaterial.createNode("TEX_IMAGE") : NodesBrush.createNode("TEX_IMAGE");
var g = groupStack.length > 0 ? groupStack[groupStack.length - 1] : null;
var n = canvasType == CanvasMaterial ? NodesMaterial.createNode("TEX_IMAGE", g) : NodesBrush.createNode("TEX_IMAGE");
n.buttons[0].default_value = assetIndex;
getNodes().nodesSelected = [n];
}
public function acceptLayerDrag(layerIndex: Int) {
if (Project.layers[layerIndex].getChildren() != null) return;
var n = NodesMaterial.createNode(Context.layerIsMask ? "LAYER_MASK" : "LAYER");
var g = groupStack.length > 0 ? groupStack[groupStack.length - 1] : null;
var n = NodesMaterial.createNode(Context.layerIsMask ? "LAYER_MASK" : "LAYER", g);
n.buttons[0].default_value = layerIndex;
getNodes().nodesSelected = [n];
}
public function acceptMaterialDrag(layerIndex: Int) {
var n = NodesMaterial.createNode("MATERIAL");
var g = groupStack.length > 0 ? groupStack[groupStack.length - 1] : null;
var n = NodesMaterial.createNode("MATERIAL", g);
n.buttons[0].default_value = layerIndex;
getNodes().nodesSelected = [n];
}