summaryrefslogtreecommitdiff
path: root/modules/visual_script
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2016-08-04 00:05:35 -0300
committerJuan Linietsky <reduzio@gmail.com>2016-08-04 00:05:35 -0300
commit6ed5d48d0c01c551735121915eb006376269c380 (patch)
treef33864bfd32813cc0d5199c5a9c5d0b4533580a5 /modules/visual_script
parentcd25624667fd2b37abfc605edc06b0345798f46e (diff)
Concluded base visual scripting! can edit but not run though.
Diffstat (limited to 'modules/visual_script')
-rw-r--r--modules/visual_script/visual_script_editor.cpp36
1 files changed, 35 insertions, 1 deletions
diff --git a/modules/visual_script/visual_script_editor.cpp b/modules/visual_script/visual_script_editor.cpp
index c6c58209b3..ad4f2be34c 100644
--- a/modules/visual_script/visual_script_editor.cpp
+++ b/modules/visual_script/visual_script_editor.cpp
@@ -1045,6 +1045,12 @@ void VisualScriptEditor::_available_node_doubleclicked() {
return;
Vector2 ofs = graph->get_scroll_ofs() + graph->get_size() * 0.5;
+
+ if (graph->is_using_snap()) {
+ int snap = graph->get_snap();
+ ofs = ofs.snapped(Vector2(snap,snap));
+ }
+
ofs/=EDSCALE;
while(true) {
@@ -1054,7 +1060,7 @@ void VisualScriptEditor::_available_node_doubleclicked() {
for (List<int>::Element *E=existing.front();E;E=E->next()) {
Point2 pos = script->get_node_pos(edited_func,E->get());
if (pos.distance_to(ofs)<15) {
- ofs+=Vector2(25,25);
+ ofs+=Vector2(graph->get_snap(),graph->get_snap());
exists=true;
break;
}
@@ -1415,6 +1421,12 @@ void VisualScriptEditor::drop_data_fw(const Point2& p_point,const Variant& p_dat
Vector2 ofs = graph->get_scroll_ofs() + p_point;
+ if (graph->is_using_snap()) {
+ int snap = graph->get_snap();
+ ofs = ofs.snapped(Vector2(snap,snap));
+ }
+
+
ofs/=EDSCALE;
Ref<VisualScriptNode> vnode = VisualScriptLanguage::singleton->create_node_from_name(d["node_type"]);
@@ -1437,6 +1449,10 @@ void VisualScriptEditor::drop_data_fw(const Point2& p_point,const Variant& p_dat
if (d.has("type") && String(d["type"])=="visual_script_variable_drag") {
Vector2 ofs = graph->get_scroll_ofs() + p_point;
+ if (graph->is_using_snap()) {
+ int snap = graph->get_snap();
+ ofs = ofs.snapped(Vector2(snap,snap));
+ }
ofs/=EDSCALE;
@@ -1463,6 +1479,10 @@ void VisualScriptEditor::drop_data_fw(const Point2& p_point,const Variant& p_dat
if (d.has("type") && String(d["type"])=="visual_script_function_drag") {
Vector2 ofs = graph->get_scroll_ofs() + p_point;
+ if (graph->is_using_snap()) {
+ int snap = graph->get_snap();
+ ofs = ofs.snapped(Vector2(snap,snap));
+ }
ofs/=EDSCALE;
@@ -1491,6 +1511,10 @@ void VisualScriptEditor::drop_data_fw(const Point2& p_point,const Variant& p_dat
if (d.has("type") && String(d["type"])=="visual_script_signal_drag") {
Vector2 ofs = graph->get_scroll_ofs() + p_point;
+ if (graph->is_using_snap()) {
+ int snap = graph->get_snap();
+ ofs = ofs.snapped(Vector2(snap,snap));
+ }
ofs/=EDSCALE;
@@ -1527,6 +1551,10 @@ void VisualScriptEditor::drop_data_fw(const Point2& p_point,const Variant& p_dat
Vector2 ofs = graph->get_scroll_ofs() + p_point;
+ if (graph->is_using_snap()) {
+ int snap = graph->get_snap();
+ ofs = ofs.snapped(Vector2(snap,snap));
+ }
ofs/=EDSCALE;
undo_redo->create_action(TTR("Add Node(s) From Tree"));
@@ -1573,6 +1601,12 @@ void VisualScriptEditor::drop_data_fw(const Point2& p_point,const Variant& p_dat
Node *node = obj->cast_to<Node>();
Vector2 ofs = graph->get_scroll_ofs() + p_point;
+
+ if (graph->is_using_snap()) {
+ int snap = graph->get_snap();
+ ofs = ofs.snapped(Vector2(snap,snap));
+ }
+
ofs/=EDSCALE;
#ifdef OSX_ENABLED
bool use_set = Input::get_singleton()->is_key_pressed(KEY_META);