Compare commits

...

3 Commits

18 changed files with 284 additions and 171 deletions

View File

@@ -9,7 +9,7 @@ env:
GODOT_VERSION: 4.5
EXPORT_NAME: LasGymkhanikasDeUli
PROJECT_PATH: .
APPWRITE_API_KEY: ${{ secrets.APPWRITE_API_KEY }}
APPWRITE_API_KEY: "${{ secrets.APPWRITE_API_KEY }}"
jobs:
all-exports:

View File

@@ -0,0 +1,11 @@
class_name RTMIAchievementSummaryMenu
extends PanelContainer
func ready() -> void:
%SummaryPanel.hide_position()
func _on_rtmi_menu_button_pressed() -> void:
hide()
func refresh() -> void:
%SummaryPanel.refresh()

View File

@@ -0,0 +1 @@
uid://bp676ele1a2dk

View File

@@ -0,0 +1,54 @@
[gd_scene load_steps=5 format=3 uid="uid://bcu6ik8qq0dl6"]
[ext_resource type="PackedScene" uid="uid://cbq03pmsdusib" path="res://addons/escoria-ui-return-monkey-island/achievements/summary/rtmi_achievement_summary_panel.tscn" id="1_iv6go"]
[ext_resource type="Script" uid="uid://bp676ele1a2dk" path="res://addons/escoria-ui-return-monkey-island/achievements/menu/rtmi_achievements_menu.gd" id="1_krbpm"]
[ext_resource type="Script" uid="uid://elqkwjm0r5c7" path="res://addons/escoria-ui-return-monkey-island/menus/rtmi_menu_button.gd" id="2_ntqhu"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_krbpm"]
bg_color = Color(0.21960784, 0.21960784, 0.21960784, 1)
[node name="AchievementsMenu" type="PanelContainer"]
process_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_krbpm")
script = ExtResource("1_krbpm")
[node name="CenterContainer" type="CenterContainer" parent="."]
layout_mode = 2
[node name="PanelContainer" type="PanelContainer" parent="CenterContainer"]
layout_mode = 2
[node name="MarginContainer" type="MarginContainer" parent="CenterContainer/PanelContainer"]
layout_mode = 2
theme_override_constants/margin_left = 20
theme_override_constants/margin_top = 20
theme_override_constants/margin_right = 20
theme_override_constants/margin_bottom = 20
[node name="VBoxContainer" type="VBoxContainer" parent="CenterContainer/PanelContainer/MarginContainer"]
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
[node name="SummaryPanel" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer" instance=ExtResource("1_iv6go")]
unique_name_in_owner = true
layout_mode = 2
[node name="RichTextLabel" type="RichTextLabel" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer"]
custom_minimum_size = Vector2(0, 50)
layout_mode = 2
theme_override_font_sizes/normal_font_size = 16
text = "Consigue todos los logros para obtener una puntuación perfecta."
vertical_alignment = 1
[node name="Back" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
text = "BACK"
script = ExtResource("2_ntqhu")
metadata/_custom_type_script = "uid://elqkwjm0r5c7"
[connection signal="pressed" from="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Back" to="." method="_on_rtmi_menu_button_pressed"]

View File

@@ -46,6 +46,8 @@ func get_unlocked_achievements_total() -> int:
unlocked_achievements_total += 1
return unlocked_achievements_total
func is_perfect_score() -> bool:
return get_achievements_total() == get_unlocked_achievements_total()
func reset_achievements() -> void:
_achievement_tracker.clear()
@@ -65,7 +67,6 @@ func unlock_achievement(achievement_id) -> void:
_achievement_tracker.set(achievement_id, true)
unlocked.emit(achievement_id)
func is_unlocked(achievement_id: String) -> bool:
if not has(achievement_id):
escoria.logger.error(self, "Achievement '%s' not found.")

View File

@@ -134,7 +134,7 @@ func _score_http_request(
return response_data
func format_time(time: int) -> String:
static func format_time(time: int) -> String:
var hours = time / 3600
var minutes = (time % 3600) / 60
var seconds = time % 60

View File

@@ -6,88 +6,42 @@ signal score_submitted()
const CHARACTER_LIMIT: int = 32
const ALLOWED_CHARACTERS = "[à-ÿÀ-ŸA-Za-z0-9 _-]"
var perfect = false
var collection: String
@onready var input_name: LineEdit = %InputName
@onready var total_time: Label = %TotalTime
@onready var pos: Label = %Position
@onready var achievement_count: Label = %AchievementCount
@onready var unlocked_achievements_container: VBoxContainer = %UnlockedAchievementsContainer
@onready var submit_button: RTMIMenuButton = %SubmitButton
@onready var spinner: Spinner = %Spinner
@onready var summary_panel: RTMIAchievementSummaryPanel = %SummaryPanel
func _ready() -> void:
_fill()
input_name.text_changed.connect(_on_input_name_changed)
input_name.grab_focus()
func show():
super.show()
summary_panel.show_position()
check_perfect()
check_score()
func _input(event: InputEvent) -> void:
if event.is_action_pressed("ui_enter"):
_on_submit_button_up()
func _fill():
_clear()
total_time.text = gymkhana.score_manager.format_time(gymkhana.achievement_manager.played_time)
var achievements = gymkhana.achievement_manager.get_achievements()
var unlocked = 0
for achievement_key in achievements:
var label = Label.new()
label.text = tr(gymkhana.achievement_manager.generate_achievement_literal(
achievement_key, "title"
))
label.add_theme_color_override("font_color", Color.DIM_GRAY)
if achievements.get(achievement_key):
label.add_theme_color_override("font_color", Color.GREEN)
unlocked += 1
unlocked_achievements_container.add_child(label)
achievement_count.text = "%s / %s" % [unlocked, achievements.size()]
if unlocked == achievements.size():
submit_button.text = tr("SUBMIT_PERFECT_SCORE")
perfect = true
collection = gymkhana.score_manager.PERFECT if perfect else gymkhana.score_manager.FASTEST
check_score()
func check_score():
if perfect:
func check_perfect():
if gymkhana.achievement_manager.is_perfect_score():
escoria.game_scene.launch_confetti()
escoria.globals_manager.set_global("turno_cocina_perfect_score", true)
submit_button.text = tr("SUBMIT_PERFECT_SCORE")
func check_score():
var played_time = floor(randf() * 1000)
collection = gymkhana.score_manager.PERFECT if gymkhana.achievement_manager.is_perfect_score() else gymkhana.score_manager.FASTEST
var pos_int = await gymkhana.score_manager.calculate_score_position(collection, gymkhana.achievement_manager.played_time)
pos.text = "#" + str(pos_int + 1)
summary_panel.score_position = pos_int + 1
func _clear() -> void:
for child in unlocked_achievements_container.get_children():
unlocked_achievements_container.remove_child(child)
child.queue_free()
func _get_all_achievements() -> Array:
var unlocked_achievements: Array = []
var all_achievements = gymkhana.achievement_manager.get_achievements()
for achievement in all_achievements:
if all_achievements.get(achievement) == true:
unlocked_achievements.append(achievement)
return unlocked_achievements
func _on_input_name_changed(_new_text: String):
var valid = _validate_name()
if not valid:
_set_label_error()
return

View File

@@ -1,6 +1,7 @@
[gd_scene load_steps=5 format=3 uid="uid://ch5d4emoxq6t4"]
[gd_scene load_steps=6 format=3 uid="uid://ch5d4emoxq6t4"]
[ext_resource type="Script" uid="uid://wor3bvk7tdh0" path="res://addons/escoria-ui-return-monkey-island/achievements/summary/rtmi_achievement_summary.gd" id="1_vcqj7"]
[ext_resource type="PackedScene" uid="uid://cbq03pmsdusib" path="res://addons/escoria-ui-return-monkey-island/achievements/summary/rtmi_achievement_summary_panel.tscn" id="2_0xx2m"]
[ext_resource type="Script" uid="uid://elqkwjm0r5c7" path="res://addons/escoria-ui-return-monkey-island/menus/rtmi_menu_button.gd" id="2_3d1qx"]
[ext_resource type="Script" uid="uid://doqt8bqgwakt" path="res://addons/tattomoosa.spinner/spinner.gd" id="3_co5jd"]
@@ -22,101 +23,9 @@ theme_override_constants/margin_bottom = 10
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer"]
layout_mode = 2
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/VBoxContainer"]
layout_mode = 2
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
[node name="TotalTimeLabel" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 20
text = "TOTAL_TIME"
horizontal_alignment = 1
[node name="TotalTime" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer"]
[node name="SummaryPanel" parent="MarginContainer/VBoxContainer" instance=ExtResource("2_0xx2m")]
unique_name_in_owner = true
layout_mode = 2
theme_override_font_sizes/font_size = 24
text = "0h 00m 00s"
horizontal_alignment = 1
vertical_alignment = 2
[node name="VBoxContainer2" type="VBoxContainer" parent="MarginContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
[node name="PositionLabel" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer2"]
layout_mode = 2
theme_override_font_sizes/font_size = 20
text = "POSITION"
horizontal_alignment = 1
[node name="Position" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer2"]
unique_name_in_owner = true
layout_mode = 2
theme_override_font_sizes/font_size = 24
text = "-"
horizontal_alignment = 1
vertical_alignment = 2
[node name="HSeparator" type="HSeparator" parent="MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_styles/separator = SubResource("StyleBoxEmpty_co5jd")
[node name="MarginContainer2" type="MarginContainer" parent="MarginContainer/VBoxContainer"]
layout_mode = 2
[node name="HBoxContainer2" type="HBoxContainer" parent="MarginContainer/VBoxContainer"]
layout_mode = 2
[node name="AchievementTitle" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer2"]
layout_mode = 2
theme_override_font_sizes/font_size = 12
text = "ACHIEVEMENT_SUMMARY"
[node name="AchievementCount" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer2"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 12
text = "1 / 7"
horizontal_alignment = 2
[node name="MarginContainer" type="MarginContainer" parent="MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/margin_top = 10
theme_override_constants/margin_bottom = 10
[node name="UnlockedAchievementsContainer" type="VBoxContainer" parent="MarginContainer/VBoxContainer/MarginContainer"]
unique_name_in_owner = true
layout_mode = 2
theme_override_constants/separation = 4
[node name="Label" type="Label" parent="MarginContainer/VBoxContainer/MarginContainer/UnlockedAchievementsContainer"]
layout_mode = 2
text = "ACHIEVEMENT TEXT PLACEHOLDER"
[node name="Label2" type="Label" parent="MarginContainer/VBoxContainer/MarginContainer/UnlockedAchievementsContainer"]
layout_mode = 2
text = "ACHIEVEMENT TEXT PLACEHOLDER"
[node name="Label3" type="Label" parent="MarginContainer/VBoxContainer/MarginContainer/UnlockedAchievementsContainer"]
layout_mode = 2
text = "ACHIEVEMENT TEXT PLACEHOLDER"
[node name="Label4" type="Label" parent="MarginContainer/VBoxContainer/MarginContainer/UnlockedAchievementsContainer"]
layout_mode = 2
text = "ACHIEVEMENT TEXT PLACEHOLDER"
[node name="Label5" type="Label" parent="MarginContainer/VBoxContainer/MarginContainer/UnlockedAchievementsContainer"]
layout_mode = 2
text = "ACHIEVEMENT TEXT PLACEHOLDER"
[node name="Label6" type="Label" parent="MarginContainer/VBoxContainer/MarginContainer/UnlockedAchievementsContainer"]
layout_mode = 2
text = "ACHIEVEMENT TEXT PLACEHOLDER"
[node name="HSeparator3" type="HSeparator" parent="MarginContainer/VBoxContainer"]
layout_mode = 2

View File

@@ -0,0 +1,48 @@
class_name RTMIAchievementSummaryPanel
extends VBoxContainer
@onready var total_time: Label = %TotalTime
@onready var pos: Label = %Position
@onready var achievement_count: Label = %AchievementCount
@onready var unlocked_achievements_container: VBoxContainer = %UnlockedAchievementsContainer
var score_position: int = 0:
set(new_value):
score_position = new_value
%Position.text = "#%d" % new_value
func _ready() -> void:
_fill()
func refresh() -> void:
_fill()
func _fill():
_clear()
total_time.text = RTMIScoreManager.format_time(gymkhana.achievement_manager.played_time)
var achievements = gymkhana.achievement_manager.get_achievements()
for achievement_key in achievements:
var label = Label.new()
label.text = tr(gymkhana.achievement_manager.generate_achievement_literal(
achievement_key, "title"
))
label.add_theme_color_override("font_color", Color.DIM_GRAY)
if achievements.get(achievement_key):
label.add_theme_color_override("font_color", Color.GREEN)
unlocked_achievements_container.add_child(label)
achievement_count.text = "%s / %s" % [gymkhana.achievement_manager.get_unlocked_achievements_total(), achievements.size()]
func _clear() -> void:
for child in unlocked_achievements_container.get_children():
unlocked_achievements_container.remove_child(child)
child.queue_free()
func show_position() -> void:
%PositionContainer.show()
func hide_position() -> void:
%PositionContainer.hide()

View File

@@ -0,0 +1,105 @@
[gd_scene load_steps=3 format=3 uid="uid://cbq03pmsdusib"]
[ext_resource type="Script" uid="uid://b7llgro3vx5rr" path="res://addons/escoria-ui-return-monkey-island/achievements/summary/rtmi_achievement_summary_panel.gd" id="1_cgp0k"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_co5jd"]
[node name="SummaryPanel" type="VBoxContainer"]
script = ExtResource("1_cgp0k")
[node name="HBoxContainer" type="HBoxContainer" parent="."]
layout_mode = 2
[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
[node name="TotalTimeLabel" type="Label" parent="HBoxContainer/VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 20
text = "TOTAL_TIME"
horizontal_alignment = 1
[node name="TotalTime" type="Label" parent="HBoxContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
theme_override_font_sizes/font_size = 24
text = "0h 00m 00s"
horizontal_alignment = 1
vertical_alignment = 2
[node name="PositionContainer" type="VBoxContainer" parent="HBoxContainer"]
unique_name_in_owner = true
visible = false
layout_mode = 2
size_flags_horizontal = 3
[node name="PositionLabel" type="Label" parent="HBoxContainer/PositionContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 20
text = "POSITION"
horizontal_alignment = 1
[node name="Position" type="Label" parent="HBoxContainer/PositionContainer"]
unique_name_in_owner = true
layout_mode = 2
theme_override_font_sizes/font_size = 24
text = "-"
horizontal_alignment = 1
vertical_alignment = 2
[node name="HSeparator" type="HSeparator" parent="."]
layout_mode = 2
theme_override_styles/separator = SubResource("StyleBoxEmpty_co5jd")
[node name="MarginContainer2" type="MarginContainer" parent="."]
layout_mode = 2
[node name="HBoxContainer2" type="HBoxContainer" parent="."]
layout_mode = 2
[node name="AchievementTitle" type="Label" parent="HBoxContainer2"]
layout_mode = 2
theme_override_font_sizes/font_size = 12
text = "ACHIEVEMENT_SUMMARY"
[node name="AchievementCount" type="Label" parent="HBoxContainer2"]
unique_name_in_owner = true
layout_mode = 2
theme_override_font_sizes/font_size = 12
text = "1 / 7"
horizontal_alignment = 2
[node name="MarginContainer" type="MarginContainer" parent="."]
layout_mode = 2
theme_override_constants/margin_top = 10
theme_override_constants/margin_bottom = 10
[node name="UnlockedAchievementsContainer" type="VBoxContainer" parent="MarginContainer"]
unique_name_in_owner = true
layout_mode = 2
theme_override_constants/separation = 4
[node name="Label" type="Label" parent="MarginContainer/UnlockedAchievementsContainer"]
layout_mode = 2
text = "ACHIEVEMENT TEXT PLACEHOLDER"
[node name="Label2" type="Label" parent="MarginContainer/UnlockedAchievementsContainer"]
layout_mode = 2
text = "ACHIEVEMENT TEXT PLACEHOLDER"
[node name="Label3" type="Label" parent="MarginContainer/UnlockedAchievementsContainer"]
layout_mode = 2
text = "ACHIEVEMENT TEXT PLACEHOLDER"
[node name="Label4" type="Label" parent="MarginContainer/UnlockedAchievementsContainer"]
layout_mode = 2
text = "ACHIEVEMENT TEXT PLACEHOLDER"
[node name="Label5" type="Label" parent="MarginContainer/UnlockedAchievementsContainer"]
layout_mode = 2
text = "ACHIEVEMENT TEXT PLACEHOLDER"
[node name="Label6" type="Label" parent="MarginContainer/UnlockedAchievementsContainer"]
layout_mode = 2
text = "ACHIEVEMENT TEXT PLACEHOLDER"

View File

@@ -60,13 +60,13 @@ const ESC_UI_CHANGE_VERB_ACTION = "esc_change_verb"
@export var language_selector: RTMILanguageSelector
@export var confetti: RTMIConfetti
@export var tools: Container
@export var achievement_summary: RTMIAchievementSummaryMenu
# Tracks the mouse's current position onscreen.
var _current_mouse_pos = Vector2.ZERO
func _init():
gymkhana.item_count_manager = ESCItemCountManager.new()
gymkhana.tooltip_manager = ESCTootltipManager.new()
gymkhana.global_observer = RTMIGlobalObserver.new()
@@ -267,7 +267,6 @@ func element_focused(element_id: String) -> void:
tooltip_node.set_target(target_obj.tooltip_name)
tooltip_node.set_target_object(target_obj)
if escoria.action_manager.has_actions(target_obj):
if target_obj is ESCItemWithTooltip:
if target_obj.is_interactive:
@@ -443,6 +442,11 @@ func unpause_game():
escoria.main.current_scene.game.show_ui()
escoria.main.current_scene.show()
escoria.set_game_paused(false)
if achievement_summary.visible:
achievement_summary.visible = false
if %highscores.visible:
%highscores.visible = false
gymkhana.music_manager.resume()
gymkhana.achievement_manager.resume_tracking_time()
@@ -571,6 +575,7 @@ func _on_MenuButton_pressed() -> void:
else:
pause_game()
# Clears the tooltip content (if an ESCTooltip node exists in UI)
# MODIFIED FOR RTMIUI
func clear_tooltip():
@@ -617,6 +622,7 @@ func _on_say_finished() -> void:
await get_tree().create_timer(0.01).timeout
update_highlights()
func _is_input_all():
return escoria.inputs_manager.input_mode == ESCInputsManager.INPUT_ALL
@@ -671,5 +677,11 @@ func update_highlights():
if room_child is ESCItemWithTooltip:
room_child.get_component("outline").update_highlight()
func launch_confetti():
confetti.launch()
func show_achievement_summary() -> void:
achievement_summary.show()
achievement_summary.refresh()

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=32 format=3 uid="uid://cabos3cse6b71"]
[gd_scene load_steps=33 format=3 uid="uid://cabos3cse6b71"]
[ext_resource type="PackedScene" uid="uid://bl50queikqfjc" path="res://addons/escoria-ui-return-monkey-island/inventory/inventory_ui.tscn" id="1"]
[ext_resource type="Script" path="res://addons/escoria-core/game/scenes/dialogs/esc_dialog_player.gd" id="2"]
@@ -25,6 +25,7 @@
[ext_resource type="Texture2D" uid="uid://y2hfekr163su" path="res://addons/escoria-ui-return-monkey-island/icons/exit_fullscreen_hover.svg" id="15_j7gr8"]
[ext_resource type="Texture2D" uid="uid://e2xk0aimdte" path="res://addons/escoria-ui-return-monkey-island/icons/music-double-note-disabled.svg" id="16"]
[ext_resource type="Texture2D" uid="uid://nsthsaybnd71" path="res://addons/escoria-ui-return-monkey-island/icons/fullscreen.svg" id="18_ixq7a"]
[ext_resource type="PackedScene" uid="uid://bcu6ik8qq0dl6" path="res://addons/escoria-ui-return-monkey-island/achievements/menu/rtmi_achievements_menu.tscn" id="18_j7gr8"]
[ext_resource type="PackedScene" uid="uid://d3kgkl2r5xe4d" path="res://addons/escoria-ui-return-monkey-island/achievements/rtmi_achievement_notification_container.tscn" id="18_ssxmx"]
[ext_resource type="PackedScene" uid="uid://c0066wpl3qky4" path="res://addons/escoria-ui-return-monkey-island/menus/language_selector/language_selector.tscn" id="19_we0hb"]
[ext_resource type="Shader" uid="uid://iehp1eakxyak" path="res://addons/escoria-ui-return-monkey-island/shaders/vignette.gdshader" id="20_parhr"]
@@ -41,7 +42,7 @@ shader_parameter/vignette_strength = 0.9
shader_parameter/dither_strength = 0.03
shader_parameter/vignette_color = Color(0, 0, 0, 1)
[node name="game" type="Node2D" node_paths=PackedStringArray("inventory_ui", "rtmi_tooltip_node", "dev_tools_node", "video_player", "language_selector", "confetti")]
[node name="game" type="Node2D" node_paths=PackedStringArray("inventory_ui", "rtmi_tooltip_node", "dev_tools_node", "video_player", "language_selector", "confetti", "achievement_summary")]
script = ExtResource("5")
inventory_ui = NodePath("game_layer/ui_layer/Inventory")
rtmi_tooltip_node = NodePath("game_layer/tooltip_layer/tooltip")
@@ -49,6 +50,7 @@ dev_tools_node = NodePath("game_layer/ui_layer/DevTools")
video_player = NodePath("menu_layer/video_player")
language_selector = NodePath("menu_layer/language_selector")
confetti = NodePath("CanvasLayer/Confetti")
achievement_summary = NodePath("menu_layer/AchievementsMenu")
main_menu = NodePath("menu_layer/main_menu")
pause_menu = NodePath("menu_layer/pause_menu")
mouse_tooltip_margin = 70.0
@@ -145,6 +147,9 @@ visible = false
unique_name_in_owner = true
visible = false
[node name="AchievementsMenu" parent="menu_layer" instance=ExtResource("18_j7gr8")]
visible = false
[node name="buttons_layer" type="CanvasLayer" parent="."]
layer = 10

View File

@@ -103,9 +103,3 @@ func warm_esc_cache() -> void:
for file in files:
# We need to use the compiler from the escoria singelton for the cache to work.
escoria.esc_compiler.load_esc_file(file)
func toogle_fullscreen():
pass
func set_fullscreen(value: bool):
pass

View File

@@ -95,3 +95,7 @@ func _on_time_updated(current_time):
func _on_highscores_button_up() -> void:
escoria.game_scene.show_highscores()
func _on_achievements_pressed() -> void:
escoria.game_scene.show_achievement_summary()

View File

@@ -87,6 +87,12 @@ size_flags_vertical = 3
text = "CONTINUE_GAME"
script = ExtResource("6_31lra")
[node name="achievements" type="Button" parent="VBoxContainer/menuitems"]
layout_mode = 2
text = "ACHIEVEMENTS"
script = ExtResource("6_31lra")
metadata/_custom_type_script = "uid://elqkwjm0r5c7"
[node name="highscores" type="Button" parent="VBoxContainer/menuitems"]
custom_minimum_size = Vector2(0, 40)
layout_mode = 2
@@ -123,8 +129,8 @@ text = "OPTIONS"
script = ExtResource("6_31lra")
[node name="quit" type="Button" parent="VBoxContainer/menuitems"]
custom_minimum_size = Vector2(0, 30)
unique_name_in_owner = true
custom_minimum_size = Vector2(0, 30)
layout_mode = 2
size_flags_vertical = 3
text = "QUIT"
@@ -134,6 +140,7 @@ script = ExtResource("6_31lra")
[connection signal="back_button_pressed" from="load_game" to="." method="_on_load_game_back_button_pressed"]
[connection signal="back_button_pressed" from="options" to="." method="_on_options_back_button_pressed"]
[connection signal="pressed" from="VBoxContainer/menuitems/continue" to="." method="_on_continue_pressed"]
[connection signal="pressed" from="VBoxContainer/menuitems/achievements" to="." method="_on_achievements_pressed"]
[connection signal="button_up" from="VBoxContainer/menuitems/highscores" to="." method="_on_highscores_button_up"]
[connection signal="pressed" from="VBoxContainer/menuitems/new_game" to="." method="_on_new_game_pressed"]
[connection signal="pressed" from="VBoxContainer/menuitems/save_game" to="." method="_on_save_game_pressed"]

View File

@@ -51,6 +51,12 @@ func _on_show_credits_button_up() -> void:
. set_trans(Tween.TRANS_SINE)
. connect("finished", _on_summary_hide_finish)
)
(
create_tween()
. tween_property(%Credits, "modulate:a", 0.0, 0.8)
. from(1.0)
. set_trans(Tween.TRANS_SINE)
)
var script = escoria.esc_compiler.load_esc_file(
"res://gymkhana/rooms/turno_cocina/creditos/esc/creditos.esc", "creditos"
)

View File

@@ -1,17 +1,17 @@
[gd_scene load_steps=21 format=3 uid="uid://csb7hwb1v016e"]
[ext_resource type="Script" uid="uid://c7fcpp72w3dnj" path="res://addons/escoria-core/game/core-scripts/esc_room.gd" id="1"]
[ext_resource type="Script" path="res://addons/escoria-core/game/core-scripts/esc_room.gd" id="1"]
[ext_resource type="PackedScene" uid="uid://cjmsexhyhi4vs" path="res://gymkhana/characters/oier/oier.tscn" id="2"]
[ext_resource type="Texture2D" uid="uid://dc7j1xq3x7gwp" path="res://gymkhana/rooms/turno_cocina/creditos/assets/background.png" id="3"]
[ext_resource type="Texture2D" uid="uid://dvofjrubnnone" path="res://gymkhana/rooms/turno_cocina/creditos/assets/background.png" id="3"]
[ext_resource type="PackedScene" uid="uid://fgwob47tewuf" path="res://gymkhana/rooms/turno_cocina/creditos/ScrollingText.tscn" id="4"]
[ext_resource type="PackedScene" uid="uid://bgiskd55j17fc" path="res://gymkhana/rooms/turno_cocina/creditos/EnekoDancing.tscn" id="5"]
[ext_resource type="Texture2D" uid="uid://budal8dqwrifr" path="res://gymkhana/logo-small.png" id="6"]
[ext_resource type="Texture2D" uid="uid://bgfi7t6khinjw" path="res://gymkhana/logo-small.png" id="6"]
[ext_resource type="Script" uid="uid://ib2j5oleakyb" path="res://gymkhana/rooms/turno_cocina/creditos/SceneHandler.gd" id="7"]
[ext_resource type="PackedScene" uid="uid://dg3q322t7b34f" path="res://gymkhana/rooms/turno_cocina/creditos/OierDancing.tscn" id="9"]
[ext_resource type="PackedScene" uid="uid://ch5d4emoxq6t4" path="res://addons/escoria-ui-return-monkey-island/achievements/summary/rtmi_achievement_summary.tscn" id="9_oudlg"]
[ext_resource type="Script" uid="uid://elqkwjm0r5c7" path="res://addons/escoria-ui-return-monkey-island/menus/rtmi_menu_button.gd" id="10_f1tcv"]
[ext_resource type="Script" uid="uid://ceym82rf2qnxu" path="res://addons/escoria-ui-return-monkey-island/esc_item_with_tooltip.gd" id="11_f1tcv"]
[ext_resource type="Script" uid="uid://85bledusisk1" path="res://addons/escoria-core/game/core-scripts/esc_dialog_location.gd" id="12_ys4o4"]
[ext_resource type="Script" path="res://addons/escoria-core/game/core-scripts/esc_dialog_location.gd" id="12_ys4o4"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_ys4o4"]
@@ -88,6 +88,7 @@ unique_name_in_owner = true
layout_mode = 2
[node name="Credits" type="Button" parent="Summary/CenterContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 8
theme_override_font_sizes/font_size = 10