Pixel-Composer/scripts/__node/__node.gml

76 lines
1.8 KiB
Plaintext
Raw Normal View History

2023-03-07 14:29:47 +01:00
function __Node_Base(x, y) constructor {
self.x = x;
self.y = y;
node_id = 0;
2023-05-03 21:42:17 +02:00
display_name = "";
2023-03-07 14:29:47 +01:00
inputs = ds_list_create();
outputs = ds_list_create();
2023-10-15 15:04:42 +02:00
input_value_map = {};
2023-03-07 14:29:47 +01:00
active_index = -1;
preview_index = 0;
anim_priority = -999;
2023-03-07 14:29:47 +01:00
#region --- attributes ----
attributes = {
update_graph: true,
show_update_trigger: false,
color: -1,
};
#endregion
#region ---- timeline ----
timeline_item = new timelineItemNode(self);
anim_priority = 0;
anim_timeline = false;
is_anim_timeline = false;
static refreshTimeline = function() {
var _pre_anim = is_anim_timeline;
var _cur_anim = anim_timeline;
for( var i = 0, n = ds_list_size(inputs); i < n; i++ ) {
var _inp = inputs[| i];
if(_inp.is_anim && _inp.value_from == noone) {
_cur_anim = true;
break;
}
}
is_anim_timeline = _cur_anim;
if(_pre_anim == _cur_anim) return;
if(_cur_anim) PROJECT.timelines.addItem(timeline_item);
else timeline_item.removeSelf();
}
static setAlwaysTimeline = function(item = timeline_item) {
attributes.show_timeline = true;
array_push(attributeEditors, [ "Show In Timeline", function() { return attributes.show_timeline; }, new checkBox(function() {
attributes.show_timeline = !attributes.show_timeline;
anim_timeline = attributes.show_timeline;
refreshTimeline();
}) ]);
timeline_item = item;
anim_timeline = true;
refreshTimeline();
}
#endregion
2023-03-07 14:29:47 +01:00
static step = function() {}
2023-10-09 16:07:33 +02:00
static update = function(frame = CURRENT_FRAME) {}
2023-03-07 14:29:47 +01:00
2024-06-09 06:27:50 +02:00
static valueUpdate = function(index) {}
2023-03-07 14:29:47 +01:00
static triggerRender = function() {}
static onValidate = function() {}
2024-06-09 06:27:50 +02:00
static onDestroy = function() {}
2023-03-07 14:29:47 +01:00
static clearCache = function() {}
static clearCacheForward = function() {}
2024-06-09 06:27:50 +02:00
static serialize = function() {}
2023-03-07 14:29:47 +01:00
static deserialize = function(_map) {}
}