Compare commits
25 Commits
release/1.
...
release/1.
| Author | SHA1 | Date | |
|---|---|---|---|
| 7f380e7ccd | |||
| cfe374f350 | |||
| 93f2651889 | |||
| acc55fb462 | |||
| 33b9af05d9 | |||
| 12c4167c23 | |||
| d01336a938 | |||
| cb5acb0a0d | |||
| 34e5cdb80f | |||
| 8337f3d150 | |||
| 94c0363156 | |||
| c9fee9ad87 | |||
| 279fd91aa1 | |||
| 481c7993c4 | |||
| 080ea1dfe1 | |||
| 01835d0a4e | |||
| 981df00da2 | |||
| ed20451c36 | |||
| 1c74528184 | |||
| 2f1971c52a | |||
| e5949dc0cf | |||
| 67228746b5 | |||
| 9eec24157d | |||
| 021c862f7b | |||
| 3fa3f48476 |
3
.cursorignore
Normal file
3
.cursorignore
Normal file
@@ -0,0 +1,3 @@
|
||||
*.import
|
||||
*.uid
|
||||
*.translation
|
||||
@@ -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:
|
||||
@@ -36,3 +36,4 @@ jobs:
|
||||
build/**/*.appimage
|
||||
build/**/*.tar.gz
|
||||
build/**/*.zip
|
||||
build/**/*.exe
|
||||
|
||||
@@ -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 = "ACHIEVEMENTS_MENU_NOTE"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Back" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "OPTIONS_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
|
||||
@@ -96,7 +98,7 @@ theme = ExtResource("9")
|
||||
script = ExtResource("2")
|
||||
|
||||
[node name="tooltip_layer" type="CanvasLayer" parent="game_layer"]
|
||||
layer = 2
|
||||
layer = 4
|
||||
|
||||
[node name="tooltip" parent="game_layer/tooltip_layer" instance=ExtResource("4")]
|
||||
z_index = 10
|
||||
@@ -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
|
||||
|
||||
@@ -8,8 +8,6 @@ func _ready():
|
||||
escoria.game_scene.hide_ui()
|
||||
hide()
|
||||
|
||||
gymkhana.achievement_manager.time_updated.connect(_on_time_updated)
|
||||
|
||||
if OS.get_name() == "Web":
|
||||
%quit.visible = false
|
||||
|
||||
@@ -95,3 +93,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()
|
||||
|
||||
@@ -64,18 +64,6 @@ layout_mode = 2
|
||||
texture = ExtResource("3")
|
||||
stretch_mode = 3
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="CurrentTimeLabel" type="Label" parent="VBoxContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "CURRENT_PLAYING_TIME"
|
||||
|
||||
[node name="CurrentTime" type="Label" parent="VBoxContainer/HBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "1min 20s"
|
||||
|
||||
[node name="menuitems" type="VBoxContainer" parent="VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 10
|
||||
@@ -87,6 +75,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 +117,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 +128,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"]
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
extends Resource
|
||||
class_name RTMIUiSettings
|
||||
extends Resource
|
||||
|
||||
const SETTINGS_ROOT = "escoria/rtmi_ui"
|
||||
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_3hnbv"]
|
||||
bg_color = Color(0, 0, 0, 1)
|
||||
shadow_size = 16
|
||||
|
||||
[resource]
|
||||
MarginContainer/constants/margin_bottom = 8
|
||||
|
||||
@@ -4,5 +4,5 @@ project_id="68fff7ac0029558ca82c"
|
||||
database_id="68fff91900295af283bf"
|
||||
|
||||
[score_submit]
|
||||
url="https://gymkhana.functions.app.fosil.eu"
|
||||
url="https://gymkhana.fosil.eu/submit-score"
|
||||
key="API_KEY_PLACEHOLDER"
|
||||
|
||||
20
build.sh
20
build.sh
@@ -37,27 +37,38 @@ PLATFORMS=(
|
||||
"amd"
|
||||
"arm"
|
||||
"web"
|
||||
"web-multi"
|
||||
"win"
|
||||
)
|
||||
|
||||
declare -A PLATFORM_NAMES
|
||||
PLATFORM_NAMES["amd"]=$EXPORT_NAME
|
||||
PLATFORM_NAMES["arm"]=$EXPORT_NAME
|
||||
PLATFORM_NAMES["web"]="index"
|
||||
PLATFORM_NAMES["web-multi"]="index"
|
||||
PLATFORM_NAMES["win"]=$EXPORT_NAME
|
||||
|
||||
declare -A PLATFORM_EXTENSIONS
|
||||
PLATFORM_EXTENSIONS["amd"]=".x86_64.appimage"
|
||||
PLATFORM_EXTENSIONS["arm"]=".arm_64.appimage"
|
||||
PLATFORM_EXTENSIONS["web"]=".html"
|
||||
PLATFORM_EXTENSIONS["web-multi"]=".html"
|
||||
PLATFORM_EXTENSIONS["win"]=".exe"
|
||||
|
||||
declare -A PLATFORM_EXPORTS
|
||||
PLATFORM_EXPORTS["amd"]="Linux"
|
||||
PLATFORM_EXPORTS["arm"]="LinuxARM"
|
||||
PLATFORM_EXPORTS["web"]="Web"
|
||||
PLATFORM_EXPORTS["web-multi"]="WebThread"
|
||||
PLATFORM_EXPORTS["win"]="Windows"
|
||||
|
||||
declare -A PLATFORM_OVERRIDES
|
||||
PLATFORM_OVERRIDES["amd"]="debug"
|
||||
PLATFORM_OVERRIDES["arm"]="debug"
|
||||
PLATFORM_OVERRIDES["web"]="web"
|
||||
PLATFORM_OVERRIDES["web-multi"]="web"
|
||||
PLATFORM_OVERRIDES["win"]="debug"
|
||||
|
||||
|
||||
CURRENT_EXPORT_DIR=$EXPORT_DIR/release
|
||||
|
||||
@@ -77,8 +88,7 @@ for TYPE in "${BUILD_TYPES[@]}"; do
|
||||
|
||||
cp $PROJECT_PATH/override.cfg.${PLATFORM_OVERRIDES[$PLATFORM]} $PROJECT_PATH/override.cfg
|
||||
echo "escoria/main/game_version=\"$VERSION\"" >> $PROJECT_PATH/override.cfg
|
||||
|
||||
if [ "$PLATFORM" == "web" ]; then CURRENT_EXPORT_NAME=${PLATFORM_NAMES[$PLATFORM]}; else CURRENT_EXPORT_NAME=$CURRENT_EXPORT_NAME; fi
|
||||
if [[ "$PLATFORM" == *"web"* ]]; then CURRENT_EXPORT_NAME=${PLATFORM_NAMES[$PLATFORM]}; else CURRENT_EXPORT_NAME=$CURRENT_EXPORT_NAME; fi
|
||||
godot --headless $STD_OUTPUT --export-$TYPE "${PLATFORM_EXPORTS[$PLATFORM]}" "$CURRENT_EXPORT_DIR/$PLATFORM/$CURRENT_EXPORT_NAME${PLATFORM_EXTENSIONS[$PLATFORM]}"
|
||||
done
|
||||
|
||||
@@ -86,6 +96,12 @@ for TYPE in "${BUILD_TYPES[@]}"; do
|
||||
tar cfz ../web-$TYPE.tar.gz .
|
||||
zip ../web-$TYPE.zip *
|
||||
cd $PROJECT_PATH
|
||||
cd $CURRENT_EXPORT_DIR/web-multi
|
||||
tar cfz ../web-multi-$TYPE.tar.gz .
|
||||
zip ../web-multi-$TYPE.zip *
|
||||
|
||||
cd $PROJECT_PATH
|
||||
|
||||
done
|
||||
|
||||
rm $PROJECT_PATH/override.cfg
|
||||
|
||||
@@ -139,3 +139,372 @@ texture_format/s3tc=true
|
||||
texture_format/etc=false
|
||||
texture_format/etc2=false
|
||||
texture_format/no_bptc_fallbacks=true
|
||||
|
||||
[preset.3]
|
||||
|
||||
name="WebThread"
|
||||
platform="Web"
|
||||
runnable=false
|
||||
advanced_options=false
|
||||
dedicated_server=false
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter="*.esc, *.csv, *.ncsv, *.cfg, *.srt"
|
||||
exclude_filter="*.xcf, saves/*, scripts/*,vscode-extension-ashes/*"
|
||||
export_path="build/web-multi/index.html"
|
||||
patches=PackedStringArray()
|
||||
encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
seed=0
|
||||
encrypt_pck=false
|
||||
encrypt_directory=false
|
||||
script_export_mode=2
|
||||
|
||||
[preset.3.options]
|
||||
|
||||
custom_template/debug=""
|
||||
custom_template/release=""
|
||||
variant/extensions_support=false
|
||||
variant/thread_support=true
|
||||
vram_texture_compression/for_desktop=true
|
||||
vram_texture_compression/for_mobile=false
|
||||
html/export_icon=true
|
||||
html/custom_html_shell=""
|
||||
html/head_include=""
|
||||
html/canvas_resize_policy=2
|
||||
html/focus_canvas_on_start=true
|
||||
html/experimental_virtual_keyboard=false
|
||||
progressive_web_app/enabled=true
|
||||
progressive_web_app/ensure_cross_origin_isolation_headers=true
|
||||
progressive_web_app/offline_page=""
|
||||
progressive_web_app/display=0
|
||||
progressive_web_app/orientation=1
|
||||
progressive_web_app/icon_144x144=""
|
||||
progressive_web_app/icon_180x180=""
|
||||
progressive_web_app/icon_512x512=""
|
||||
progressive_web_app/background_color=Color(0, 0, 0, 1)
|
||||
threads/emscripten_pool_size=8
|
||||
threads/godot_pool_size=4
|
||||
|
||||
[preset.4]
|
||||
|
||||
name="Windows"
|
||||
platform="Windows Desktop"
|
||||
runnable=true
|
||||
advanced_options=true
|
||||
dedicated_server=false
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter="*.esc, *.csv, *.ncsv, *.cfg, *.srt"
|
||||
exclude_filter="*.xcf, saves/*, scripts/*,vscode-extension-ashes/*"
|
||||
export_path=""
|
||||
patches=PackedStringArray()
|
||||
encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
seed=0
|
||||
encrypt_pck=false
|
||||
encrypt_directory=false
|
||||
script_export_mode=2
|
||||
|
||||
[preset.4.options]
|
||||
|
||||
custom_template/debug=""
|
||||
custom_template/release=""
|
||||
debug/export_console_wrapper=1
|
||||
binary_format/embed_pck=true
|
||||
texture_format/s3tc_bptc=true
|
||||
texture_format/etc2_astc=false
|
||||
shader_baker/enabled=true
|
||||
binary_format/architecture="x86_64"
|
||||
codesign/enable=false
|
||||
codesign/timestamp=true
|
||||
codesign/timestamp_server_url=""
|
||||
codesign/digest_algorithm=1
|
||||
codesign/description=""
|
||||
codesign/custom_options=PackedStringArray()
|
||||
application/modify_resources=true
|
||||
application/icon="uid://d22lbvlnub5a7"
|
||||
application/console_wrapper_icon=""
|
||||
application/icon_interpolation=4
|
||||
application/file_version=""
|
||||
application/product_version=""
|
||||
application/company_name="Uliwood"
|
||||
application/product_name="Las Gymkhanikas de Uli"
|
||||
application/file_description=""
|
||||
application/copyright=""
|
||||
application/trademarks=""
|
||||
application/export_angle=0
|
||||
application/export_d3d12=0
|
||||
application/d3d12_agility_sdk_multiarch=true
|
||||
ssh_remote_deploy/enabled=false
|
||||
ssh_remote_deploy/host="user@host_ip"
|
||||
ssh_remote_deploy/port="22"
|
||||
ssh_remote_deploy/extra_args_ssh=""
|
||||
ssh_remote_deploy/extra_args_scp=""
|
||||
ssh_remote_deploy/run_script="Expand-Archive -LiteralPath '{temp_dir}\\{archive_name}' -DestinationPath '{temp_dir}'
|
||||
$action = New-ScheduledTaskAction -Execute '{temp_dir}\\{exe_name}' -Argument '{cmd_args}'
|
||||
$trigger = New-ScheduledTaskTrigger -Once -At 00:00
|
||||
$settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries
|
||||
$task = New-ScheduledTask -Action $action -Trigger $trigger -Settings $settings
|
||||
Register-ScheduledTask godot_remote_debug -InputObject $task -Force:$true
|
||||
Start-ScheduledTask -TaskName godot_remote_debug
|
||||
while (Get-ScheduledTask -TaskName godot_remote_debug | ? State -eq running) { Start-Sleep -Milliseconds 100 }
|
||||
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue"
|
||||
ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue
|
||||
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue
|
||||
Remove-Item -Recurse -Force '{temp_dir}'"
|
||||
|
||||
[preset.5]
|
||||
|
||||
name="mac"
|
||||
platform="macOS"
|
||||
runnable=true
|
||||
advanced_options=false
|
||||
dedicated_server=false
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path=""
|
||||
patches=PackedStringArray()
|
||||
encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
seed=0
|
||||
encrypt_pck=false
|
||||
encrypt_directory=false
|
||||
script_export_mode=2
|
||||
|
||||
[preset.5.options]
|
||||
|
||||
export/distribution_type=1
|
||||
binary_format/architecture="universal"
|
||||
custom_template/debug=""
|
||||
custom_template/release=""
|
||||
debug/export_console_wrapper=1
|
||||
application/icon="uid://d22lbvlnub5a7"
|
||||
application/icon_interpolation=4
|
||||
application/bundle_identifier="org.uliwood.gymkhana"
|
||||
application/signature=""
|
||||
application/app_category="Games"
|
||||
application/short_version=""
|
||||
application/version=""
|
||||
application/copyright=""
|
||||
application/copyright_localized={}
|
||||
application/min_macos_version_x86_64="10.12"
|
||||
application/min_macos_version_arm64="11.00"
|
||||
application/export_angle=0
|
||||
display/high_res=true
|
||||
shader_baker/enabled=true
|
||||
application/additional_plist_content=""
|
||||
xcode/platform_build="14C18"
|
||||
xcode/sdk_version="13.1"
|
||||
xcode/sdk_build="22C55"
|
||||
xcode/sdk_name="macosx13.1"
|
||||
xcode/xcode_version="1420"
|
||||
xcode/xcode_build="14C18"
|
||||
codesign/codesign=0
|
||||
codesign/installer_identity=""
|
||||
codesign/apple_team_id=""
|
||||
codesign/identity=""
|
||||
codesign/entitlements/custom_file=""
|
||||
codesign/entitlements/allow_jit_code_execution=false
|
||||
codesign/entitlements/allow_unsigned_executable_memory=false
|
||||
codesign/entitlements/allow_dyld_environment_variables=false
|
||||
codesign/entitlements/disable_library_validation=false
|
||||
codesign/entitlements/audio_input=false
|
||||
codesign/entitlements/camera=false
|
||||
codesign/entitlements/location=false
|
||||
codesign/entitlements/address_book=false
|
||||
codesign/entitlements/calendars=false
|
||||
codesign/entitlements/photos_library=false
|
||||
codesign/entitlements/apple_events=false
|
||||
codesign/entitlements/debugging=false
|
||||
codesign/entitlements/app_sandbox/enabled=false
|
||||
codesign/entitlements/app_sandbox/network_server=false
|
||||
codesign/entitlements/app_sandbox/network_client=false
|
||||
codesign/entitlements/app_sandbox/device_usb=false
|
||||
codesign/entitlements/app_sandbox/device_bluetooth=false
|
||||
codesign/entitlements/app_sandbox/files_downloads=0
|
||||
codesign/entitlements/app_sandbox/files_pictures=0
|
||||
codesign/entitlements/app_sandbox/files_music=0
|
||||
codesign/entitlements/app_sandbox/files_movies=0
|
||||
codesign/entitlements/app_sandbox/files_user_selected=0
|
||||
codesign/entitlements/app_sandbox/helper_executables=[]
|
||||
codesign/entitlements/additional=""
|
||||
codesign/custom_options=PackedStringArray()
|
||||
notarization/notarization=0
|
||||
privacy/microphone_usage_description=""
|
||||
privacy/microphone_usage_description_localized={}
|
||||
privacy/camera_usage_description=""
|
||||
privacy/camera_usage_description_localized={}
|
||||
privacy/location_usage_description=""
|
||||
privacy/location_usage_description_localized={}
|
||||
privacy/address_book_usage_description=""
|
||||
privacy/address_book_usage_description_localized={}
|
||||
privacy/calendar_usage_description=""
|
||||
privacy/calendar_usage_description_localized={}
|
||||
privacy/photos_library_usage_description=""
|
||||
privacy/photos_library_usage_description_localized={}
|
||||
privacy/desktop_folder_usage_description=""
|
||||
privacy/desktop_folder_usage_description_localized={}
|
||||
privacy/documents_folder_usage_description=""
|
||||
privacy/documents_folder_usage_description_localized={}
|
||||
privacy/downloads_folder_usage_description=""
|
||||
privacy/downloads_folder_usage_description_localized={}
|
||||
privacy/network_volumes_usage_description=""
|
||||
privacy/network_volumes_usage_description_localized={}
|
||||
privacy/removable_volumes_usage_description=""
|
||||
privacy/removable_volumes_usage_description_localized={}
|
||||
privacy/tracking_enabled=false
|
||||
privacy/tracking_domains=PackedStringArray()
|
||||
privacy/collected_data/name/collected=false
|
||||
privacy/collected_data/name/linked_to_user=false
|
||||
privacy/collected_data/name/used_for_tracking=false
|
||||
privacy/collected_data/name/collection_purposes=0
|
||||
privacy/collected_data/email_address/collected=false
|
||||
privacy/collected_data/email_address/linked_to_user=false
|
||||
privacy/collected_data/email_address/used_for_tracking=false
|
||||
privacy/collected_data/email_address/collection_purposes=0
|
||||
privacy/collected_data/phone_number/collected=false
|
||||
privacy/collected_data/phone_number/linked_to_user=false
|
||||
privacy/collected_data/phone_number/used_for_tracking=false
|
||||
privacy/collected_data/phone_number/collection_purposes=0
|
||||
privacy/collected_data/physical_address/collected=false
|
||||
privacy/collected_data/physical_address/linked_to_user=false
|
||||
privacy/collected_data/physical_address/used_for_tracking=false
|
||||
privacy/collected_data/physical_address/collection_purposes=0
|
||||
privacy/collected_data/other_contact_info/collected=false
|
||||
privacy/collected_data/other_contact_info/linked_to_user=false
|
||||
privacy/collected_data/other_contact_info/used_for_tracking=false
|
||||
privacy/collected_data/other_contact_info/collection_purposes=0
|
||||
privacy/collected_data/health/collected=false
|
||||
privacy/collected_data/health/linked_to_user=false
|
||||
privacy/collected_data/health/used_for_tracking=false
|
||||
privacy/collected_data/health/collection_purposes=0
|
||||
privacy/collected_data/fitness/collected=false
|
||||
privacy/collected_data/fitness/linked_to_user=false
|
||||
privacy/collected_data/fitness/used_for_tracking=false
|
||||
privacy/collected_data/fitness/collection_purposes=0
|
||||
privacy/collected_data/payment_info/collected=false
|
||||
privacy/collected_data/payment_info/linked_to_user=false
|
||||
privacy/collected_data/payment_info/used_for_tracking=false
|
||||
privacy/collected_data/payment_info/collection_purposes=0
|
||||
privacy/collected_data/credit_info/collected=false
|
||||
privacy/collected_data/credit_info/linked_to_user=false
|
||||
privacy/collected_data/credit_info/used_for_tracking=false
|
||||
privacy/collected_data/credit_info/collection_purposes=0
|
||||
privacy/collected_data/other_financial_info/collected=false
|
||||
privacy/collected_data/other_financial_info/linked_to_user=false
|
||||
privacy/collected_data/other_financial_info/used_for_tracking=false
|
||||
privacy/collected_data/other_financial_info/collection_purposes=0
|
||||
privacy/collected_data/precise_location/collected=false
|
||||
privacy/collected_data/precise_location/linked_to_user=false
|
||||
privacy/collected_data/precise_location/used_for_tracking=false
|
||||
privacy/collected_data/precise_location/collection_purposes=0
|
||||
privacy/collected_data/coarse_location/collected=false
|
||||
privacy/collected_data/coarse_location/linked_to_user=false
|
||||
privacy/collected_data/coarse_location/used_for_tracking=false
|
||||
privacy/collected_data/coarse_location/collection_purposes=0
|
||||
privacy/collected_data/sensitive_info/collected=false
|
||||
privacy/collected_data/sensitive_info/linked_to_user=false
|
||||
privacy/collected_data/sensitive_info/used_for_tracking=false
|
||||
privacy/collected_data/sensitive_info/collection_purposes=0
|
||||
privacy/collected_data/contacts/collected=false
|
||||
privacy/collected_data/contacts/linked_to_user=false
|
||||
privacy/collected_data/contacts/used_for_tracking=false
|
||||
privacy/collected_data/contacts/collection_purposes=0
|
||||
privacy/collected_data/emails_or_text_messages/collected=false
|
||||
privacy/collected_data/emails_or_text_messages/linked_to_user=false
|
||||
privacy/collected_data/emails_or_text_messages/used_for_tracking=false
|
||||
privacy/collected_data/emails_or_text_messages/collection_purposes=0
|
||||
privacy/collected_data/photos_or_videos/collected=false
|
||||
privacy/collected_data/photos_or_videos/linked_to_user=false
|
||||
privacy/collected_data/photos_or_videos/used_for_tracking=false
|
||||
privacy/collected_data/photos_or_videos/collection_purposes=0
|
||||
privacy/collected_data/audio_data/collected=false
|
||||
privacy/collected_data/audio_data/linked_to_user=false
|
||||
privacy/collected_data/audio_data/used_for_tracking=false
|
||||
privacy/collected_data/audio_data/collection_purposes=0
|
||||
privacy/collected_data/gameplay_content/collected=false
|
||||
privacy/collected_data/gameplay_content/linked_to_user=false
|
||||
privacy/collected_data/gameplay_content/used_for_tracking=false
|
||||
privacy/collected_data/gameplay_content/collection_purposes=0
|
||||
privacy/collected_data/customer_support/collected=false
|
||||
privacy/collected_data/customer_support/linked_to_user=false
|
||||
privacy/collected_data/customer_support/used_for_tracking=false
|
||||
privacy/collected_data/customer_support/collection_purposes=0
|
||||
privacy/collected_data/other_user_content/collected=false
|
||||
privacy/collected_data/other_user_content/linked_to_user=false
|
||||
privacy/collected_data/other_user_content/used_for_tracking=false
|
||||
privacy/collected_data/other_user_content/collection_purposes=0
|
||||
privacy/collected_data/browsing_history/collected=false
|
||||
privacy/collected_data/browsing_history/linked_to_user=false
|
||||
privacy/collected_data/browsing_history/used_for_tracking=false
|
||||
privacy/collected_data/browsing_history/collection_purposes=0
|
||||
privacy/collected_data/search_hhistory/collected=false
|
||||
privacy/collected_data/search_hhistory/linked_to_user=false
|
||||
privacy/collected_data/search_hhistory/used_for_tracking=false
|
||||
privacy/collected_data/search_hhistory/collection_purposes=0
|
||||
privacy/collected_data/user_id/collected=false
|
||||
privacy/collected_data/user_id/linked_to_user=false
|
||||
privacy/collected_data/user_id/used_for_tracking=false
|
||||
privacy/collected_data/user_id/collection_purposes=0
|
||||
privacy/collected_data/device_id/collected=false
|
||||
privacy/collected_data/device_id/linked_to_user=false
|
||||
privacy/collected_data/device_id/used_for_tracking=false
|
||||
privacy/collected_data/device_id/collection_purposes=0
|
||||
privacy/collected_data/purchase_history/collected=false
|
||||
privacy/collected_data/purchase_history/linked_to_user=false
|
||||
privacy/collected_data/purchase_history/used_for_tracking=false
|
||||
privacy/collected_data/purchase_history/collection_purposes=0
|
||||
privacy/collected_data/product_interaction/collected=false
|
||||
privacy/collected_data/product_interaction/linked_to_user=false
|
||||
privacy/collected_data/product_interaction/used_for_tracking=false
|
||||
privacy/collected_data/product_interaction/collection_purposes=0
|
||||
privacy/collected_data/advertising_data/collected=false
|
||||
privacy/collected_data/advertising_data/linked_to_user=false
|
||||
privacy/collected_data/advertising_data/used_for_tracking=false
|
||||
privacy/collected_data/advertising_data/collection_purposes=0
|
||||
privacy/collected_data/other_usage_data/collected=false
|
||||
privacy/collected_data/other_usage_data/linked_to_user=false
|
||||
privacy/collected_data/other_usage_data/used_for_tracking=false
|
||||
privacy/collected_data/other_usage_data/collection_purposes=0
|
||||
privacy/collected_data/crash_data/collected=false
|
||||
privacy/collected_data/crash_data/linked_to_user=false
|
||||
privacy/collected_data/crash_data/used_for_tracking=false
|
||||
privacy/collected_data/crash_data/collection_purposes=0
|
||||
privacy/collected_data/performance_data/collected=false
|
||||
privacy/collected_data/performance_data/linked_to_user=false
|
||||
privacy/collected_data/performance_data/used_for_tracking=false
|
||||
privacy/collected_data/performance_data/collection_purposes=0
|
||||
privacy/collected_data/other_diagnostic_data/collected=false
|
||||
privacy/collected_data/other_diagnostic_data/linked_to_user=false
|
||||
privacy/collected_data/other_diagnostic_data/used_for_tracking=false
|
||||
privacy/collected_data/other_diagnostic_data/collection_purposes=0
|
||||
privacy/collected_data/environment_scanning/collected=false
|
||||
privacy/collected_data/environment_scanning/linked_to_user=false
|
||||
privacy/collected_data/environment_scanning/used_for_tracking=false
|
||||
privacy/collected_data/environment_scanning/collection_purposes=0
|
||||
privacy/collected_data/hands/collected=false
|
||||
privacy/collected_data/hands/linked_to_user=false
|
||||
privacy/collected_data/hands/used_for_tracking=false
|
||||
privacy/collected_data/hands/collection_purposes=0
|
||||
privacy/collected_data/head/collected=false
|
||||
privacy/collected_data/head/linked_to_user=false
|
||||
privacy/collected_data/head/used_for_tracking=false
|
||||
privacy/collected_data/head/collection_purposes=0
|
||||
privacy/collected_data/other_data_types/collected=false
|
||||
privacy/collected_data/other_data_types/linked_to_user=false
|
||||
privacy/collected_data/other_data_types/used_for_tracking=false
|
||||
privacy/collected_data/other_data_types/collection_purposes=0
|
||||
ssh_remote_deploy/enabled=false
|
||||
ssh_remote_deploy/host="user@host_ip"
|
||||
ssh_remote_deploy/port="22"
|
||||
ssh_remote_deploy/extra_args_ssh=""
|
||||
ssh_remote_deploy/extra_args_scp=""
|
||||
ssh_remote_deploy/run_script="#!/usr/bin/env bash
|
||||
unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
|
||||
open \"{temp_dir}/{exe_name}.app\" --args {cmd_args}"
|
||||
ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
|
||||
kill $(pgrep -x -f \"{temp_dir}/{exe_name}.app/Contents/MacOS/{exe_name} {cmd_args}\")
|
||||
rm -rf \"{temp_dir}\""
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
:ready
|
||||
global achievement_hambrientas
|
||||
|
||||
:action1
|
||||
say($player, "El cuerno de Uli, la llamada para comer.", "cocina_cuerno_action1_say")
|
||||
|
||||
@@ -29,5 +32,8 @@
|
||||
stop
|
||||
play_video("res://gymkhana/videos/turno_cocina/cuerno_antes_de_tiempo.ogv")
|
||||
accept_input("ALL")
|
||||
if not achievement_hambrientas:
|
||||
unlock_achievement("hambrientas")
|
||||
set_global("achievement_hambrientas", true)
|
||||
stop
|
||||
say($player, "Si lo toco aquí no me va a oir la gente que esté en la huerta, debería buscar un sitio mejor.","cocina_cuerno_action4_say")
|
||||
|
||||
@@ -41,8 +41,3 @@
|
||||
say($player, "4 patatas medianas", "cocina_libro_de_cocina_action3_3")
|
||||
say($player, "1 kilo exacto de lentejas", "cocina_libro_de_cocina_action3_4")
|
||||
say($player, "Una cabeza de ajo.", "cocina_libro_de_cocina_action3_5")
|
||||
inc_global("turno_cocina_libro_leido_count")
|
||||
if turno_cocina_libro_leido_count == 4:
|
||||
set_global("turno_cocina_hint_romero", true)
|
||||
say($player, "Tambien hay un dibujo de una hierba con la palabra ROMERO.","cocina_libro_de_cocina_action3_romero")
|
||||
set_global("turno_cocina_libro_leido_count", 0)
|
||||
|
||||
@@ -2,12 +2,7 @@
|
||||
say($player, "Hay muchas hierbas.", "cocina_detras_romero_action1_say")
|
||||
|
||||
:action2
|
||||
if !turno_cocina_hint_romero:
|
||||
say($player, "No sabría cual coger. ¿Y si alguna es venenosa?", "cocina_detras_romero_action2_unknown_say")
|
||||
else:
|
||||
say($player, "¡Esta parece romero, si lo echo a las lentejas estarán bien ricas!", "cocina_detras_romero_action2_known_say")
|
||||
inventory_add($turno_cocina_romero)
|
||||
set_active($turno_cocina_romero,false)
|
||||
say($player, "No sabría cual coger. ¿Y si alguna es venenosa?", "cocina_detras_romero_action2_unknown_say")
|
||||
|
||||
:action3
|
||||
say($player, "Romero, el ingrediente secreto para unas lentejas de rechupete.", "cocina_detras_romero_action3_say")
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
set_active($cocina_fregadero_der, false)
|
||||
set_active($cocina_puerta_delante, false)
|
||||
set_active($cocina_puerta_detras, false)
|
||||
set_active($turno_cocina_cuerno, false)
|
||||
set_interactive($turno_cocina_cuerno, false)
|
||||
set_interactive($cocina_patata, false)
|
||||
set_active($cocina_debajo_sofa, false)
|
||||
set_active($turno_cocina_jarra, false)
|
||||
@@ -57,8 +57,8 @@
|
||||
set_active($cocina_fregadero_der, true)
|
||||
set_active($cocina_puerta_delante, true)
|
||||
set_active($cocina_puerta_detras, true)
|
||||
set_active($turno_cocina_cuerno, true)
|
||||
set_active($cocina_patata, true)
|
||||
set_interactive($turno_cocina_cuerno, true)
|
||||
set_interactive($cocina_patata, true)
|
||||
set_active($cocina_debajo_sofa, true)
|
||||
|
||||
if turno_cocina_mikel_playing:
|
||||
|
||||
@@ -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
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user