Pixel-Composer/scripts/node_iterate/node_iterate.gml

47 lines
996 B
Plaintext
Raw Normal View History

2022-01-23 04:08:16 +01:00
function Node_create_Iterate(_x, _y) {
var node = new Node_Iterate(_x, _y);
ds_list_add(PANEL_GRAPH.nodes_list, node);
return node;
}
function Node_Iterate(_x, _y) : Node_Collection(_x, _y) constructor {
name = "Loop";
2022-01-23 04:08:16 +01:00
color = c_ui_lime;
2022-01-26 06:57:34 +01:00
icon = s_loop_16;
2022-01-23 04:08:16 +01:00
iterated = 0;
inputs[| 0] = nodeValue( 0, "Repeat", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 1 );
custom_input_index = 1;
2022-01-25 10:58:11 +01:00
loop_start_time = 0;
2022-01-23 04:08:16 +01:00
static setRenderStatus = function(result) {
rendered = result;
2022-01-25 10:58:11 +01:00
if(!rendered) {
iterated = 0;
loop_start_time = get_timer();
}
2022-01-23 04:08:16 +01:00
}
static outputRendered = function() {
var iter = true;
for( var i = 0; i < ds_list_size(outputs); i++ ) {
var _out = outputs[| i].node;
iter &= _out.rendered;
}
if(iter) {
2022-01-25 10:58:11 +01:00
if(++iterated == inputs[| 0].getValue()) {
render_time = get_timer() - loop_start_time;
2022-01-23 04:08:16 +01:00
return 2;
2022-01-25 10:58:11 +01:00
} else if(iterated > inputs[| 0].getValue())
2022-01-24 02:21:25 +01:00
return 3;
2022-01-23 04:08:16 +01:00
resetRenderStatus();
2022-01-23 04:08:16 +01:00
return 1;
}
return 0;
}
}