nodes_brush.ts 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. let nodes_brush_categories: string[] = [
  2. _tr("Nodes")
  3. ];
  4. let nodes_brush_category0: ui_node_t[];
  5. let nodes_brush_list: node_list_t[];
  6. let nodes_brush_creates: map_t<string, (args: f32_array_t)=>logic_node_ext_t>;
  7. function nodes_brush_init() {
  8. nodes_brush_creates = map_create();
  9. map_set(nodes_brush_creates, "brush_output_node", brush_output_node_create);
  10. // map_set(nodes_brush_creates, "tex_image_node", tex_image_node_create);
  11. map_set(nodes_brush_creates, "TEX_IMAGE", tex_image_node_create);
  12. map_set(nodes_brush_creates, "input_node", input_node_create);
  13. map_set(nodes_brush_creates, "math_node", math_node_create);
  14. map_set(nodes_brush_creates, "random_node", random_node_create);
  15. map_set(nodes_brush_creates, "separate_vector_node", separate_vector_node_create);
  16. map_set(nodes_brush_creates, "time_node", time_node_create);
  17. map_set(nodes_brush_creates, "float_node", float_node_create);
  18. map_set(nodes_brush_creates, "vector_node", vector_node_create);
  19. map_set(nodes_brush_creates, "vector_math_node", vector_math_node_create);
  20. nodes_brush_list_init();
  21. }
  22. function nodes_brush_list_init() {
  23. if (nodes_brush_list != null) {
  24. return;
  25. }
  26. nodes_brush_category0 = [
  27. tex_image_node_def,
  28. input_node_def,
  29. math_node_def,
  30. random_node_def,
  31. separate_vector_node_def,
  32. time_node_def,
  33. float_node_def,
  34. vector_node_def,
  35. vector_math_node_def
  36. ];
  37. nodes_brush_list = [
  38. nodes_brush_category0
  39. ];
  40. }
  41. function nodes_brush_create_node(node_type: string): ui_node_t {
  42. for (let i: i32 = 0; i < nodes_brush_list.length; ++i) {
  43. let c: ui_node_t[] = nodes_brush_list[i];
  44. for (let i: i32 = 0; i < c.length; ++i) {
  45. let n: ui_node_t = c[i];
  46. if (n.type == node_type) {
  47. let canvas: ui_node_canvas_t = context_raw.brush.canvas;
  48. let nodes: ui_nodes_t = context_raw.brush.nodes;
  49. let node: ui_node_t = ui_nodes_make_node(n, nodes, canvas);
  50. array_push(canvas.nodes, node);
  51. return node;
  52. }
  53. }
  54. }
  55. return null;
  56. }