From 5322be1a548eb12a4cfa4f597295cef621a456fd Mon Sep 17 00:00:00 2001 From: Aaron Franke Date: Thu, 5 Mar 2020 20:45:59 -0500 Subject: [PATCH] Refactor the Joypads demo --- .../{jsdiagram.tscn => joypad_diagram.tscn} | 54 +- misc/joypads/joypads.gd | 50 +- misc/joypads/joypads.tscn | 1321 +++++++++-------- 3 files changed, 780 insertions(+), 645 deletions(-) rename misc/joypads/{jsdiagram.tscn => joypad_diagram.tscn} (76%) diff --git a/misc/joypads/jsdiagram.tscn b/misc/joypads/joypad_diagram.tscn similarity index 76% rename from misc/joypads/jsdiagram.tscn rename to misc/joypads/joypad_diagram.tscn index 9c07238f..ded81af6 100644 --- a/misc/joypads/jsdiagram.tscn +++ b/misc/joypads/joypad_diagram.tscn @@ -3,56 +3,56 @@ [ext_resource path="res://diagram.png" type="Texture" id=1] [ext_resource path="res://indicators.png" type="Texture" id=2] -[node name="diagram" type="Sprite"] +[node name="JoypadDiagram" type="Sprite"] position = Vector2( 368.635, 155.289 ) scale = Vector2( 0.432859, 0.446287 ) texture = ExtResource( 1 ) -[node name="buttons" type="Node2D" parent="."] +[node name="Buttons" type="Node2D" parent="."] -[node name="0" type="Sprite" parent="buttons"] +[node name="0" type="Sprite" parent="Buttons"] position = Vector2( 147.73, 120.925 ) scale = Vector2( 0.9, 0.9 ) texture = ExtResource( 2 ) region_enabled = true region_rect = Rect2( 0, 0, 45, 45 ) -[node name="1" type="Sprite" parent="buttons"] +[node name="1" type="Sprite" parent="Buttons"] position = Vector2( 185.769, 82.4874 ) scale = Vector2( 0.9, 0.9 ) texture = ExtResource( 2 ) region_enabled = true region_rect = Rect2( 0, 0, 45, 45 ) -[node name="2" type="Sprite" parent="buttons"] +[node name="2" type="Sprite" parent="Buttons"] position = Vector2( 112.377, 82.4874 ) scale = Vector2( 0.9, 0.9 ) texture = ExtResource( 2 ) region_enabled = true region_rect = Rect2( 0, 0, 45, 45 ) -[node name="3" type="Sprite" parent="buttons"] +[node name="3" type="Sprite" parent="Buttons"] position = Vector2( 149.073, 47.3293 ) scale = Vector2( 0.9, 0.9 ) texture = ExtResource( 2 ) region_enabled = true region_rect = Rect2( 0, 0, 45, 45 ) -[node name="4" type="Sprite" parent="buttons"] +[node name="4" type="Sprite" parent="Buttons"] position = Vector2( -161.038, -158.037 ) scale = Vector2( 5.3348, 3.35512 ) texture = ExtResource( 2 ) region_enabled = true region_rect = Rect2( 10, 10, 10, 10 ) -[node name="5" type="Sprite" parent="buttons"] +[node name="5" type="Sprite" parent="Buttons"] position = Vector2( 159.362, -156.977 ) scale = Vector2( 5.3348, 3.35512 ) texture = ExtResource( 2 ) region_enabled = true region_rect = Rect2( 10, 10, 10, 10 ) -[node name="6" type="Sprite" parent="buttons"] +[node name="6" type="Sprite" parent="Buttons"] position = Vector2( -159.349, -221.878 ) scale = Vector2( 1.0458, 2.16952 ) texture = ExtResource( 2 ) @@ -60,49 +60,49 @@ flip_h = true region_enabled = true region_rect = Rect2( 0, 0, 45, 22 ) -[node name="7" type="Sprite" parent="buttons"] +[node name="7" type="Sprite" parent="Buttons"] position = Vector2( 156.677, -220.11 ) scale = Vector2( 1.0458, 2.16952 ) texture = ExtResource( 2 ) region_enabled = true region_rect = Rect2( 0, 0, 45, 22 ) -[node name="8" type="Sprite" parent="buttons"] +[node name="8" type="Sprite" parent="Buttons"] position = Vector2( -67.5308, 164.422 ) scale = Vector2( 0.9, 0.9 ) texture = ExtResource( 2 ) region_enabled = true region_rect = Rect2( 0, 0, 45, 45 ) -[node name="9" type="Sprite" parent="buttons"] +[node name="9" type="Sprite" parent="Buttons"] position = Vector2( 75.8825, 167.363 ) scale = Vector2( 0.9, 0.9 ) texture = ExtResource( 2 ) region_enabled = true region_rect = Rect2( 0, 0, 45, 45 ) -[node name="10" type="Sprite" parent="buttons"] +[node name="10" type="Sprite" parent="Buttons"] position = Vector2( -46.6707, 52.702 ) scale = Vector2( 0.810497, 0.57205 ) texture = ExtResource( 2 ) region_enabled = true region_rect = Rect2( 0, 0, 45, 45 ) -[node name="11" type="Sprite" parent="buttons"] +[node name="11" type="Sprite" parent="Buttons"] position = Vector2( 56.2581, 54.4382 ) scale = Vector2( 0.810497, 0.57205 ) texture = ExtResource( 2 ) region_enabled = true region_rect = Rect2( 0, 0, 45, 45 ) -[node name="12" type="Sprite" parent="buttons"] +[node name="12" type="Sprite" parent="Buttons"] position = Vector2( -139.402, 46.8295 ) scale = Vector2( 0.9, 0.9 ) texture = ExtResource( 2 ) region_enabled = true region_rect = Rect2( 50, 0, 54, 14 ) -[node name="13" type="Sprite" parent="buttons"] +[node name="13" type="Sprite" parent="Buttons"] position = Vector2( -139.838, 115.789 ) scale = Vector2( 0.9, 0.9 ) texture = ExtResource( 2 ) @@ -110,14 +110,14 @@ flip_v = true region_enabled = true region_rect = Rect2( 50, 0, 54, 14 ) -[node name="14" type="Sprite" parent="buttons"] +[node name="14" type="Sprite" parent="Buttons"] position = Vector2( -172.262, 81.8793 ) scale = Vector2( 0.9, 0.9 ) texture = ExtResource( 2 ) region_enabled = true region_rect = Rect2( 50, 0, 14, 54 ) -[node name="15" type="Sprite" parent="buttons"] +[node name="15" type="Sprite" parent="Buttons"] position = Vector2( -105.085, 81.0326 ) scale = Vector2( 0.9, 0.9 ) texture = ExtResource( 2 ) @@ -125,16 +125,16 @@ flip_h = true region_enabled = true region_rect = Rect2( 50, 0, 14, 54 ) -[node name="axes" type="Node2D" parent="."] +[node name="Axes" type="Node2D" parent="."] -[node name="0-" type="Sprite" parent="axes"] +[node name="0-" type="Sprite" parent="Axes"] position = Vector2( -94.4295, 164.932 ) scale = Vector2( 0.9, 0.9 ) texture = ExtResource( 2 ) region_enabled = true region_rect = Rect2( 50, 0, 14, 54 ) -[node name="0+" type="Sprite" parent="axes"] +[node name="0+" type="Sprite" parent="Axes"] position = Vector2( -40.3475, 164.509 ) scale = Vector2( 0.9, 0.9 ) texture = ExtResource( 2 ) @@ -142,14 +142,14 @@ flip_h = true region_enabled = true region_rect = Rect2( 50, 0, 14, 54 ) -[node name="1-" type="Sprite" parent="axes"] +[node name="1-" type="Sprite" parent="Axes"] position = Vector2( -67.6802, 137.926 ) scale = Vector2( 0.9, 0.9 ) texture = ExtResource( 2 ) region_enabled = true region_rect = Rect2( 50, 0, 54, 14 ) -[node name="1+" type="Sprite" parent="axes"] +[node name="1+" type="Sprite" parent="Axes"] position = Vector2( -67.4618, 192.915 ) scale = Vector2( 0.9, 0.9 ) texture = ExtResource( 2 ) @@ -157,14 +157,14 @@ flip_v = true region_enabled = true region_rect = Rect2( 50, 0, 54, 14 ) -[node name="2-" type="Sprite" parent="axes"] +[node name="2-" type="Sprite" parent="Axes"] position = Vector2( 48.8152, 167.145 ) scale = Vector2( 0.9, 0.9 ) texture = ExtResource( 2 ) region_enabled = true region_rect = Rect2( 50, 0, 14, 54 ) -[node name="2+" type="Sprite" parent="axes"] +[node name="2+" type="Sprite" parent="Axes"] position = Vector2( 102.899, 167.857 ) scale = Vector2( 0.9, 0.9 ) texture = ExtResource( 2 ) @@ -172,14 +172,14 @@ flip_h = true region_enabled = true region_rect = Rect2( 50, 0, 14, 54 ) -[node name="3-" type="Sprite" parent="axes"] +[node name="3-" type="Sprite" parent="Axes"] position = Vector2( 76.6557, 140.986 ) scale = Vector2( 0.9, 0.9 ) texture = ExtResource( 2 ) region_enabled = true region_rect = Rect2( 50, 0, 54, 14 ) -[node name="3+" type="Sprite" parent="axes"] +[node name="3+" type="Sprite" parent="Axes"] position = Vector2( 76.0009, 195.339 ) scale = Vector2( 0.9, 0.9 ) texture = ExtResource( 2 ) diff --git a/misc/joypads/joypads.gd b/misc/joypads/joypads.gd index 0b73caa5..3011af22 100644 --- a/misc/joypads/joypads.gd +++ b/misc/joypads/joypads.gd @@ -13,60 +13,64 @@ var joy_num var cur_joy = -1 var axis_value +onready var axes = $Axes +onready var button_grid = $Buttons/ButtonGrid +onready var joypad_axes = $JoypadDiagram/Axes +onready var joypad_buttons = $JoypadDiagram/Buttons +onready var joypad_name = $DeviceInfo/JoyName +onready var joypad_number = $DeviceInfo/JoyNumber + func _ready(): set_physics_process(true) Input.connect("joy_connection_changed", self, "_on_joy_connection_changed") -func _physics_process(_delta): +func _process(_delta): # Get the joypad device number from the spinbox. - joy_num = get_node("device_info/joy_num").get_value() + joy_num = joypad_number.get_value() # Display the name of the joypad if we haven't already. if joy_num != cur_joy: cur_joy = joy_num - get_node("device_info/joy_name").set_text(Input.get_joy_name(joy_num)) + joypad_name.set_text(Input.get_joy_name(joy_num)) # Loop through the axes and show their current values. - for axis in range(JOY_AXIS_0, JOY_AXIS_MAX): + for axis in range(JOY_AXIS_MAX): axis_value = Input.get_joy_axis(joy_num, axis) - get_node("axes/axis_prog" + str(axis)).set_value(100 * axis_value) - get_node("axes/axis_val" + str(axis)).set_text(str(axis_value)) + axes.get_node("Axis" + str(axis) + "/ProgressBar").set_value(100 * axis_value) + axes.get_node("Axis" + str(axis) + "/ProgressBar/Value").set_text(str(axis_value)) # Show joypad direction indicators if axis <= JOY_ANALOG_RY: if abs(axis_value) < DEADZONE: - get_node("diagram/axes/" + str(axis) + "+").hide() - get_node("diagram/axes/" + str(axis) + "-").hide() + joypad_axes.get_node(str(axis) + "+").hide() + joypad_axes.get_node(str(axis) + "-").hide() elif axis_value > 0: - get_node("diagram/axes/" + str(axis) + "+").show() - get_node("diagram/axes/" + str(axis) + "-").hide() + joypad_axes.get_node(str(axis) + "+").show() + joypad_axes.get_node(str(axis) + "-").hide() else: - get_node("diagram/axes/" + str(axis) + "+").hide() - get_node("diagram/axes/" + str(axis) + "-").show() + joypad_axes.get_node(str(axis) + "+").hide() + joypad_axes.get_node(str(axis) + "-").show() # Loop through the buttons and highlight the ones that are pressed. for btn in range(JOY_BUTTON_0, JOY_BUTTON_MAX): if Input.is_joy_button_pressed(joy_num, btn): - get_node("buttons/btn" + str(btn)).add_color_override("font_color", Color.white) - get_node("diagram/buttons/" + str(btn)).show() + button_grid.get_node(str(btn)).add_color_override("font_color", Color.white) + joypad_buttons.get_node(str(btn)).show() else: - get_node("buttons/btn" + str(btn)).add_color_override("font_color", Color(0.2, 0.1, 0.3, 1)) - get_node("diagram/buttons/" + str(btn)).hide() + button_grid.get_node(str(btn)).add_color_override("font_color", Color(0.2, 0.1, 0.3, 1)) + joypad_buttons.get_node(str(btn)).hide() # Called whenever a joypad has been connected or disconnected. func _on_joy_connection_changed(device_id, connected): if device_id == cur_joy: - if connected: - get_node("device_info/joy_name").set_text(Input.get_joy_name(device_id)) - else: - get_node("device_info/joy_name").set_text("") + joypad_name.set_text(Input.get_joy_name(device_id) if connected else "") func _on_start_vibration_pressed(): - var weak = get_node("vibration/vibration_weak_value").get_value() - var strong = get_node("vibration/vibration_strong_value").get_value() - var duration = get_node("vibration/vibration_duration_value").get_value() + var weak = $Vibration/Weak/Value.get_value() + var strong = $Vibration/Strong/Value.get_value() + var duration = $Vibration/Duration/Value.get_value() Input.start_joy_vibration(cur_joy, weak, strong, duration) diff --git a/misc/joypads/joypads.tscn b/misc/joypads/joypads.tscn index 777511f0..51589f35 100644 --- a/misc/joypads/joypads.tscn +++ b/misc/joypads/joypads.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=3 format=2] [ext_resource path="res://joypads.gd" type="Script" id=1] -[ext_resource path="res://jsdiagram.tscn" type="PackedScene" id=2] +[ext_resource path="res://joypad_diagram.tscn" type="PackedScene" id=2] [node name="joypads" type="Control"] anchor_left = 0.5 @@ -17,512 +17,566 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="diagram" parent="." instance=ExtResource( 2 )] -position = Vector2( 400, 200 ) +[node name="JoypadDiagram" parent="." instance=ExtResource( 2 )] +position = Vector2( 415, 180 ) +scale = Vector2( 0.5, 0.5 ) -[node name="device_info" type="Control" parent="."] -margin_right = 40.0 -margin_bottom = 40.0 +[node name="DeviceInfo" type="HBoxContainer" parent="."] +anchor_right = 1.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 500, 30 ) __meta__ = { "_edit_use_anchors_": false } -[node name="label_device" type="Label" parent="device_info"] -margin_left = 10.0 -margin_top = 10.0 -margin_right = 60.0 +[node name="Label" type="Label" parent="DeviceInfo"] +margin_right = 50.0 margin_bottom = 30.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 +rect_min_size = Vector2( 50, 0 ) +size_flags_vertical = 1 text = "Device" valign = 1 __meta__ = { "_edit_use_anchors_": false } -[node name="joy_num" type="SpinBox" parent="device_info"] -margin_left = 65.0 -margin_top = 10.0 -margin_right = 139.0 -margin_bottom = 34.0 -size_flags_horizontal = 2 -size_flags_vertical = 2 +[node name="JoyNumber" type="SpinBox" parent="DeviceInfo"] +margin_left = 54.0 +margin_right = 134.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 80, 0 ) +size_flags_vertical = 3 max_value = 16.0 __meta__ = { "_edit_use_anchors_": false } -[node name="joy_name" type="Label" parent="device_info"] -margin_left = 10.0 -margin_top = 35.0 -margin_right = 250.0 -margin_bottom = 50.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 +[node name="VSeparator" type="VSeparator" parent="DeviceInfo"] +modulate = Color( 1, 1, 1, 0 ) +margin_left = 138.0 +margin_right = 148.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 10, 0 ) + +[node name="JoyName" type="Label" parent="DeviceInfo"] +margin_left = 152.0 +margin_right = 540.0 +margin_bottom = 30.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 custom_colors/font_color = Color( 0.229156, 1, 0.239205, 1 ) -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="axes" type="Control" parent="."] -margin_right = 40.0 -margin_bottom = 40.0 -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="axis_prog0" type="ProgressBar" parent="axes"] -margin_left = 60.0 -margin_top = 60.0 -margin_right = 260.0 -margin_bottom = 76.0 -size_flags_horizontal = 2 -min_value = -100.0 -step = 0.0001 -percent_visible = false -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="axis_prog1" type="ProgressBar" parent="axes"] -margin_left = 60.0 -margin_top = 80.0 -margin_right = 260.0 -margin_bottom = 96.0 -size_flags_horizontal = 2 -min_value = -100.0 -step = 0.0001 -percent_visible = false -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="axis_prog2" type="ProgressBar" parent="axes"] -margin_left = 60.0 -margin_top = 100.0 -margin_right = 260.0 -margin_bottom = 116.0 -size_flags_horizontal = 2 -min_value = -100.0 -step = 0.0001 -percent_visible = false -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="axis_prog3" type="ProgressBar" parent="axes"] -margin_left = 60.0 -margin_top = 120.0 -margin_right = 260.0 -margin_bottom = 136.0 -size_flags_horizontal = 2 -min_value = -100.0 -step = 0.0001 -percent_visible = false -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="axis_prog4" type="ProgressBar" parent="axes"] -margin_left = 60.0 -margin_top = 140.0 -margin_right = 260.0 -margin_bottom = 156.0 -size_flags_horizontal = 2 -min_value = -100.0 -step = 0.0001 -percent_visible = false -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="axis_prog5" type="ProgressBar" parent="axes"] -margin_left = 60.0 -margin_top = 160.0 -margin_right = 260.0 -margin_bottom = 176.0 -size_flags_horizontal = 2 -min_value = -100.0 -step = 0.0001 -percent_visible = false -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="axis_prog6" type="ProgressBar" parent="axes"] -margin_left = 60.0 -margin_top = 180.0 -margin_right = 260.0 -margin_bottom = 196.0 -size_flags_horizontal = 2 -min_value = -100.0 -step = 0.0001 -percent_visible = false -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="axis_prog7" type="ProgressBar" parent="axes"] -margin_left = 60.0 -margin_top = 200.0 -margin_right = 260.0 -margin_bottom = 216.0 -size_flags_horizontal = 2 -min_value = -100.0 -step = 0.0001 -percent_visible = false -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="axis_prog8" type="ProgressBar" parent="axes"] -margin_left = 60.0 -margin_top = 220.0 -margin_right = 260.0 -margin_bottom = 236.0 -size_flags_horizontal = 2 -min_value = -100.0 -step = 0.0001 -percent_visible = false -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="axis_prog9" type="ProgressBar" parent="axes"] -margin_left = 60.0 -margin_top = 240.0 -margin_right = 260.0 -margin_bottom = 256.0 -size_flags_horizontal = 2 -min_value = -100.0 -step = 0.0001 -percent_visible = false -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="axis_prog10" type="ProgressBar" parent="axes"] -margin_left = 60.0 -margin_top = 260.0 -margin_right = 260.0 -margin_bottom = 276.0 -size_flags_horizontal = 2 -min_value = -100.0 -step = 0.0001 -percent_visible = false -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="axis_val0" type="Label" parent="axes"] -margin_left = 60.0 -margin_top = 60.0 -margin_right = 260.0 -margin_bottom = 75.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 -text = "0" -align = 1 +text = "Controller Name Here" valign = 1 __meta__ = { "_edit_use_anchors_": false } -[node name="axis_val1" type="Label" parent="axes"] -margin_left = 60.0 -margin_top = 80.0 -margin_right = 260.0 -margin_bottom = 95.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 -text = "0" -align = 1 -valign = 1 +[node name="Axes" type="VBoxContainer" parent="."] +margin_top = 50.0 +margin_right = 255.0 +margin_bottom = 310.0 __meta__ = { "_edit_use_anchors_": false } -[node name="axis_val2" type="Label" parent="axes"] -margin_left = 60.0 -margin_top = 100.0 +[node name="Axis0" type="HBoxContainer" parent="Axes"] margin_right = 260.0 -margin_bottom = 115.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 -text = "0" -align = 1 -valign = 1 +margin_bottom = 20.0 +rect_min_size = Vector2( 260, 20 ) __meta__ = { "_edit_use_anchors_": false } -[node name="axis_val3" type="Label" parent="axes"] -margin_left = 60.0 -margin_top = 120.0 -margin_right = 260.0 -margin_bottom = 135.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 -text = "0" -align = 1 -valign = 1 -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="axis_val4" type="Label" parent="axes"] -margin_left = 60.0 -margin_top = 140.0 -margin_right = 260.0 -margin_bottom = 155.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 -text = "0" -align = 1 -valign = 1 -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="axis_val5" type="Label" parent="axes"] -margin_left = 60.0 -margin_top = 160.0 -margin_right = 260.0 -margin_bottom = 175.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 -text = "0" -align = 1 -valign = 1 -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="axis_val6" type="Label" parent="axes"] -margin_left = 60.0 -margin_top = 180.0 -margin_right = 260.0 -margin_bottom = 195.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 -text = "0" -align = 1 -valign = 1 -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="axis_val7" type="Label" parent="axes"] -margin_left = 60.0 -margin_top = 200.0 -margin_right = 260.0 -margin_bottom = 215.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 -text = "0" -align = 1 -valign = 1 -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="axis_val8" type="Label" parent="axes"] -margin_left = 60.0 -margin_top = 220.0 -margin_right = 260.0 -margin_bottom = 235.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 -text = "0" -align = 1 -valign = 1 -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="axis_val9" type="Label" parent="axes"] -margin_left = 60.0 -margin_top = 240.0 -margin_right = 260.0 -margin_bottom = 255.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 -text = "0" -align = 1 -valign = 1 -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="axis_val10" type="Label" parent="axes"] -margin_left = 60.0 -margin_top = 260.0 -margin_right = 260.0 -margin_bottom = 275.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 -text = "0" -align = 1 -valign = 1 -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="label_axis0" type="Label" parent="axes"] -margin_left = 10.0 -margin_top = 60.0 -margin_right = 51.0 -margin_bottom = 75.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 +[node name="Label" type="Label" parent="Axes/Axis0"] +margin_right = 50.0 +margin_bottom = 20.0 +rect_min_size = Vector2( 50, 0 ) +size_flags_vertical = 1 text = "Axis 0" valign = 1 __meta__ = { "_edit_use_anchors_": false } -[node name="label_axis1" type="Label" parent="axes"] -margin_left = 10.0 -margin_top = 80.0 -margin_right = 51.0 -margin_bottom = 95.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 +[node name="ProgressBar" type="ProgressBar" parent="Axes/Axis0"] +margin_left = 54.0 +margin_right = 260.0 +margin_bottom = 20.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +min_value = -100.0 +step = 0.0001 +percent_visible = false +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Value" type="Label" parent="Axes/Axis0/ProgressBar"] +anchor_right = 1.0 +anchor_bottom = 1.0 +size_flags_vertical = 1 +text = "0" +align = 1 +valign = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Axis1" type="HBoxContainer" parent="Axes"] +margin_top = 24.0 +margin_right = 260.0 +margin_bottom = 44.0 +rect_min_size = Vector2( 260, 20 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Label" type="Label" parent="Axes/Axis1"] +margin_right = 50.0 +margin_bottom = 20.0 +rect_min_size = Vector2( 50, 0 ) +size_flags_vertical = 1 text = "Axis 1" valign = 1 __meta__ = { "_edit_use_anchors_": false } -[node name="label_axis2" type="Label" parent="axes"] -margin_left = 10.0 -margin_top = 100.0 -margin_right = 51.0 -margin_bottom = 115.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 +[node name="ProgressBar" type="ProgressBar" parent="Axes/Axis1"] +margin_left = 54.0 +margin_right = 260.0 +margin_bottom = 20.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +min_value = -100.0 +step = 0.0001 +percent_visible = false +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Value" type="Label" parent="Axes/Axis1/ProgressBar"] +anchor_right = 1.0 +anchor_bottom = 1.0 +size_flags_vertical = 1 +text = "0" +align = 1 +valign = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Axis2" type="HBoxContainer" parent="Axes"] +margin_top = 48.0 +margin_right = 260.0 +margin_bottom = 68.0 +rect_min_size = Vector2( 260, 20 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Label" type="Label" parent="Axes/Axis2"] +margin_right = 50.0 +margin_bottom = 20.0 +rect_min_size = Vector2( 50, 0 ) +size_flags_vertical = 1 text = "Axis 2" valign = 1 __meta__ = { "_edit_use_anchors_": false } -[node name="label_axis3" type="Label" parent="axes"] -margin_left = 10.0 -margin_top = 120.0 -margin_right = 51.0 -margin_bottom = 135.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 +[node name="ProgressBar" type="ProgressBar" parent="Axes/Axis2"] +margin_left = 54.0 +margin_right = 260.0 +margin_bottom = 20.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +min_value = -100.0 +step = 0.0001 +percent_visible = false +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Value" type="Label" parent="Axes/Axis2/ProgressBar"] +anchor_right = 1.0 +anchor_bottom = 1.0 +size_flags_vertical = 1 +text = "0" +align = 1 +valign = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Axis3" type="HBoxContainer" parent="Axes"] +margin_top = 72.0 +margin_right = 260.0 +margin_bottom = 92.0 +rect_min_size = Vector2( 260, 20 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Label" type="Label" parent="Axes/Axis3"] +margin_right = 50.0 +margin_bottom = 20.0 +rect_min_size = Vector2( 50, 0 ) +size_flags_vertical = 1 text = "Axis 3" valign = 1 __meta__ = { "_edit_use_anchors_": false } -[node name="label_axis4" type="Label" parent="axes"] -margin_left = 10.0 -margin_top = 140.0 -margin_right = 51.0 -margin_bottom = 155.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 +[node name="ProgressBar" type="ProgressBar" parent="Axes/Axis3"] +margin_left = 54.0 +margin_right = 260.0 +margin_bottom = 20.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +min_value = -100.0 +step = 0.0001 +percent_visible = false +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Value" type="Label" parent="Axes/Axis3/ProgressBar"] +anchor_right = 1.0 +anchor_bottom = 1.0 +size_flags_vertical = 1 +text = "0" +align = 1 +valign = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Axis4" type="HBoxContainer" parent="Axes"] +margin_top = 96.0 +margin_right = 260.0 +margin_bottom = 116.0 +rect_min_size = Vector2( 260, 20 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Label" type="Label" parent="Axes/Axis4"] +margin_right = 50.0 +margin_bottom = 20.0 +rect_min_size = Vector2( 50, 0 ) +size_flags_vertical = 1 text = "Axis 4" valign = 1 __meta__ = { "_edit_use_anchors_": false } -[node name="label_axis5" type="Label" parent="axes"] -margin_left = 10.0 -margin_top = 160.0 -margin_right = 51.0 -margin_bottom = 175.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 +[node name="ProgressBar" type="ProgressBar" parent="Axes/Axis4"] +margin_left = 54.0 +margin_right = 260.0 +margin_bottom = 20.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +min_value = -100.0 +step = 0.0001 +percent_visible = false +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Value" type="Label" parent="Axes/Axis4/ProgressBar"] +anchor_right = 1.0 +anchor_bottom = 1.0 +size_flags_vertical = 1 +text = "0" +align = 1 +valign = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Axis5" type="HBoxContainer" parent="Axes"] +margin_top = 120.0 +margin_right = 260.0 +margin_bottom = 140.0 +rect_min_size = Vector2( 260, 20 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Label" type="Label" parent="Axes/Axis5"] +margin_right = 50.0 +margin_bottom = 20.0 +rect_min_size = Vector2( 50, 0 ) +size_flags_vertical = 1 text = "Axis 5" valign = 1 __meta__ = { "_edit_use_anchors_": false } -[node name="label_axis6" type="Label" parent="axes"] -margin_left = 10.0 -margin_top = 180.0 -margin_right = 51.0 -margin_bottom = 195.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 +[node name="ProgressBar" type="ProgressBar" parent="Axes/Axis5"] +margin_left = 54.0 +margin_right = 260.0 +margin_bottom = 20.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +min_value = -100.0 +step = 0.0001 +percent_visible = false +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Value" type="Label" parent="Axes/Axis5/ProgressBar"] +anchor_right = 1.0 +anchor_bottom = 1.0 +size_flags_vertical = 1 +text = "0" +align = 1 +valign = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Axis6" type="HBoxContainer" parent="Axes"] +margin_top = 144.0 +margin_right = 260.0 +margin_bottom = 164.0 +rect_min_size = Vector2( 260, 20 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Label" type="Label" parent="Axes/Axis6"] +margin_right = 50.0 +margin_bottom = 20.0 +rect_min_size = Vector2( 50, 0 ) +size_flags_vertical = 1 text = "Axis 6" valign = 1 __meta__ = { "_edit_use_anchors_": false } -[node name="label_axis7" type="Label" parent="axes"] -margin_left = 10.0 -margin_top = 200.0 -margin_right = 51.0 -margin_bottom = 215.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 +[node name="ProgressBar" type="ProgressBar" parent="Axes/Axis6"] +margin_left = 54.0 +margin_right = 260.0 +margin_bottom = 20.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +min_value = -100.0 +step = 0.0001 +percent_visible = false +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Value" type="Label" parent="Axes/Axis6/ProgressBar"] +anchor_right = 1.0 +anchor_bottom = 1.0 +size_flags_vertical = 1 +text = "0" +align = 1 +valign = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Axis7" type="HBoxContainer" parent="Axes"] +margin_top = 168.0 +margin_right = 260.0 +margin_bottom = 188.0 +rect_min_size = Vector2( 260, 20 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Label" type="Label" parent="Axes/Axis7"] +margin_right = 50.0 +margin_bottom = 20.0 +rect_min_size = Vector2( 50, 0 ) +size_flags_vertical = 1 text = "Axis 7" -valign = 2 +valign = 1 __meta__ = { "_edit_use_anchors_": false } -[node name="label_axis8" type="Label" parent="axes"] -margin_left = 10.0 -margin_top = 220.0 -margin_right = 51.0 -margin_bottom = 235.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 +[node name="ProgressBar" type="ProgressBar" parent="Axes/Axis7"] +margin_left = 54.0 +margin_right = 260.0 +margin_bottom = 20.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +min_value = -100.0 +step = 0.0001 +percent_visible = false +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Value" type="Label" parent="Axes/Axis7/ProgressBar"] +anchor_right = 1.0 +anchor_bottom = 1.0 +size_flags_vertical = 1 +text = "0" +align = 1 +valign = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Axis8" type="HBoxContainer" parent="Axes"] +margin_top = 192.0 +margin_right = 260.0 +margin_bottom = 212.0 +rect_min_size = Vector2( 260, 20 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Label" type="Label" parent="Axes/Axis8"] +margin_right = 50.0 +margin_bottom = 20.0 +rect_min_size = Vector2( 50, 0 ) +size_flags_vertical = 1 text = "Axis 8" -valign = 2 +valign = 1 __meta__ = { "_edit_use_anchors_": false } -[node name="label_axis9" type="Label" parent="axes"] -margin_left = 10.0 -margin_top = 240.0 -margin_right = 51.0 -margin_bottom = 255.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 +[node name="ProgressBar" type="ProgressBar" parent="Axes/Axis8"] +margin_left = 54.0 +margin_right = 260.0 +margin_bottom = 20.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +min_value = -100.0 +step = 0.0001 +percent_visible = false +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Value" type="Label" parent="Axes/Axis8/ProgressBar"] +anchor_right = 1.0 +anchor_bottom = 1.0 +size_flags_vertical = 1 +text = "0" +align = 1 +valign = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Axis9" type="HBoxContainer" parent="Axes"] +margin_top = 216.0 +margin_right = 260.0 +margin_bottom = 236.0 +rect_min_size = Vector2( 260, 20 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Label" type="Label" parent="Axes/Axis9"] +margin_right = 50.0 +margin_bottom = 20.0 +rect_min_size = Vector2( 50, 0 ) +size_flags_vertical = 1 text = "Axis 9" -valign = 2 +valign = 1 __meta__ = { "_edit_use_anchors_": false } -[node name="label_axis10" type="Label" parent="axes"] -margin_left = 10.0 -margin_top = 260.0 -margin_right = 51.0 -margin_bottom = 275.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 +[node name="ProgressBar" type="ProgressBar" parent="Axes/Axis9"] +margin_left = 54.0 +margin_right = 260.0 +margin_bottom = 20.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +min_value = -100.0 +step = 0.0001 +percent_visible = false +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Value" type="Label" parent="Axes/Axis9/ProgressBar"] +anchor_right = 1.0 +anchor_bottom = 1.0 +size_flags_vertical = 1 +text = "0" +align = 1 +valign = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Axis10" type="HBoxContainer" parent="Axes"] +margin_top = 240.0 +margin_right = 260.0 +margin_bottom = 260.0 +rect_min_size = Vector2( 260, 20 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Label" type="Label" parent="Axes/Axis10"] +margin_right = 50.0 +margin_bottom = 20.0 +rect_min_size = Vector2( 50, 0 ) +size_flags_vertical = 1 text = "Axis 10" -valign = 2 +valign = 1 __meta__ = { "_edit_use_anchors_": false } -[node name="buttons" type="Control" parent="."] -margin_right = 40.0 -margin_bottom = 40.0 +[node name="ProgressBar" type="ProgressBar" parent="Axes/Axis10"] +margin_left = 54.0 +margin_right = 260.0 +margin_bottom = 20.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +min_value = -100.0 +step = 0.0001 +percent_visible = false __meta__ = { "_edit_use_anchors_": false } -[node name="label_buttons" type="Label" parent="buttons"] -margin_left = 10.0 -margin_top = 290.0 -margin_right = 65.0 -margin_bottom = 304.0 +[node name="Value" type="Label" parent="Axes/Axis10/ProgressBar"] +anchor_right = 1.0 +anchor_bottom = 1.0 +size_flags_vertical = 1 +text = "0" +align = 1 +valign = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Buttons" type="VBoxContainer" parent="."] +anchor_left = 1.0 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = -250.0 +margin_top = -140.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Label" type="Label" parent="Buttons"] +margin_right = 54.0 +margin_bottom = 20.0 +rect_min_size = Vector2( 0, 20 ) size_flags_horizontal = 2 size_flags_vertical = 0 text = "Buttons:" @@ -530,292 +584,346 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="btn0" type="Label" parent="buttons"] -margin_left = 20.0 -margin_top = 310.0 -margin_right = 45.0 -margin_bottom = 324.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 +[node name="ButtonGrid" type="GridContainer" parent="Buttons"] +margin_top = 24.0 +margin_right = 250.0 +margin_bottom = 68.0 +rect_min_size = Vector2( 200, 0 ) +columns = 8 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="0" type="Label" parent="Buttons/ButtonGrid"] +margin_right = 27.0 +margin_bottom = 20.0 +rect_min_size = Vector2( 0, 20 ) +size_flags_horizontal = 3 +size_flags_vertical = 1 text = "0" align = 1 +valign = 1 __meta__ = { "_edit_use_anchors_": false } -[node name="btn1" type="Label" parent="buttons"] -margin_left = 45.0 -margin_top = 310.0 -margin_right = 70.0 -margin_bottom = 324.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 +[node name="1" type="Label" parent="Buttons/ButtonGrid"] +margin_left = 31.0 +margin_right = 58.0 +margin_bottom = 20.0 +rect_min_size = Vector2( 0, 20 ) +size_flags_horizontal = 3 +size_flags_vertical = 1 text = "1" align = 1 +valign = 1 __meta__ = { "_edit_use_anchors_": false } -[node name="btn2" type="Label" parent="buttons"] -margin_left = 70.0 -margin_top = 310.0 -margin_right = 95.0 -margin_bottom = 324.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 +[node name="2" type="Label" parent="Buttons/ButtonGrid"] +margin_left = 62.0 +margin_right = 89.0 +margin_bottom = 20.0 +rect_min_size = Vector2( 0, 20 ) +size_flags_horizontal = 3 +size_flags_vertical = 1 text = "2" align = 1 +valign = 1 __meta__ = { "_edit_use_anchors_": false } -[node name="btn3" type="Label" parent="buttons"] -margin_left = 95.0 -margin_top = 310.0 +[node name="3" type="Label" parent="Buttons/ButtonGrid"] +margin_left = 93.0 margin_right = 120.0 -margin_bottom = 324.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 +margin_bottom = 20.0 +rect_min_size = Vector2( 0, 20 ) +size_flags_horizontal = 3 +size_flags_vertical = 1 text = "3" align = 1 +valign = 1 __meta__ = { "_edit_use_anchors_": false } -[node name="btn4" type="Label" parent="buttons"] -margin_left = 120.0 -margin_top = 310.0 -margin_right = 145.0 -margin_bottom = 324.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 +[node name="4" type="Label" parent="Buttons/ButtonGrid"] +margin_left = 124.0 +margin_right = 151.0 +margin_bottom = 20.0 +rect_min_size = Vector2( 0, 20 ) +size_flags_horizontal = 3 +size_flags_vertical = 1 text = "4" align = 1 +valign = 1 __meta__ = { "_edit_use_anchors_": false } -[node name="btn5" type="Label" parent="buttons"] -margin_left = 145.0 -margin_top = 310.0 -margin_right = 170.0 -margin_bottom = 324.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 +[node name="5" type="Label" parent="Buttons/ButtonGrid"] +margin_left = 155.0 +margin_right = 182.0 +margin_bottom = 20.0 +rect_min_size = Vector2( 0, 20 ) +size_flags_horizontal = 3 +size_flags_vertical = 1 text = "5" align = 1 +valign = 1 __meta__ = { "_edit_use_anchors_": false } -[node name="btn6" type="Label" parent="buttons"] -margin_left = 170.0 -margin_top = 310.0 -margin_right = 195.0 -margin_bottom = 324.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 +[node name="6" type="Label" parent="Buttons/ButtonGrid"] +margin_left = 186.0 +margin_right = 213.0 +margin_bottom = 20.0 +rect_min_size = Vector2( 0, 20 ) +size_flags_horizontal = 3 +size_flags_vertical = 1 text = "6" align = 1 +valign = 1 __meta__ = { "_edit_use_anchors_": false } -[node name="btn7" type="Label" parent="buttons"] -margin_left = 195.0 -margin_top = 310.0 -margin_right = 220.0 -margin_bottom = 324.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 +[node name="7" type="Label" parent="Buttons/ButtonGrid"] +margin_left = 217.0 +margin_right = 244.0 +margin_bottom = 20.0 +rect_min_size = Vector2( 0, 20 ) +size_flags_horizontal = 3 +size_flags_vertical = 1 text = "7" align = 1 +valign = 1 __meta__ = { "_edit_use_anchors_": false } -[node name="btn8" type="Label" parent="buttons"] -margin_left = 220.0 -margin_top = 310.0 -margin_right = 245.0 -margin_bottom = 324.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 +[node name="8" type="Label" parent="Buttons/ButtonGrid"] +margin_top = 24.0 +margin_right = 27.0 +margin_bottom = 44.0 +rect_min_size = Vector2( 0, 20 ) +size_flags_horizontal = 3 +size_flags_vertical = 1 text = "8" align = 1 +valign = 1 __meta__ = { "_edit_use_anchors_": false } -[node name="btn9" type="Label" parent="buttons"] -margin_left = 20.0 -margin_top = 330.0 -margin_right = 45.0 -margin_bottom = 344.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 +[node name="9" type="Label" parent="Buttons/ButtonGrid"] +margin_left = 31.0 +margin_top = 24.0 +margin_right = 58.0 +margin_bottom = 44.0 +rect_min_size = Vector2( 0, 20 ) +size_flags_horizontal = 3 +size_flags_vertical = 1 text = "9" align = 1 +valign = 1 __meta__ = { "_edit_use_anchors_": false } -[node name="btn10" type="Label" parent="buttons"] -margin_left = 45.0 -margin_top = 330.0 -margin_right = 70.0 -margin_bottom = 344.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 +[node name="10" type="Label" parent="Buttons/ButtonGrid"] +margin_left = 62.0 +margin_top = 24.0 +margin_right = 89.0 +margin_bottom = 44.0 +rect_min_size = Vector2( 0, 20 ) +size_flags_horizontal = 3 +size_flags_vertical = 1 text = "10" align = 1 +valign = 1 __meta__ = { "_edit_use_anchors_": false } -[node name="btn11" type="Label" parent="buttons"] -margin_left = 70.0 -margin_top = 330.0 -margin_right = 95.0 -margin_bottom = 344.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 +[node name="11" type="Label" parent="Buttons/ButtonGrid"] +margin_left = 93.0 +margin_top = 24.0 +margin_right = 120.0 +margin_bottom = 44.0 +rect_min_size = Vector2( 0, 20 ) +size_flags_horizontal = 3 +size_flags_vertical = 1 text = "11" align = 1 +valign = 1 __meta__ = { "_edit_use_anchors_": false } -[node name="btn12" type="Label" parent="buttons"] -margin_left = 95.0 -margin_top = 330.0 -margin_right = 120.0 -margin_bottom = 344.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 +[node name="12" type="Label" parent="Buttons/ButtonGrid"] +margin_left = 124.0 +margin_top = 24.0 +margin_right = 151.0 +margin_bottom = 44.0 +rect_min_size = Vector2( 0, 20 ) +size_flags_horizontal = 3 +size_flags_vertical = 1 text = "12" align = 1 +valign = 1 __meta__ = { "_edit_use_anchors_": false } -[node name="btn13" type="Label" parent="buttons"] -margin_left = 120.0 -margin_top = 330.0 -margin_right = 145.0 -margin_bottom = 344.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 +[node name="13" type="Label" parent="Buttons/ButtonGrid"] +margin_left = 155.0 +margin_top = 24.0 +margin_right = 182.0 +margin_bottom = 44.0 +rect_min_size = Vector2( 0, 20 ) +size_flags_horizontal = 3 +size_flags_vertical = 1 text = "13" align = 1 +valign = 1 __meta__ = { "_edit_use_anchors_": false } -[node name="btn14" type="Label" parent="buttons"] -margin_left = 145.0 -margin_top = 330.0 -margin_right = 170.0 -margin_bottom = 344.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 +[node name="14" type="Label" parent="Buttons/ButtonGrid"] +margin_left = 186.0 +margin_top = 24.0 +margin_right = 213.0 +margin_bottom = 44.0 +rect_min_size = Vector2( 0, 20 ) +size_flags_horizontal = 3 +size_flags_vertical = 1 text = "14" align = 1 +valign = 1 __meta__ = { "_edit_use_anchors_": false } -[node name="btn15" type="Label" parent="buttons"] -margin_left = 170.0 -margin_top = 330.0 -margin_right = 195.0 -margin_bottom = 344.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 +[node name="15" type="Label" parent="Buttons/ButtonGrid"] +margin_left = 217.0 +margin_top = 24.0 +margin_right = 244.0 +margin_bottom = 44.0 +rect_min_size = Vector2( 0, 20 ) +size_flags_horizontal = 3 +size_flags_vertical = 1 text = "15" align = 1 +valign = 1 __meta__ = { "_edit_use_anchors_": false } -[node name="vibration" type="Control" parent="."] -margin_right = 40.0 -margin_bottom = 40.0 +[node name="Vibration" type="VBoxContainer" parent="."] +anchor_top = 1.0 +anchor_bottom = 1.0 +margin_top = -140.0 +margin_right = 260.0 __meta__ = { "_edit_use_anchors_": false } -[node name="weak_label" type="Label" parent="vibration"] -margin_left = 10.0 -margin_top = 375.0 -margin_right = 152.0 -margin_bottom = 389.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 +[node name="Weak" type="HBoxContainer" parent="Vibration"] +margin_right = 260.0 +margin_bottom = 24.0 +rect_min_size = Vector2( 260, 0 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Label" type="Label" parent="Vibration/Weak"] +margin_right = 182.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 text = "Vibration Weak Motor:" +align = 1 +valign = 1 __meta__ = { "_edit_use_anchors_": false } -[node name="strong_label" type="Label" parent="vibration"] -margin_left = 10.0 -margin_top = 413.0 -margin_right = 157.0 -margin_bottom = 427.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 +[node name="Value" type="SpinBox" parent="Vibration/Weak"] +margin_left = 186.0 +margin_right = 260.0 +margin_bottom = 24.0 +size_flags_vertical = 3 +max_value = 1.0 +step = 0.05 +value = 1.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Strong" type="HBoxContainer" parent="Vibration"] +margin_top = 28.0 +margin_right = 260.0 +margin_bottom = 52.0 +rect_min_size = Vector2( 260, 0 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Label" type="Label" parent="Vibration/Strong"] +margin_right = 182.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 text = "Vibration Strong Motor:" +align = 1 +valign = 1 __meta__ = { "_edit_use_anchors_": false } -[node name="duration_label" type="Label" parent="vibration"] -margin_left = 10.0 -margin_top = 454.0 -margin_right = 157.0 -margin_bottom = 468.0 -size_flags_horizontal = 2 -size_flags_vertical = 0 +[node name="Value" type="SpinBox" parent="Vibration/Strong"] +margin_left = 186.0 +margin_right = 260.0 +margin_bottom = 24.0 +size_flags_vertical = 3 +max_value = 1.0 +step = 0.05 +value = 1.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Duration" type="HBoxContainer" parent="Vibration"] +margin_top = 56.0 +margin_right = 260.0 +margin_bottom = 80.0 +rect_min_size = Vector2( 260, 0 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Label" type="Label" parent="Vibration/Duration"] +margin_right = 182.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 text = "Vibration Duration:" +align = 1 +valign = 1 __meta__ = { "_edit_use_anchors_": false } -[node name="vibration_weak_value" type="SpinBox" parent="vibration"] -margin_left = 165.0 -margin_top = 370.0 -margin_right = 239.0 -margin_bottom = 394.0 -size_flags_horizontal = 2 -size_flags_vertical = 2 -max_value = 1.0 -step = 0.05 -value = 1.0 -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="vibration_strong_value" type="SpinBox" parent="vibration"] -margin_left = 165.0 -margin_top = 408.0 -margin_right = 239.0 -margin_bottom = 432.0 -size_flags_horizontal = 2 -size_flags_vertical = 2 -max_value = 1.0 -step = 0.05 -value = 1.0 -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="vibration_duration_value" type="SpinBox" parent="vibration"] -margin_left = 165.0 -margin_top = 449.0 -margin_right = 239.0 -margin_bottom = 473.0 -size_flags_horizontal = 2 -size_flags_vertical = 2 +[node name="Value" type="SpinBox" parent="Vibration/Duration"] +margin_left = 186.0 +margin_right = 260.0 +margin_bottom = 24.0 +size_flags_vertical = 3 max_value = 10.0 step = 0.1 value = 1.0 @@ -823,30 +931,53 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="start_vibration" type="Button" parent="vibration"] -margin_left = 290.0 -margin_top = 400.0 -margin_right = 392.0 -margin_bottom = 420.0 +[node name="HSeparator" type="HSeparator" parent="Vibration"] +modulate = Color( 1, 1, 1, 0 ) +margin_top = 84.0 +margin_right = 260.0 +margin_bottom = 94.0 +rect_min_size = Vector2( 0, 10 ) + +[node name="Buttons" type="HBoxContainer" parent="Vibration"] +margin_top = 98.0 +margin_right = 260.0 +margin_bottom = 128.0 +rect_min_size = Vector2( 260, 30 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Start" type="Button" parent="Vibration/Buttons"] +margin_right = 116.0 +margin_bottom = 30.0 focus_mode = 0 -size_flags_horizontal = 2 -size_flags_vertical = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 enabled_focus_mode = 0 text = "Start Vibration" __meta__ = { "_edit_use_anchors_": false } -[node name="stop_vibration" type="Button" parent="vibration"] -margin_left = 408.0 -margin_top = 400.0 -margin_right = 509.0 -margin_bottom = 420.0 -size_flags_horizontal = 2 -size_flags_vertical = 2 +[node name="VSeparator" type="VSeparator" parent="Vibration/Buttons"] +modulate = Color( 1, 1, 1, 0 ) +margin_left = 120.0 +margin_right = 140.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 20, 0 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Stop" type="Button" parent="Vibration/Buttons"] +margin_left = 144.0 +margin_right = 260.0 +margin_bottom = 30.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 text = "Stop Vibration" __meta__ = { "_edit_use_anchors_": false } -[connection signal="pressed" from="vibration/start_vibration" to="." method="_on_start_vibration_pressed"] -[connection signal="pressed" from="vibration/stop_vibration" to="." method="_on_stop_vibration_pressed"] +[connection signal="pressed" from="Vibration/Buttons/Start" to="." method="_on_start_vibration_pressed"] +[connection signal="pressed" from="Vibration/Buttons/Stop" to="." method="_on_stop_vibration_pressed"]