added license information screeen and resources

This commit is contained in:
Luca 2024-10-13 12:09:31 +02:00
parent 21d7cf417a
commit d437b4809f
23 changed files with 525 additions and 159 deletions

View file

@ -5,10 +5,16 @@ signal on_game_continued
@onready var continue_game_button: Button = %ContinueGameButton
@onready var new_game_button: Button = %NewGameButton
@onready var license_container: VBoxContainer = %LicenseContainer
const LICENSE_FOLDER: String = "res://resources/asset_info/"
@onready var license_entry: PackedScene = preload("res://ui/license_list/license_entry.tscn")
# On ready, check which buttons to show
func _ready() -> void:
SoundManager.play_background_music("Unexplored Fields")
list_licenses()
if SaveManager.save_exists():
continue_game_button.visible = true
@ -35,7 +41,23 @@ func _on_options_button_pressed() -> void:
print("TODO")
func _on_licenses_button_pressed() -> void:
print("TODO")
%LicensesScreen.visible = true
func _on_exit_button_pressed() -> void:
get_tree().quit()
func list_licenses() -> void:
var dir: DirAccess = DirAccess.open(LICENSE_FOLDER)
for file: String in dir.get_files():
add_license(file)
func add_license(license_path: String) -> void:
var asset_info: AssetInfo = load(LICENSE_FOLDER + license_path)
var new_license_entry: Node = license_entry.instantiate()
license_container.add_child(new_license_entry)
new_license_entry.populate(asset_info)
func _on_licenses_close_button_pressed() -> void:
%LicensesScreen.visible = false
pass # Replace with function body.

View file

@ -1,9 +1,8 @@
[gd_scene load_steps=5 format=3 uid="uid://dt00rjsodtady"]
[gd_scene load_steps=4 format=3 uid="uid://dt00rjsodtady"]
[ext_resource type="Texture2D" uid="uid://b6ylra30qxf30" path="res://assets/logo/logo.png" id="1_1fmce"]
[ext_resource type="Script" path="res://ui/main_menu/main_menu.gd" id="1_5gs73"]
[ext_resource type="Texture2D" uid="uid://da7o6lfuoliid" path="res://assets/textures/Backgrounds/meadow2.jpg" id="2_bb61v"]
[ext_resource type="Theme" uid="uid://xfq6d5yqsdh5" path="res://theme/basic_theme.tres" id="4_y6s8u"]
[node name="MainMenu" type="Control"]
layout_mode = 3
@ -76,7 +75,6 @@ size_flags_vertical = 3
[node name="NewGameButton" type="Button" parent="VBoxContainer/MarginContainer/MenuButtons"]
unique_name_in_owner = true
layout_mode = 2
theme = ExtResource("4_y6s8u")
theme_override_font_sizes/font_size = 32
text = "New Game"
@ -84,21 +82,18 @@ text = "New Game"
unique_name_in_owner = true
visible = false
layout_mode = 2
theme = ExtResource("4_y6s8u")
theme_override_font_sizes/font_size = 32
text = "Continue"
[node name="OptionsButton" type="Button" parent="VBoxContainer/MarginContainer/MenuButtons"]
unique_name_in_owner = true
layout_mode = 2
theme = ExtResource("4_y6s8u")
theme_override_font_sizes/font_size = 32
text = "Options"
[node name="LicensesButton" type="Button" parent="VBoxContainer/MarginContainer/MenuButtons"]
unique_name_in_owner = true
layout_mode = 2
theme = ExtResource("4_y6s8u")
theme_override_font_sizes/font_size = 32
text = "Licenses"
@ -106,12 +101,59 @@ text = "Licenses"
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 10
theme = ExtResource("4_y6s8u")
theme_type_variation = &"RedButton"
theme_override_font_sizes/font_size = 32
text = "Exit"
[node name="LicensesScreen" type="PanelContainer" parent="."]
unique_name_in_owner = true
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="MarginContainer" type="MarginContainer" parent="LicensesScreen"]
layout_mode = 2
theme_override_constants/margin_left = 40
theme_override_constants/margin_top = 40
theme_override_constants/margin_right = 40
theme_override_constants/margin_bottom = 40
[node name="VBoxContainer" type="VBoxContainer" parent="LicensesScreen/MarginContainer"]
layout_mode = 2
[node name="MarginContainer" type="MarginContainer" parent="LicensesScreen/MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/margin_bottom = 20
[node name="LicensesHeadingLabel" type="Label" parent="LicensesScreen/MarginContainer/VBoxContainer/MarginContainer"]
layout_mode = 2
text = "Licenses used in this game"
horizontal_alignment = 1
vertical_alignment = 1
[node name="ScrollContainer" type="ScrollContainer" parent="LicensesScreen/MarginContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
follow_focus = true
[node name="LicenseContainer" type="VBoxContainer" parent="LicensesScreen/MarginContainer/VBoxContainer/ScrollContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
theme_override_constants/separation = 20
[node name="LicensesCloseButton" type="Button" parent="LicensesScreen/MarginContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
theme_type_variation = &"RedButton"
text = "Close"
[connection signal="pressed" from="VBoxContainer/MarginContainer/MenuButtons/NewGameButton" to="." method="_on_new_game_button_pressed"]
[connection signal="pressed" from="VBoxContainer/MarginContainer/MenuButtons/ContinueGameButton" to="." method="_on_continue_game_button_pressed"]
[connection signal="pressed" from="VBoxContainer/MarginContainer/MenuButtons/OptionsButton" to="." method="_on_options_button_pressed"]
[connection signal="pressed" from="VBoxContainer/MarginContainer/MenuButtons/LicensesButton" to="." method="_on_licenses_button_pressed"]
[connection signal="pressed" from="VBoxContainer/MarginContainer/MenuButtons/ExitButton" to="." method="_on_exit_button_pressed"]
[connection signal="pressed" from="LicensesScreen/MarginContainer/VBoxContainer/LicensesCloseButton" to="." method="_on_licenses_close_button_pressed"]