diff --git a/src/logic-scenes/startup/startup.tscn b/src/logic-scenes/startup/startup.tscn index a5e7f5d..15cf58f 100644 --- a/src/logic-scenes/startup/startup.tscn +++ b/src/logic-scenes/startup/startup.tscn @@ -22,13 +22,48 @@ TabContainer/styles/panel = SubResource("StyleBoxEmpty_67ngq") [sub_resource type="GDScript" id="GDScript_8885d"] script/source = "extends TabContainer +var focus_list: Array + +func _ready(): + for child in get_children(): + focus_list.append(_find_selectable_in(child)) + +func _find_selectable_in(parent:Control): + if parent.focus_mode != FOCUS_NONE: + return parent + if parent.get_child_count() == 0: + return self + else: + for child in parent.get_children(): + var ret = _find_selectable_in(child) + if not ret == self: + return ret + +func _unhandled_input(event): + + if event.is_action_type(): + if event.is_action_pressed(\"ui_left\"): previous() + elif event.is_action_pressed(\"ui_right\"): next() + func next(): - if current_tab < get_tab_count()-1: - current_tab += 1 - + if current_tab < get_tab_count()-1: + if !Input.is_action_just_released(\"mouse_left\"): + if not get_viewport().gui_get_focus_owner() == null: + focus_list[current_tab] = get_viewport().gui_get_focus_owner() + current_tab += 1 + focus_list[current_tab].grab_focus() + else: + current_tab += 1 + func previous(): - if current_tab > 0: - current_tab -= 1 + if current_tab > 0: + if !Input.is_mouse_button_pressed(MOUSE_BUTTON_LEFT): + if not get_viewport().gui_get_focus_owner() == null: + focus_list[current_tab] = get_viewport().gui_get_focus_owner() + current_tab -= 1 + focus_list[current_tab].grab_focus() + else: + current_tab -= 1 " [sub_resource type="GDScript" id="GDScript_v567h"] @@ -155,20 +190,20 @@ popup/item_1/id = 1 popup/item_2/text = "text and audio" popup/item_2/id = 2 -[node name="navbuttons" type="HSplitContainer" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility"] +[node name="navbuttons" type="VSplitContainer" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility"] layout_mode = 2 size_flags_horizontal = 4 size_flags_vertical = 10 +[node name="Next" type="Button" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/navbuttons"] +layout_mode = 2 +text = "okay" + [node name="previous" type="Button" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/navbuttons"] layout_mode = 2 disabled = true text = "go back" -[node name="Next" type="Button" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/navbuttons"] -layout_mode = 2 -text = "okay" - [node name="Audio Settings" type="VBoxContainer" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer"] visible = false layout_mode = 2 @@ -248,19 +283,19 @@ layout_mode = 2 [node name="Speech" type="HBoxContainer" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Audio Settings/VBoxContainer"] layout_mode = 2 -[node name="navbuttons" type="HSplitContainer" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Audio Settings"] +[node name="navbuttons" type="VSplitContainer" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Audio Settings"] layout_mode = 2 size_flags_horizontal = 4 size_flags_vertical = 10 -[node name="previous" type="Button" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Audio Settings/navbuttons"] -layout_mode = 2 -text = "go back" - [node name="Next" type="Button" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Audio Settings/navbuttons"] layout_mode = 2 text = "okay" +[node name="previous" type="Button" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Audio Settings/navbuttons"] +layout_mode = 2 +text = "go back" + [node name="Content Notes" type="VBoxContainer" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer"] visible = false custom_minimum_size = Vector2(512, 0) @@ -276,12 +311,13 @@ layout_mode = 2 text = "I would like to know more." [node name="ScrollContainer" type="ScrollContainer" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Content Notes"] -custom_minimum_size = Vector2(0, 512) +custom_minimum_size = Vector2(0, 400) layout_mode = 2 follow_focus = true horizontal_scroll_mode = 0 [node name="Content Notes" type="VBoxContainer" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Content Notes/ScrollContainer"] +visible = false layout_mode = 2 size_flags_horizontal = 3 @@ -368,7 +404,7 @@ layout_mode = 2 bbcode_enabled = true text = "[ul] You can always Pause using Escape or Spacebar -You can choose to skip scenes that may be difficult for you entirely or to get a neutral description. +You can always choose to just get a neutral summary of scenes or skip them entirely [/ul]" fit_content = true @@ -380,19 +416,19 @@ text = "show content notes relevant to the current context" layout_mode = 2 text = "prompt me with content notes before playing a scene" -[node name="navbuttons" type="HSplitContainer" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Content Notes"] +[node name="navbuttons" type="VSplitContainer" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Content Notes"] layout_mode = 2 size_flags_horizontal = 4 size_flags_vertical = 10 -[node name="previous" type="Button" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Content Notes/navbuttons"] -layout_mode = 2 -text = "go back" - [node name="Next" type="Button" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Content Notes/navbuttons"] layout_mode = 2 text = "okay" +[node name="previous" type="Button" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Content Notes/navbuttons"] +layout_mode = 2 +text = "go back" + [node name="Managing Expectations" type="VBoxContainer" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer"] visible = false layout_mode = 2 @@ -412,19 +448,19 @@ fit_content = true custom_minimum_size = Vector2(0, 25) layout_mode = 2 -[node name="navbuttons" type="HSplitContainer" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Managing Expectations"] +[node name="navbuttons" type="VSplitContainer" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Managing Expectations"] layout_mode = 2 size_flags_horizontal = 4 size_flags_vertical = 10 -[node name="previous" type="Button" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Managing Expectations/navbuttons"] -layout_mode = 2 -text = "go back" - [node name="Next" type="Button" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Managing Expectations/navbuttons"] layout_mode = 2 text = "okay" +[node name="previous" type="Button" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Managing Expectations/navbuttons"] +layout_mode = 2 +text = "go back" + [node name="StartBottom" type="TextureRect" parent="CenterContainer/PanelContainer/VBoxContainer"] custom_minimum_size = Vector2(0, 32) layout_mode = 2 @@ -464,13 +500,13 @@ grow_horizontal = 2 grow_vertical = 2 text = "I stream this game, please show content notes." -[connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/navbuttons/previous" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer" method="previous"] [connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/navbuttons/Next" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer" method="next"] -[connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Audio Settings/navbuttons/previous" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer" method="previous"] +[connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/navbuttons/previous" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer" method="previous"] [connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Audio Settings/navbuttons/Next" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer" method="next"] -[connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Content Notes/show content Notes" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Content Notes/show content Notes" method="hide"] +[connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Audio Settings/navbuttons/previous" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer" method="previous"] [connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Content Notes/show content Notes" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Content Notes/ScrollContainer/Content Notes" method="show"] -[connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Content Notes/navbuttons/previous" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer" method="previous"] +[connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Content Notes/show content Notes" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Content Notes/show content Notes" method="set_disabled" binds= [true]] [connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Content Notes/navbuttons/Next" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer" method="next"] -[connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Managing Expectations/navbuttons/previous" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer" method="previous"] +[connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Content Notes/navbuttons/previous" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer" method="previous"] [connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Managing Expectations/navbuttons/Next" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer" method="next"] +[connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Managing Expectations/navbuttons/previous" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer" method="previous"] diff --git a/src/project.godot b/src/project.godot index 4e540f6..bc31928 100644 --- a/src/project.godot +++ b/src/project.godot @@ -43,6 +43,27 @@ player_backwards={ "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"echo":false,"script":null) ] } +mouse_left={ +"deadzone": 0.5, +"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":1,"pressed":false,"double_click":false,"script":null) +] +} +look_right={ +"deadzone": 0.5, +"events": [] +} +look_left={ +"deadzone": 0.5, +"events": [] +} +look_up={ +"deadzone": 0.5, +"events": [] +} +look_down={ +"deadzone": 0.5, +"events": [] +} [rendering]