Compare commits
3 Commits
1c74528184
...
01835d0a4e
| Author | SHA1 | Date | |
|---|---|---|---|
| 01835d0a4e | |||
| 981df00da2 | |||
| ed20451c36 |
@@ -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:
|
||||
|
||||
@@ -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()
|
||||
@@ -0,0 +1 @@
|
||||
uid://bp676ele1a2dk
|
||||
@@ -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"]
|
||||
@@ -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.")
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
@@ -0,0 +1 @@
|
||||
uid://b7llgro3vx5rr
|
||||
@@ -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"
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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"]
|
||||
|
||||
@@ -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"
|
||||
)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user