diff --git a/menu/menu.gd b/menu/menu.gd index 04a9d8f..d89bd97 100644 --- a/menu/menu.gd +++ b/menu/menu.gd @@ -1,14 +1,25 @@ extends Control +enum Page{ + Menu, + Credits +} +var menu_page : Page = Page.Menu +@export var menu_container : Control +@export var credits_container : Control +@export var exit_button : Button # Called when the node enters the scene tree for the first time. func _ready() -> void: pass # Replace with function body. + if OS.get_name() == "Web": + exit_button.hide() # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta: float) -> void: - pass + menu_container.visible = menu_page == Page.Menu + credits_container.visible = menu_page == Page.Credits func _on_intro_button_pressed() -> void: @@ -19,3 +30,15 @@ func _on_intro_button_pressed() -> void: func _on_skip_button_pressed() -> void: GameManager.are_we_skipping_intro = true get_tree().change_scene_to_file("res://game_scene.tscn") + + +func _on_credits_meta_clicked(meta: Variant) -> void: + OS.shell_open(str(meta)) + + +func _on_credits_button_pressed() -> void: + menu_page = Page.Credits + + +func _on_back_button_pressed() -> void: + menu_page = Page.Menu diff --git a/menu/menu.tscn b/menu/menu.tscn index fb4125f..b3a393a 100644 --- a/menu/menu.tscn +++ b/menu/menu.tscn @@ -16,7 +16,7 @@ fill_from = Vector2(0.825082, 0.657132) fill_to = Vector2(0.610561, 0.569124) repeat = 2 -[node name="Menu" type="Control"] +[node name="Menu" type="Control" node_paths=PackedStringArray("menu_container", "credits_container", "exit_button")] layout_mode = 3 anchors_preset = 15 anchor_right = 1.0 @@ -24,6 +24,9 @@ anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 script = ExtResource("1_j0t7f") +menu_container = NodePath("MenuContainer") +credits_container = NodePath("CreditsContainer") +exit_button = NodePath("MenuContainer/PanelContainer/MarginContainer/VBoxContainer/ExitButton") [node name="TextureRect" type="TextureRect" parent="."] layout_mode = 0 @@ -31,7 +34,8 @@ offset_right = 40.0 offset_bottom = 40.0 texture = SubResource("GradientTexture2D_j0t7f") -[node name="CenterContainer" type="CenterContainer" parent="."] +[node name="MenuContainer" type="CenterContainer" parent="."] +visible = false layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 @@ -39,20 +43,20 @@ anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 -[node name="PanelContainer" type="PanelContainer" parent="CenterContainer"] +[node name="PanelContainer" type="PanelContainer" parent="MenuContainer"] layout_mode = 2 -[node name="MarginContainer" type="MarginContainer" parent="CenterContainer/PanelContainer"] +[node name="MarginContainer" type="MarginContainer" parent="MenuContainer/PanelContainer"] layout_mode = 2 theme_override_constants/margin_left = 10 theme_override_constants/margin_top = 10 theme_override_constants/margin_right = 10 theme_override_constants/margin_bottom = 10 -[node name="VBoxContainer" type="VBoxContainer" parent="CenterContainer/PanelContainer/MarginContainer"] +[node name="VBoxContainer" type="VBoxContainer" parent="MenuContainer/PanelContainer/MarginContainer"] layout_mode = 2 -[node name="RichTextLabel" type="RichTextLabel" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer"] +[node name="RichTextLabel" type="RichTextLabel" parent="MenuContainer/PanelContainer/MarginContainer/VBoxContainer"] layout_mode = 2 theme_override_font_sizes/normal_font_size = 31 bbcode_enabled = true @@ -60,7 +64,7 @@ text = "[wave]Alternate (Name Pending)" fit_content = true autowrap_mode = 0 -[node name="RichTextLabel2" type="RichTextLabel" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer"] +[node name="RichTextLabel2" type="RichTextLabel" parent="MenuContainer/PanelContainer/MarginContainer/VBoxContainer"] layout_mode = 2 bbcode_enabled = true text = "by Tabby :3" @@ -68,25 +72,69 @@ fit_content = true autowrap_mode = 0 horizontal_alignment = 1 -[node name="IntroButton" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer"] +[node name="IntroButton" type="Button" parent="MenuContainer/PanelContainer/MarginContainer/VBoxContainer"] modulate = Color(1, 0.403922, 1, 1) layout_mode = 2 text = "Play Intro" -[node name="SkipButton" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer"] +[node name="SkipButton" type="Button" parent="MenuContainer/PanelContainer/MarginContainer/VBoxContainer"] modulate = Color(1, 0.403922, 1, 1) layout_mode = 2 text = "Skip Intro" -[node name="CreditsButton" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer"] +[node name="CreditsButton" type="Button" parent="MenuContainer/PanelContainer/MarginContainer/VBoxContainer"] modulate = Color(0.388235, 1, 1, 1) layout_mode = 2 text = "Credits" -[node name="ExitButton" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer"] +[node name="ExitButton" type="Button" parent="MenuContainer/PanelContainer/MarginContainer/VBoxContainer"] modulate = Color(1, 0.346577, 0.280009, 1) layout_mode = 2 text = "Exit Game" -[connection signal="pressed" from="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/IntroButton" to="." method="_on_intro_button_pressed"] -[connection signal="pressed" from="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/SkipButton" to="." method="_on_skip_button_pressed"] +[node name="CreditsContainer" type="CenterContainer" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="PanelContainer" type="PanelContainer" parent="CreditsContainer"] +custom_minimum_size = Vector2(400, 0) +layout_mode = 2 + +[node name="MarginContainer" type="MarginContainer" parent="CreditsContainer/PanelContainer"] +layout_mode = 2 +theme_override_constants/margin_left = 10 +theme_override_constants/margin_top = 10 +theme_override_constants/margin_right = 10 +theme_override_constants/margin_bottom = 10 + +[node name="VBoxContainer" type="VBoxContainer" parent="CreditsContainer/PanelContainer/MarginContainer"] +layout_mode = 2 + +[node name="RichTextLabel" type="RichTextLabel" parent="CreditsContainer/PanelContainer/MarginContainer/VBoxContainer"] +layout_mode = 2 +theme_override_font_sizes/normal_font_size = 31 +bbcode_enabled = true +text = "[wave]Credits" +fit_content = true +autowrap_mode = 0 +horizontal_alignment = 1 + +[node name="Credits" type="RichTextLabel" parent="CreditsContainer/PanelContainer/MarginContainer/VBoxContainer"] +layout_mode = 2 +bbcode_enabled = true +text = "[ul] " +fit_content = true + +[node name="BackButton" type="Button" parent="CreditsContainer/PanelContainer/MarginContainer/VBoxContainer"] +layout_mode = 2 +text = "Go Back" + +[connection signal="pressed" from="MenuContainer/PanelContainer/MarginContainer/VBoxContainer/IntroButton" to="." method="_on_intro_button_pressed"] +[connection signal="pressed" from="MenuContainer/PanelContainer/MarginContainer/VBoxContainer/SkipButton" to="." method="_on_skip_button_pressed"] +[connection signal="pressed" from="MenuContainer/PanelContainer/MarginContainer/VBoxContainer/CreditsButton" to="." method="_on_credits_button_pressed"] +[connection signal="meta_clicked" from="CreditsContainer/PanelContainer/MarginContainer/VBoxContainer/Credits" to="." method="_on_credits_meta_clicked"] +[connection signal="pressed" from="CreditsContainer/PanelContainer/MarginContainer/VBoxContainer/BackButton" to="." method="_on_back_button_pressed"]