pandemonium_engine/modules/material_maker/editor/matmakergdeditor.h

74 lines
2.0 KiB
C++

#ifndef MATMAKERGDEDITOR_H
#define MATMAKERGDEDITOR_H
class MatMakerGDEditor : public MarginContainer {
GDCLASS(MatMakerGDEditor, MarginContainer);
public:
Variant get_Variant();
void set_Variant(const Variant &val);
NodePath get_graph_edit_path();
void set_graph_edit_path(const NodePath &val);
NodePath get_add_popup_path();
void set_add_popup_path(const NodePath &val);
GraphEdit get_*_graph_edit();
void set_*_graph_edit(const GraphEdit &val);
MMMateial get_*_material();
void set_*_material(const MMMateial &val);
int get__ignore_material_change_event() const;
void set__ignore_material_change_event(const int val);
bool get__recreation_in_progress() const;
void set__recreation_in_progress(const bool val);
EditorPlugin get_*_plugin();
void set_*_plugin(const EditorPlugin &val);
UndoRedo get_*_undo_redo();
void set_*_undo_redo(const UndoRedo &val);
void _enter_tree();
void set_plugin(const EditorPlugin &plugin);
UndoRedo get_undo_redo();
void ensure_objs();
void recreate();
Node find_graph_node_for(const Variant &nnode);
void set_mmmaterial(const MMMateial &object);
void on_material_changed();
void ignore_changes(const bool val);
void on_graph_edit_connection_request(const String &from, const int from_slot, const String &to, const int to_slot);
void on_graph_edit_disconnection_request(const String &from, const int from_slot, const String &to, const int to_slot);
void on_graph_node_close_request(const GraphNode &node);
void _on_AddButton_pressed();
void _on_AddPopup_ok_pressed(const String &script_path);
MatMakerGDEditor();
~MatMakerGDEditor();
protected:
static void _bind_methods();
//tool
Variant = preload("res://addons/mat_maker_gd/editor/mm_graph_node.gd");
//export(NodePath)
NodePath graph_edit_path = "VBoxContainer/GraphEdit";
//export(NodePath)
NodePath add_popup_path = "Popups/AddPopup";
GraphEdit *_graph_edit = null;
MMMateial *_material;
int _ignore_material_change_event = 0;
bool _recreation_in_progress = false;
EditorPlugin *_plugin = null;
UndoRedo *_undo_redo = null;
};
#endif