From ff526c3943161c54afbb2afbf60773ad4994827a Mon Sep 17 00:00:00 2001 From: Sebastian Morr Date: Wed, 14 Oct 2020 14:48:38 +0200 Subject: [PATCH] Put cards in a Control node --- card.gd | 13 ++++--- cardgame.gd | 5 +-- cards.tscn | 18 +++++++--- main.gd | 16 ++++----- main.tscn | 98 ++++++++++++++++++++++++++++++----------------------- 5 files changed, 85 insertions(+), 65 deletions(-) diff --git a/card.gd b/card.gd index 366af87..97b4236 100644 --- a/card.gd +++ b/card.gd @@ -13,12 +13,11 @@ var _home_position = null func _ready(): set_process_unhandled_input(true) - position = get_viewport_rect().size func _process(delta): if dragged: var mousepos = get_viewport().get_mouse_position() - position = mousepos - drag_offset + global_position = mousepos - drag_offset func _unhandled_input(event): if event is InputEventMouseButton: @@ -34,9 +33,9 @@ func _unhandled_input(event): modulate.a = 1 - if get_viewport().get_mouse_position().y < get_viewport().size.y/2: + if get_viewport().get_mouse_position().y < get_viewport().size.y/3*2: if arg_number == 0 : - $"../..".terminal.send_command($Label.text) + $"../../..".terminal.send_command($Label.text) buuurn() else: move_back() @@ -62,8 +61,8 @@ func move_back(): func buuurn(): queue_free() - #$"..".draw_rand_card() - $"..".arrange_cards() + $"..".draw_rand_card() + #$"..".arrange_cards() func dropped_on(other): var full_command = "" @@ -73,7 +72,7 @@ func dropped_on(other): if ($Label.text.begins_with("git checkout") or $Label.text.begins_with("git rebase")) and other.id.begins_with("refs/heads"): argument = Array(other.id.split("/")).pop_back() full_command = $Label.text + " " + argument - $"../..".terminal.send_command(full_command) + $"../../..".terminal.send_command(full_command) buuurn() # 2: # if _first_argument: diff --git a/cardgame.gd b/cardgame.gd index ad5ed54..1f148e4 100644 --- a/cardgame.gd +++ b/cardgame.gd @@ -1,4 +1,4 @@ -extends Node2D +extends Control var cards = [ {"command": 'git add .', "arg_number": 0, "description": "Add all files in the working directory to the index."}, @@ -46,6 +46,7 @@ func draw_rand_card(): new_card.command = card.command new_card.arg_number = card.arg_number new_card.description = card.description + new_card.position = Vector2(rect_size.x, rect_size.y*2) add_child(new_card) arrange_cards() @@ -64,7 +65,7 @@ func arrange_cards(): var current_angle = -total_angle/2 for card in get_tree().get_nodes_in_group("cards"): - var target_position = Vector2(get_viewport_rect().size.x/2, get_viewport_rect().size.y + 1500) + var target_position = Vector2(rect_size.x/2, rect_size.y + 1500) var target_rotation = current_angle var translation_vec = Vector2(0,-1500).rotated(current_angle/180.0*PI) target_position += translation_vec diff --git a/cards.tscn b/cards.tscn index 897ce6c..911ddc3 100644 --- a/cards.tscn +++ b/cards.tscn @@ -3,14 +3,22 @@ [ext_resource path="res://fonts/default.tres" type="DynamicFont" id=1] [ext_resource path="res://cardgame.gd" type="Script" id=3] -[node name="Cards" type="Node2D"] +[node name="Cards" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +mouse_filter = 2 script = ExtResource( 3 ) +__meta__ = { +"_edit_use_anchors_": false +} [node name="Button" type="Button" parent="."] -margin_left = 1719.41 -margin_top = 814.594 -margin_right = 1892.41 -margin_bottom = 856.594 +anchor_left = 1.0 +anchor_right = 1.0 +margin_left = -172.0 +margin_top = 16.0 +margin_right = -16.0 +margin_bottom = 47.0 custom_fonts/font = ExtResource( 1 ) text = "Draw new cards" __meta__ = { diff --git a/main.gd b/main.gd index 43c9056..8b96488 100644 --- a/main.gd +++ b/main.gd @@ -5,17 +5,17 @@ var dragged = null var current_chapter var current_level -onready var terminal = $Columns/RightSide/Terminal +onready var terminal = $Rows/Columns/RightSide/Terminal onready var input = terminal.input onready var output = terminal.output -onready var repositories_node = $Columns/Repositories +onready var repositories_node = $Rows/Columns/Repositories var repositories = {} -onready var level_select = $Columns/RightSide/TopStuff/Menu/LevelSelect -onready var chapter_select = $Columns/RightSide/TopStuff/Menu/ChapterSelect -onready var next_level_button = $Columns/RightSide/TopStuff/Menu/NextLevelButton -onready var level_name = $Columns/RightSide/TopStuff/LevelPanel/LevelName -onready var level_description = $Columns/RightSide/TopStuff/LevelPanel/Text/LevelDescription -onready var level_congrats = $Columns/RightSide/TopStuff/LevelPanel/Text/LevelCongrats +onready var level_select = $Rows/Columns/RightSide/TopStuff/Menu/LevelSelect +onready var chapter_select = $Rows/Columns/RightSide/TopStuff/Menu/ChapterSelect +onready var next_level_button = $Rows/Columns/RightSide/TopStuff/Menu/NextLevelButton +onready var level_name = $Rows/Columns/RightSide/TopStuff/LevelPanel/LevelName +onready var level_description = $Rows/Columns/RightSide/TopStuff/LevelPanel/Text/LevelDescription +onready var level_congrats = $Rows/Columns/RightSide/TopStuff/LevelPanel/Text/LevelCongrats func _ready(): var args = helpers.parse_args() diff --git a/main.tscn b/main.tscn index 31d2c8e..72c8f58 100644 --- a/main.tscn +++ b/main.tscn @@ -23,7 +23,6 @@ corner_radius_bottom_left = 3 [node name="Main" type="Control"] anchor_right = 1.0 anchor_bottom = 1.0 -margin_bottom = -285.0 mouse_filter = 2 theme = ExtResource( 6 ) script = ExtResource( 2 ) @@ -43,21 +42,27 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="Columns" type="HSplitContainer" parent="."] +[node name="Rows" type="VBoxContainer" parent="."] anchor_right = 1.0 anchor_bottom = 1.0 -margin_left = 5.0 -margin_top = 5.0 -margin_right = -5.0 -margin_bottom = -5.0 mouse_filter = 2 +size_flags_vertical = 3 __meta__ = { "_edit_use_anchors_": false } -[node name="Repositories" type="HBoxContainer" parent="Columns"] -margin_right = 1267.0 -margin_bottom = 785.0 +[node name="Columns" type="HSplitContainer" parent="Rows"] +margin_right = 1920.0 +margin_bottom = 796.0 +mouse_filter = 2 +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Repositories" type="HBoxContainer" parent="Rows/Columns"] +margin_right = 1274.0 +margin_bottom = 796.0 mouse_filter = 2 size_flags_horizontal = 3 size_flags_stretch_ratio = 2.0 @@ -66,29 +71,29 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="RightSide" type="VSplitContainer" parent="Columns"] -margin_left = 1279.0 -margin_right = 1910.0 -margin_bottom = 785.0 +[node name="RightSide" type="VSplitContainer" parent="Rows/Columns"] +margin_left = 1286.0 +margin_right = 1920.0 +margin_bottom = 796.0 size_flags_horizontal = 3 -[node name="TopStuff" type="VBoxContainer" parent="Columns/RightSide"] -margin_right = 631.0 -margin_bottom = 386.0 +[node name="TopStuff" type="VBoxContainer" parent="Rows/Columns/RightSide"] +margin_right = 634.0 +margin_bottom = 392.0 size_flags_vertical = 3 -[node name="Menu" type="HBoxContainer" parent="Columns/RightSide/TopStuff"] -margin_right = 631.0 +[node name="Menu" type="HBoxContainer" parent="Rows/Columns/RightSide/TopStuff"] +margin_right = 634.0 margin_bottom = 35.0 -[node name="ChapterSelect" type="OptionButton" parent="Columns/RightSide/TopStuff/Menu"] +[node name="ChapterSelect" type="OptionButton" parent="Rows/Columns/RightSide/TopStuff/Menu"] margin_right = 168.0 margin_bottom = 35.0 focus_mode = 0 enabled_focus_mode = 0 text = "Select chapter..." -[node name="LevelSelect" type="OptionButton" parent="Columns/RightSide/TopStuff/Menu"] +[node name="LevelSelect" type="OptionButton" parent="Rows/Columns/RightSide/TopStuff/Menu"] margin_left = 173.0 margin_right = 317.0 margin_bottom = 35.0 @@ -97,7 +102,7 @@ enabled_focus_mode = 0 text = "Select level..." expand_icon = true -[node name="ReloadButton" type="Button" parent="Columns/RightSide/TopStuff/Menu"] +[node name="ReloadButton" type="Button" parent="Rows/Columns/RightSide/TopStuff/Menu"] margin_left = 322.0 margin_right = 401.0 margin_bottom = 35.0 @@ -108,7 +113,7 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="NextLevelButton" type="Button" parent="Columns/RightSide/TopStuff/Menu"] +[node name="NextLevelButton" type="Button" parent="Rows/Columns/RightSide/TopStuff/Menu"] margin_left = 406.0 margin_right = 516.0 margin_bottom = 35.0 @@ -121,14 +126,14 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="LevelPanel" type="VBoxContainer" parent="Columns/RightSide/TopStuff"] +[node name="LevelPanel" type="VBoxContainer" parent="Rows/Columns/RightSide/TopStuff"] margin_top = 40.0 -margin_right = 631.0 -margin_bottom = 386.0 +margin_right = 634.0 +margin_bottom = 392.0 size_flags_vertical = 3 -[node name="LevelName" type="RichTextLabel" parent="Columns/RightSide/TopStuff/LevelPanel"] -margin_right = 631.0 +[node name="LevelName" type="RichTextLabel" parent="Rows/Columns/RightSide/TopStuff/LevelPanel"] +margin_right = 634.0 margin_bottom = 60.0 rect_min_size = Vector2( 0, 60 ) custom_fonts/normal_font = ExtResource( 7 ) @@ -137,13 +142,13 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="Text" type="Control" parent="Columns/RightSide/TopStuff/LevelPanel"] +[node name="Text" type="Control" parent="Rows/Columns/RightSide/TopStuff/LevelPanel"] margin_top = 65.0 -margin_right = 631.0 -margin_bottom = 346.0 +margin_right = 634.0 +margin_bottom = 352.0 size_flags_vertical = 3 -[node name="LevelDescription" type="RichTextLabel" parent="Columns/RightSide/TopStuff/LevelPanel/Text"] +[node name="LevelDescription" type="RichTextLabel" parent="Rows/Columns/RightSide/TopStuff/LevelPanel/Text"] anchor_right = 1.0 anchor_bottom = 1.0 size_flags_vertical = 3 @@ -154,7 +159,7 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="LevelCongrats" type="RichTextLabel" parent="Columns/RightSide/TopStuff/LevelPanel/Text"] +[node name="LevelCongrats" type="RichTextLabel" parent="Rows/Columns/RightSide/TopStuff/LevelPanel/Text"] visible = false anchor_right = 1.0 anchor_bottom = 1.0 @@ -166,14 +171,23 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="Terminal" parent="Columns/RightSide" instance=ExtResource( 1 )] +[node name="Terminal" parent="Rows/Columns/RightSide" instance=ExtResource( 1 )] anchor_right = 0.0 anchor_bottom = 0.0 -margin_top = 398.0 -margin_right = 631.0 -margin_bottom = 785.0 +margin_top = 404.0 +margin_right = 634.0 +margin_bottom = 796.0 size_flags_vertical = 3 +[node name="Cards" parent="Rows" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 801.0 +margin_right = 1920.0 +margin_bottom = 1080.0 +size_flags_vertical = 3 +size_flags_stretch_ratio = 0.35 + [node name="Test" type="Node2D" parent="."] visible = false script = ExtResource( 9 ) @@ -189,11 +203,9 @@ caret_blink = true __meta__ = { "_edit_use_anchors_": false } - -[node name="Cards" parent="." instance=ExtResource( 3 )] -[connection signal="button_down" from="Columns/RightSide/TopStuff/Menu/ChapterSelect" to="." method="repopulate_chapters"] -[connection signal="button_down" from="Columns/RightSide/TopStuff/Menu/LevelSelect" to="." method="repopulate_levels"] -[connection signal="pressed" from="Columns/RightSide/TopStuff/Menu/ReloadButton" to="." method="reload_level"] -[connection signal="pressed" from="Columns/RightSide/TopStuff/Menu/NextLevelButton" to="." method="load_next_level"] -[connection signal="command_done" from="Columns/RightSide/Terminal" to="." method="update_repos"] +[connection signal="button_down" from="Rows/Columns/RightSide/TopStuff/Menu/ChapterSelect" to="." method="repopulate_chapters"] +[connection signal="button_down" from="Rows/Columns/RightSide/TopStuff/Menu/LevelSelect" to="." method="repopulate_levels"] +[connection signal="pressed" from="Rows/Columns/RightSide/TopStuff/Menu/ReloadButton" to="." method="reload_level"] +[connection signal="pressed" from="Rows/Columns/RightSide/TopStuff/Menu/NextLevelButton" to="." method="load_next_level"] +[connection signal="command_done" from="Rows/Columns/RightSide/Terminal" to="." method="update_repos"] [connection signal="text_entered" from="Test/LineEdit" to="Test" method="send"]