diff options
author | Jacques Lucke <jacques@blender.org> | 2021-11-08 17:24:26 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2021-11-08 17:24:26 +0300 |
commit | d728c22181e5561570ba67e5803422f7763391b2 (patch) | |
tree | a17a6dff9ef8b655b8f8158bd78ba512ad8e4a5a | |
parent | 1c31d62951c57218edb12d42b900bf14b2a95da2 (diff) |
add index outut
-rw-r--r-- | source/blender/nodes/function/nodes/node_fn_enum.cc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/source/blender/nodes/function/nodes/node_fn_enum.cc b/source/blender/nodes/function/nodes/node_fn_enum.cc index 643fe3c9c59..3edd2ed898a 100644 --- a/source/blender/nodes/function/nodes/node_fn_enum.cc +++ b/source/blender/nodes/function/nodes/node_fn_enum.cc @@ -33,6 +33,8 @@ static void fn_node_enum_declare(NodeDeclarationBuilder &b) return; } + b.add_output<decl::Int>("Index"); + EnumPropertyItem *items = nullptr; int tot_items = 0; @@ -68,12 +70,13 @@ static bool fn_node_enum_draw_socket(uiLayout *layout, bNode *node, bNodeSocket *socket) { - const int index = BLI_findindex(&node->outputs, socket); - if (index == -1) { + const int socket_index = BLI_findindex(&node->outputs, socket); + if (socket_index <= 0) { return false; } NodeFunctionEnum *storage = (NodeFunctionEnum *)node->storage; - NodeFunctionEnumItem *item = (NodeFunctionEnumItem *)BLI_findlink(&storage->items, index); + NodeFunctionEnumItem *item = (NodeFunctionEnumItem *)BLI_findlink(&storage->items, + socket_index - 1); PointerRNA item_ptr; RNA_pointer_create(&ntree->id, &RNA_NodeFunctionEnumItem, item, &item_ptr); uiItemR(layout, &item_ptr, "name", 0, "", ICON_NONE); |