seperate ui controls from gameplay controls, scrolling controls screen
This commit is contained in:
parent
3c69e4d14d
commit
ab094fd6ce
8 changed files with 273 additions and 71 deletions
|
@ -2,14 +2,19 @@ extends Node
|
|||
|
||||
|
||||
const CFG_PATH := "user://controls.pr"
|
||||
const ACTIONS := ["move_left", "move_right", "move_up", "move_down", "jump", "shoot"]
|
||||
const ACTIONS := [
|
||||
"move_left", "move_right",
|
||||
"move_up", "move_down",
|
||||
"jump", "shoot",
|
||||
"ui_accept", "ui_cancel",
|
||||
]
|
||||
const LINKED_ACTIONS := {
|
||||
move_left = "ui_left",
|
||||
move_right = "ui_right",
|
||||
move_up = "ui_up",
|
||||
move_down = "ui_down",
|
||||
jump = "ui_accept",
|
||||
shoot = "ui_cancel",
|
||||
# jump = "ui_accept",
|
||||
# shoot = "ui_cancel",
|
||||
}
|
||||
|
||||
|
||||
|
@ -47,6 +52,14 @@ func set_button(action: String, button_index: int) -> void:
|
|||
_save_bindings()
|
||||
|
||||
|
||||
func default_controls() -> void:
|
||||
for action in ACTIONS:
|
||||
set_key(action, _get_default_key(action))
|
||||
set_button(action, _get_default_button(action))
|
||||
for button in get_tree().get_nodes_in_group("controls_buttons"):
|
||||
button._update_text()
|
||||
|
||||
|
||||
func _save_bindings() -> void:
|
||||
cfg.save(CFG_PATH)
|
||||
|
||||
|
|
|
@ -118,3 +118,7 @@ func _on_SoundVol_value_changed(value: float) -> void:
|
|||
|
||||
func _on_LandingSound_selected(selection) -> void:
|
||||
Options.landing_sound = selection == 1
|
||||
|
||||
|
||||
func _on_DefaultControls_button_down() -> void:
|
||||
Controls.default_controls()
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=12 format=2]
|
||||
[gd_scene load_steps=16 format=2]
|
||||
|
||||
[ext_resource path="res://objects/hud/options_screen_scholar.gd" type="Script" id=1]
|
||||
[ext_resource path="res://ui/theme.tres" type="Theme" id=2]
|
||||
|
@ -9,6 +9,8 @@
|
|||
[ext_resource path="res://objects/hud/labeled_slider.gd" type="Script" id=7]
|
||||
[ext_resource path="res://objects/hud/set_keyboard_button.gd" type="Script" id=8]
|
||||
[ext_resource path="res://objects/hud/set_gamepad_button.gd" type="Script" id=9]
|
||||
[ext_resource path="res://objects/hud/scroll_follow_focus.gd" type="Script" id=10]
|
||||
[ext_resource path="res://graphics/hud/levelselect_nexlevel.png" type="Texture" id=11]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id=1]
|
||||
shader = ExtResource( 4 )
|
||||
|
@ -24,6 +26,14 @@ shader_param/ammount = Vector2( 2, 0 )
|
|||
shader_param/offset = Vector2( 0, 0 )
|
||||
shader_param/delay = Vector2( 4, 0 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=3]
|
||||
atlas = ExtResource( 11 )
|
||||
region = Rect2( 0, 0, 8, 8 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=4]
|
||||
atlas = ExtResource( 11 )
|
||||
region = Rect2( 8, 0, 8, 8 )
|
||||
|
||||
[node name="OptionsScreen" type="Control"]
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
|
@ -49,13 +59,13 @@ margin_bottom = 157.0
|
|||
custom_constants/margin_right = 8
|
||||
custom_constants/margin_top = 4
|
||||
custom_constants/margin_left = 8
|
||||
custom_constants/margin_bottom = 4
|
||||
custom_constants/margin_bottom = 2
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="CenterContainer/PanelContainer/MarginContainer"]
|
||||
margin_left = 8.0
|
||||
margin_top = 4.0
|
||||
margin_right = 226.0
|
||||
margin_bottom = 150.0
|
||||
margin_bottom = 152.0
|
||||
|
||||
[node name="Label" type="Label" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer"]
|
||||
margin_right = 218.0
|
||||
|
@ -83,8 +93,10 @@ margin_bottom = 32.0
|
|||
unique_name_in_owner = true
|
||||
margin_top = 36.0
|
||||
margin_right = 218.0
|
||||
margin_bottom = 146.0
|
||||
margin_bottom = 148.0
|
||||
focus_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
tabs_visible = false
|
||||
|
||||
[node name="Game" type="VBoxContainer" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs"]
|
||||
|
@ -449,19 +461,27 @@ options = [ "off", "on" ]
|
|||
[node name="Input" type="VBoxContainer" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs"]
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
focus_next = NodePath("Left/Keyboard")
|
||||
focus_next = NodePath("ScrollContainer/ControlsVBox/Left/Keyboard")
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="Header" type="HBoxContainer" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input"]
|
||||
margin_right = 218.0
|
||||
margin_bottom = 12.0
|
||||
rect_min_size = Vector2( 0, 12 )
|
||||
|
||||
[node name="Spacer" type="Label" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/Header"]
|
||||
margin_top = 1.0
|
||||
[node name="Spacer" type="CenterContainer" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/Header"]
|
||||
margin_right = 92.0
|
||||
margin_bottom = 11.0
|
||||
margin_bottom = 12.0
|
||||
rect_min_size = Vector2( 92, 0 )
|
||||
align = 1
|
||||
|
||||
[node name="UpArrow" type="TextureRect" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/Header/Spacer"]
|
||||
unique_name_in_owner = true
|
||||
margin_left = 42.0
|
||||
margin_top = 2.0
|
||||
margin_right = 50.0
|
||||
margin_bottom = 10.0
|
||||
texture = SubResource( 3 )
|
||||
|
||||
[node name="Keyboard" type="Label" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/Header"]
|
||||
margin_left = 96.0
|
||||
|
@ -481,29 +501,44 @@ size_flags_horizontal = 3
|
|||
text = "Gamepad"
|
||||
align = 1
|
||||
|
||||
[node name="Left" type="HBoxContainer" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input"]
|
||||
[node name="ScrollContainer" type="ScrollContainer" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input"]
|
||||
margin_top = 16.0
|
||||
margin_right = 218.0
|
||||
margin_bottom = 26.0
|
||||
margin_bottom = 98.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
script = ExtResource( 10 )
|
||||
|
||||
[node name="Label" type="Label" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/Left"]
|
||||
[node name="ControlsVBox" type="VBoxContainer" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer"]
|
||||
unique_name_in_owner = true
|
||||
margin_right = 218.0
|
||||
margin_bottom = 122.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="Left" type="HBoxContainer" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer/ControlsVBox"]
|
||||
margin_right = 218.0
|
||||
margin_bottom = 10.0
|
||||
|
||||
[node name="Label" type="Label" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer/ControlsVBox/Left"]
|
||||
margin_right = 92.0
|
||||
margin_bottom = 10.0
|
||||
rect_min_size = Vector2( 92, 0 )
|
||||
text = "left"
|
||||
align = 1
|
||||
|
||||
[node name="Keyboard" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/Left"]
|
||||
[node name="Keyboard" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer/ControlsVBox/Left"]
|
||||
margin_left = 96.0
|
||||
margin_right = 155.0
|
||||
margin_bottom = 10.0
|
||||
focus_neighbour_left = NodePath("../..")
|
||||
size_flags_horizontal = 3
|
||||
text = "-"
|
||||
script = ExtResource( 8 )
|
||||
action = "move_left"
|
||||
options_screen = NodePath("../../../../../../../..")
|
||||
options_screen = NodePath("../../../../../../../../../..")
|
||||
|
||||
[node name="Gamepad" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/Left"]
|
||||
[node name="Gamepad" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer/ControlsVBox/Left"]
|
||||
margin_left = 159.0
|
||||
margin_right = 218.0
|
||||
margin_bottom = 10.0
|
||||
|
@ -512,31 +547,32 @@ text = "-"
|
|||
icon_align = 1
|
||||
script = ExtResource( 9 )
|
||||
action = "move_left"
|
||||
options_screen = NodePath("../../../../../../../..")
|
||||
options_screen = NodePath("../../../../../../../../../..")
|
||||
|
||||
[node name="Right" type="HBoxContainer" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input"]
|
||||
margin_top = 30.0
|
||||
[node name="Right" type="HBoxContainer" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer/ControlsVBox"]
|
||||
margin_top = 14.0
|
||||
margin_right = 218.0
|
||||
margin_bottom = 40.0
|
||||
margin_bottom = 24.0
|
||||
|
||||
[node name="Label" type="Label" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/Right"]
|
||||
[node name="Label" type="Label" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer/ControlsVBox/Right"]
|
||||
margin_right = 92.0
|
||||
margin_bottom = 10.0
|
||||
rect_min_size = Vector2( 92, 0 )
|
||||
text = "right"
|
||||
align = 1
|
||||
|
||||
[node name="Keyboard" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/Right"]
|
||||
[node name="Keyboard" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer/ControlsVBox/Right"]
|
||||
margin_left = 96.0
|
||||
margin_right = 155.0
|
||||
margin_bottom = 10.0
|
||||
focus_neighbour_left = NodePath("../..")
|
||||
size_flags_horizontal = 3
|
||||
text = "-"
|
||||
script = ExtResource( 8 )
|
||||
action = "move_right"
|
||||
options_screen = NodePath("../../../../../../../..")
|
||||
options_screen = NodePath("../../../../../../../../../..")
|
||||
|
||||
[node name="Gamepad" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/Right"]
|
||||
[node name="Gamepad" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer/ControlsVBox/Right"]
|
||||
margin_left = 159.0
|
||||
margin_right = 218.0
|
||||
margin_bottom = 10.0
|
||||
|
@ -544,31 +580,32 @@ size_flags_horizontal = 3
|
|||
text = "-"
|
||||
script = ExtResource( 9 )
|
||||
action = "move_right"
|
||||
options_screen = NodePath("../../../../../../../..")
|
||||
options_screen = NodePath("../../../../../../../../../..")
|
||||
|
||||
[node name="Up" type="HBoxContainer" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input"]
|
||||
margin_top = 44.0
|
||||
[node name="Up" type="HBoxContainer" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer/ControlsVBox"]
|
||||
margin_top = 28.0
|
||||
margin_right = 218.0
|
||||
margin_bottom = 54.0
|
||||
margin_bottom = 38.0
|
||||
|
||||
[node name="Label" type="Label" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/Up"]
|
||||
[node name="Label" type="Label" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer/ControlsVBox/Up"]
|
||||
margin_right = 92.0
|
||||
margin_bottom = 10.0
|
||||
rect_min_size = Vector2( 92, 0 )
|
||||
text = "up"
|
||||
align = 1
|
||||
|
||||
[node name="Keyboard" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/Up"]
|
||||
[node name="Keyboard" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer/ControlsVBox/Up"]
|
||||
margin_left = 96.0
|
||||
margin_right = 155.0
|
||||
margin_bottom = 10.0
|
||||
focus_neighbour_left = NodePath("../..")
|
||||
size_flags_horizontal = 3
|
||||
text = "-"
|
||||
script = ExtResource( 8 )
|
||||
action = "move_up"
|
||||
options_screen = NodePath("../../../../../../../..")
|
||||
options_screen = NodePath("../../../../../../../../../..")
|
||||
|
||||
[node name="Gamepad" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/Up"]
|
||||
[node name="Gamepad" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer/ControlsVBox/Up"]
|
||||
margin_left = 159.0
|
||||
margin_right = 218.0
|
||||
margin_bottom = 10.0
|
||||
|
@ -576,31 +613,32 @@ size_flags_horizontal = 3
|
|||
text = "-"
|
||||
script = ExtResource( 9 )
|
||||
action = "move_up"
|
||||
options_screen = NodePath("../../../../../../../..")
|
||||
options_screen = NodePath("../../../../../../../../../..")
|
||||
|
||||
[node name="Down" type="HBoxContainer" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input"]
|
||||
margin_top = 58.0
|
||||
[node name="Down" type="HBoxContainer" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer/ControlsVBox"]
|
||||
margin_top = 42.0
|
||||
margin_right = 218.0
|
||||
margin_bottom = 68.0
|
||||
margin_bottom = 52.0
|
||||
|
||||
[node name="Label" type="Label" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/Down"]
|
||||
[node name="Label" type="Label" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer/ControlsVBox/Down"]
|
||||
margin_right = 92.0
|
||||
margin_bottom = 10.0
|
||||
rect_min_size = Vector2( 92, 0 )
|
||||
text = "down"
|
||||
align = 1
|
||||
|
||||
[node name="Keyboard" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/Down"]
|
||||
[node name="Keyboard" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer/ControlsVBox/Down"]
|
||||
margin_left = 96.0
|
||||
margin_right = 155.0
|
||||
margin_bottom = 10.0
|
||||
focus_neighbour_left = NodePath("../..")
|
||||
size_flags_horizontal = 3
|
||||
text = "-"
|
||||
script = ExtResource( 8 )
|
||||
action = "move_down"
|
||||
options_screen = NodePath("../../../../../../../..")
|
||||
options_screen = NodePath("../../../../../../../../../..")
|
||||
|
||||
[node name="Gamepad" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/Down"]
|
||||
[node name="Gamepad" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer/ControlsVBox/Down"]
|
||||
margin_left = 159.0
|
||||
margin_right = 218.0
|
||||
margin_bottom = 10.0
|
||||
|
@ -608,31 +646,98 @@ size_flags_horizontal = 3
|
|||
text = "-"
|
||||
script = ExtResource( 9 )
|
||||
action = "move_down"
|
||||
options_screen = NodePath("../../../../../../../..")
|
||||
options_screen = NodePath("../../../../../../../../../..")
|
||||
|
||||
[node name="Jump" type="HBoxContainer" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input"]
|
||||
margin_top = 72.0
|
||||
[node name="Confirm" type="HBoxContainer" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer/ControlsVBox"]
|
||||
margin_top = 56.0
|
||||
margin_right = 218.0
|
||||
margin_bottom = 82.0
|
||||
margin_bottom = 66.0
|
||||
|
||||
[node name="Label" type="Label" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/Jump"]
|
||||
[node name="Label" type="Label" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer/ControlsVBox/Confirm"]
|
||||
margin_right = 92.0
|
||||
margin_bottom = 10.0
|
||||
rect_min_size = Vector2( 92, 0 )
|
||||
text = "jump/confirm"
|
||||
text = "confirm"
|
||||
align = 1
|
||||
|
||||
[node name="Keyboard" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/Jump"]
|
||||
[node name="Keyboard" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer/ControlsVBox/Confirm"]
|
||||
margin_left = 96.0
|
||||
margin_right = 155.0
|
||||
margin_bottom = 10.0
|
||||
focus_neighbour_left = NodePath("../..")
|
||||
size_flags_horizontal = 3
|
||||
text = "-"
|
||||
script = ExtResource( 8 )
|
||||
action = "ui_accept"
|
||||
options_screen = NodePath("../../../../../../../../../..")
|
||||
|
||||
[node name="Gamepad" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer/ControlsVBox/Confirm"]
|
||||
margin_left = 159.0
|
||||
margin_right = 218.0
|
||||
margin_bottom = 10.0
|
||||
size_flags_horizontal = 3
|
||||
text = "-"
|
||||
script = ExtResource( 9 )
|
||||
action = "ui_accept"
|
||||
options_screen = NodePath("../../../../../../../../../..")
|
||||
|
||||
[node name="Back" type="HBoxContainer" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer/ControlsVBox"]
|
||||
margin_top = 70.0
|
||||
margin_right = 218.0
|
||||
margin_bottom = 80.0
|
||||
|
||||
[node name="Label" type="Label" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer/ControlsVBox/Back"]
|
||||
margin_right = 92.0
|
||||
margin_bottom = 10.0
|
||||
rect_min_size = Vector2( 92, 0 )
|
||||
text = "back"
|
||||
align = 1
|
||||
|
||||
[node name="Keyboard" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer/ControlsVBox/Back"]
|
||||
margin_left = 96.0
|
||||
margin_right = 155.0
|
||||
margin_bottom = 10.0
|
||||
focus_neighbour_left = NodePath("../..")
|
||||
size_flags_horizontal = 3
|
||||
text = "-"
|
||||
script = ExtResource( 8 )
|
||||
action = "ui_cancel"
|
||||
options_screen = NodePath("../../../../../../../../../..")
|
||||
|
||||
[node name="Gamepad" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer/ControlsVBox/Back"]
|
||||
margin_left = 159.0
|
||||
margin_right = 218.0
|
||||
margin_bottom = 10.0
|
||||
size_flags_horizontal = 3
|
||||
text = "-"
|
||||
script = ExtResource( 9 )
|
||||
action = "ui_cancel"
|
||||
options_screen = NodePath("../../../../../../../../../..")
|
||||
|
||||
[node name="Jump" type="HBoxContainer" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer/ControlsVBox"]
|
||||
margin_top = 84.0
|
||||
margin_right = 218.0
|
||||
margin_bottom = 94.0
|
||||
|
||||
[node name="Label" type="Label" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer/ControlsVBox/Jump"]
|
||||
margin_right = 92.0
|
||||
margin_bottom = 10.0
|
||||
rect_min_size = Vector2( 92, 0 )
|
||||
text = "jump"
|
||||
align = 1
|
||||
|
||||
[node name="Keyboard" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer/ControlsVBox/Jump"]
|
||||
margin_left = 96.0
|
||||
margin_right = 155.0
|
||||
margin_bottom = 10.0
|
||||
focus_neighbour_left = NodePath("../..")
|
||||
size_flags_horizontal = 3
|
||||
text = "-"
|
||||
script = ExtResource( 8 )
|
||||
action = "jump"
|
||||
options_screen = NodePath("../../../../../../../..")
|
||||
options_screen = NodePath("../../../../../../../../../..")
|
||||
|
||||
[node name="Gamepad" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/Jump"]
|
||||
[node name="Gamepad" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer/ControlsVBox/Jump"]
|
||||
margin_left = 159.0
|
||||
margin_right = 218.0
|
||||
margin_bottom = 10.0
|
||||
|
@ -640,31 +745,32 @@ size_flags_horizontal = 3
|
|||
text = "-"
|
||||
script = ExtResource( 9 )
|
||||
action = "jump"
|
||||
options_screen = NodePath("../../../../../../../..")
|
||||
options_screen = NodePath("../../../../../../../../../..")
|
||||
|
||||
[node name="Attack" type="HBoxContainer" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input"]
|
||||
margin_top = 86.0
|
||||
[node name="Attack" type="HBoxContainer" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer/ControlsVBox"]
|
||||
margin_top = 98.0
|
||||
margin_right = 218.0
|
||||
margin_bottom = 96.0
|
||||
margin_bottom = 108.0
|
||||
|
||||
[node name="Label" type="Label" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/Attack"]
|
||||
[node name="Label" type="Label" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer/ControlsVBox/Attack"]
|
||||
margin_right = 92.0
|
||||
margin_bottom = 10.0
|
||||
rect_min_size = Vector2( 92, 0 )
|
||||
text = "attack/back"
|
||||
text = "attack"
|
||||
align = 1
|
||||
|
||||
[node name="Keyboard" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/Attack"]
|
||||
[node name="Keyboard" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer/ControlsVBox/Attack"]
|
||||
margin_left = 96.0
|
||||
margin_right = 155.0
|
||||
margin_bottom = 10.0
|
||||
focus_neighbour_left = NodePath("../..")
|
||||
size_flags_horizontal = 3
|
||||
text = "-"
|
||||
script = ExtResource( 8 )
|
||||
action = "shoot"
|
||||
options_screen = NodePath("../../../../../../../..")
|
||||
options_screen = NodePath("../../../../../../../../../..")
|
||||
|
||||
[node name="Gamepad" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/Attack"]
|
||||
[node name="Gamepad" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer/ControlsVBox/Attack"]
|
||||
margin_left = 159.0
|
||||
margin_right = 218.0
|
||||
margin_bottom = 10.0
|
||||
|
@ -672,16 +778,50 @@ size_flags_horizontal = 3
|
|||
text = "-"
|
||||
script = ExtResource( 9 )
|
||||
action = "shoot"
|
||||
options_screen = NodePath("../../../../../../../..")
|
||||
options_screen = NodePath("../../../../../../../../../..")
|
||||
|
||||
[node name="DefaultControls" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input"]
|
||||
[node name="DefaultControls" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer/ControlsVBox"]
|
||||
margin_left = 81.0
|
||||
margin_top = 100.0
|
||||
margin_top = 112.0
|
||||
margin_right = 137.0
|
||||
margin_bottom = 110.0
|
||||
margin_bottom = 122.0
|
||||
focus_neighbour_left = NodePath("..")
|
||||
focus_neighbour_right = NodePath("..")
|
||||
size_flags_horizontal = 4
|
||||
text = "defaults"
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input"]
|
||||
margin_top = 102.0
|
||||
margin_right = 218.0
|
||||
margin_bottom = 112.0
|
||||
|
||||
[node name="Spacer" type="CenterContainer" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/HBoxContainer"]
|
||||
margin_right = 92.0
|
||||
margin_bottom = 10.0
|
||||
rect_min_size = Vector2( 92, 0 )
|
||||
|
||||
[node name="DownArrow" type="TextureRect" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/HBoxContainer/Spacer"]
|
||||
unique_name_in_owner = true
|
||||
margin_left = 42.0
|
||||
margin_top = 1.0
|
||||
margin_right = 50.0
|
||||
margin_bottom = 9.0
|
||||
texture = SubResource( 4 )
|
||||
|
||||
[node name="Keyboard" type="Label" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/HBoxContainer"]
|
||||
margin_left = 96.0
|
||||
margin_right = 155.0
|
||||
margin_bottom = 10.0
|
||||
size_flags_horizontal = 3
|
||||
align = 1
|
||||
|
||||
[node name="Gamepad" type="Label" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/HBoxContainer"]
|
||||
margin_left = 159.0
|
||||
margin_right = 218.0
|
||||
margin_bottom = 10.0
|
||||
size_flags_horizontal = 3
|
||||
align = 1
|
||||
|
||||
[connection signal="selected" from="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/SelectTab" to="." method="_on_tab_selected"]
|
||||
[connection signal="selected" from="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Game/Rumble/SelectRumble" to="." method="_on_Rumble_selected"]
|
||||
[connection signal="selected" from="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Game/Gore/SelectGore" to="." method="_on_Gore_selected"]
|
||||
|
@ -697,3 +837,4 @@ text = "defaults"
|
|||
[connection signal="value_changed" from="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Audio/Music/SelectMusicVol" to="." method="_on_MusicVol_value_changed"]
|
||||
[connection signal="value_changed" from="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Audio/Sound/SelectSoundVol" to="." method="_on_SoundVol_value_changed"]
|
||||
[connection signal="selected" from="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Audio/LandingSound/SelectLandingSound" to="." method="_on_LandingSound_selected"]
|
||||
[connection signal="button_down" from="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Tabs/Input/ScrollContainer/ControlsVBox/DefaultControls" to="." method="_on_DefaultControls_button_down"]
|
||||
|
|
39
objects/hud/scroll_follow_focus.gd
Normal file
39
objects/hud/scroll_follow_focus.gd
Normal file
|
@ -0,0 +1,39 @@
|
|||
extends ScrollContainer
|
||||
|
||||
|
||||
onready var up_arrow: TextureRect = $"%UpArrow"
|
||||
onready var down_arrow: TextureRect = $"%DownArrow"
|
||||
onready var controls_v_box: VBoxContainer = $"%ControlsVBox"
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
yield(get_tree(), "idle_frame")
|
||||
get_viewport().connect("gui_focus_changed", self, "_on_focus_changed")
|
||||
connect("visibility_changed", self, "_on_visibility_changed")
|
||||
|
||||
|
||||
func _exit_tree() -> void:
|
||||
get_viewport().disconnect("gui_focus_changed", self, "_on_focus_changed")
|
||||
|
||||
|
||||
func _on_focus_changed(focused: Control) -> void:
|
||||
if is_a_parent_of(focused):
|
||||
var foc_rect := focused.get_global_rect()
|
||||
if not get_global_rect().encloses(foc_rect):
|
||||
var direction := sign(foc_rect.position.y - get_global_rect().position.y)
|
||||
scroll_vertical += direction * 14.0
|
||||
|
||||
if scroll_vertical < 1.0:
|
||||
up_arrow.visible = false
|
||||
else:
|
||||
up_arrow.visible = true
|
||||
|
||||
if scroll_vertical > 35.0:
|
||||
down_arrow.visible = false
|
||||
else:
|
||||
down_arrow.visible = true
|
||||
|
||||
|
||||
func _on_visibility_changed() -> void:
|
||||
scroll_vertical = 0.0
|
||||
up_arrow.visible = false
|
|
@ -15,6 +15,7 @@ var gamepad_buttons := GAMEPAD_BUTTONS.duplicate()
|
|||
func _init() -> void:
|
||||
icon_align = Button.ALIGN_CENTER
|
||||
connect("pressed", self, "_on_pressed")
|
||||
add_to_group("controls_buttons")
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
|
|
|
@ -13,6 +13,7 @@ var listen := false
|
|||
|
||||
func _init() -> void:
|
||||
connect("pressed", self, "_on_pressed")
|
||||
add_to_group("controls_buttons")
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
|
|
|
@ -171,7 +171,7 @@ ogg_vorbis={
|
|||
ui_accept={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":0,"pressure":0.0,"pressed":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":88,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":90,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777221,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
|
@ -181,10 +181,10 @@ ui_select={
|
|||
}
|
||||
ui_cancel={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777217,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":1,"pressure":0.0,"pressed":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":90,"unicode":0,"echo":false,"script":null)
|
||||
"events": [ Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":1,"pressure":0.0,"pressed":false,"script":null)
|
||||
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":2,"pressure":0.0,"pressed":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":88,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777217,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
ui_focus_next={
|
||||
|
@ -249,7 +249,7 @@ ui_end={
|
|||
jump={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":0,"pressure":0.0,"pressed":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":88,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":90,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
debug_restart={
|
||||
|
@ -276,7 +276,7 @@ debug_move_player={
|
|||
shoot={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":2,"pressure":0.0,"pressed":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":90,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":88,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
fullscreen={
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[gd_resource type="Theme" load_steps=16 format=2]
|
||||
[gd_resource type="Theme" load_steps=17 format=2]
|
||||
|
||||
[ext_resource path="res://ui/2ndpuberty_scholar.fnt" type="BitmapFont" id=1]
|
||||
[ext_resource path="res://graphics/hud/hslider_slider.png" type="Texture" id=2]
|
||||
|
@ -42,6 +42,8 @@ margin_bottom = 3.0
|
|||
content_margin_left = 4.0
|
||||
content_margin_right = 4.0
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id=18]
|
||||
|
||||
[resource]
|
||||
default_font = ExtResource( 1 )
|
||||
Button/colors/font_color = Color( 0.690196, 0.690196, 0.690196, 1 )
|
||||
|
@ -63,3 +65,4 @@ TabContainer/styles/panel = SubResource( 16 )
|
|||
TabContainer/styles/tab_bg = SubResource( 2 )
|
||||
TabContainer/styles/tab_disabled = SubResource( 2 )
|
||||
TabContainer/styles/tab_fg = SubResource( 2 )
|
||||
VScrollBar/styles/scroll = SubResource( 18 )
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue