Compare commits
24 Commits
release/1.
...
release/1.
| Author | SHA1 | Date | |
|---|---|---|---|
| cb5acb0a0d | |||
| 34e5cdb80f | |||
| 8337f3d150 | |||
| 94c0363156 | |||
| c9fee9ad87 | |||
| 279fd91aa1 | |||
| 481c7993c4 | |||
| 080ea1dfe1 | |||
| 01835d0a4e | |||
| 981df00da2 | |||
| ed20451c36 | |||
| 1c74528184 | |||
| 2f1971c52a | |||
| e5949dc0cf | |||
| 67228746b5 | |||
| 9eec24157d | |||
| 021c862f7b | |||
| 3fa3f48476 | |||
| d03c46fb33 | |||
| 3d0b68a280 | |||
| bd93904bcb | |||
| 3d9445a40a | |||
| 0b63c25df1 | |||
| 173dc4e01c |
@@ -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:
|
||||
|
||||
@@ -40,6 +40,11 @@ func initialize(dialog_manager: ESCDialogManager, character: String, text: Strin
|
||||
|
||||
func handle_input(_event):
|
||||
if _event is InputEventMouseButton and _event.pressed:
|
||||
# MODIFIED FOR RTMI-UI: HACK FOR MENU/FULLSCREEN/MUSIC BUTTONS
|
||||
var position: Vector2 = _event.global_position
|
||||
if position.x > 1080 and position.y < 70:
|
||||
return
|
||||
# END MODIFIED FOR RTMI-UI
|
||||
if escoria.inputs_manager.input_mode != \
|
||||
escoria.inputs_manager.INPUT_NONE and \
|
||||
_dialog_manager != null:
|
||||
|
||||
@@ -68,6 +68,9 @@ var _progress_tween: Tween
|
||||
|
||||
# Build up the UI
|
||||
func _ready():
|
||||
escoria.paused.connect(_on_paused)
|
||||
escoria.resumed.connect(_on_resumed)
|
||||
|
||||
_click_to_continue = escoria.settings_manager.get_custom_setting(
|
||||
RTMISimpleDialogSettings.CLEAR_TEXT_BY_CLICK_ONLY_KEY,
|
||||
RTMISimpleDialogSettings.CLEAR_TEXT_BY_CLICK_ONLY_DEFAULT_VALUE
|
||||
@@ -304,12 +307,14 @@ func _on_dialog_finished():
|
||||
# Handler managing pause notification from Escoria
|
||||
func _on_paused():
|
||||
_talking_timer.set_paused(true)
|
||||
hide()
|
||||
|
||||
|
||||
|
||||
# Handler managing resume notification from Escoria
|
||||
func _on_resumed():
|
||||
_talking_timer.set_paused(false)
|
||||
|
||||
show()
|
||||
|
||||
func _stop_character_talking():
|
||||
# Make the speaking item animation stop talking, if it is still alive
|
||||
|
||||
@@ -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 = "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"
|
||||
@@ -59,13 +59,14 @@ const ESC_UI_CHANGE_VERB_ACTION = "esc_change_verb"
|
||||
@export var video_player: RTMIVideoPlayer
|
||||
@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()
|
||||
@@ -266,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:
|
||||
@@ -442,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()
|
||||
|
||||
@@ -565,7 +570,10 @@ func _on_event_done(return_code: int, _event_name: String):
|
||||
|
||||
|
||||
func _on_MenuButton_pressed() -> void:
|
||||
pause_game()
|
||||
if escoria.current_state == escoria.GAME_STATE.PAUSED:
|
||||
unpause_game()
|
||||
else:
|
||||
pause_game()
|
||||
|
||||
|
||||
# Clears the tooltip content (if an ESCTooltip node exists in UI)
|
||||
@@ -614,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
|
||||
|
||||
@@ -668,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
|
||||
@@ -56,6 +58,7 @@ editor_debug_mode = 1
|
||||
|
||||
[node name="black_and_white_shader" type="CanvasLayer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
layer = 4
|
||||
visible = false
|
||||
script = ExtResource("2_o34rc")
|
||||
|
||||
@@ -68,6 +71,7 @@ grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="CanvasLayer" type="CanvasLayer" parent="."]
|
||||
layer = 4
|
||||
|
||||
[node name="Confetti" parent="CanvasLayer" instance=ExtResource("4_ixq7a")]
|
||||
|
||||
@@ -84,7 +88,8 @@ color = Color(0, 0, 0, 1)
|
||||
[node name="game_layer" type="CanvasLayer" parent="."]
|
||||
|
||||
[node name="dialog_layer" type="CanvasLayer" parent="game_layer"]
|
||||
layer = 3
|
||||
unique_name_in_owner = true
|
||||
layer = 2
|
||||
|
||||
[node name="ESCDialogsPlayer" type="Control" parent="game_layer/dialog_layer"]
|
||||
layout_mode = 3
|
||||
@@ -93,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
|
||||
@@ -105,51 +110,11 @@ offset_from_cursor_action4 = Vector2(0, -20)
|
||||
debug_mode = true
|
||||
|
||||
[node name="ui_layer" type="CanvasLayer" parent="game_layer"]
|
||||
layer = 2
|
||||
|
||||
[node name="DevTools" parent="game_layer/ui_layer" instance=ExtResource("7_qk4ex")]
|
||||
visible = false
|
||||
|
||||
[node name="Tools" type="PanelContainer" parent="game_layer/ui_layer"]
|
||||
anchors_preset = 1
|
||||
anchor_left = 1.0
|
||||
anchor_right = 1.0
|
||||
offset_left = -220.0
|
||||
offset_bottom = 84.0
|
||||
grow_horizontal = 0
|
||||
theme = ExtResource("9")
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="game_layer/ui_layer/Tools"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="HBoxContainer2" type="HBoxContainer" parent="game_layer/ui_layer/Tools/MarginContainer"]
|
||||
layout_mode = 2
|
||||
alignment = 2
|
||||
|
||||
[node name="FullScreenButton" type="TextureButton" parent="game_layer/ui_layer/Tools/MarginContainer/HBoxContainer2"]
|
||||
process_mode = 3
|
||||
layout_mode = 2
|
||||
texture_normal = ExtResource("18_ixq7a")
|
||||
texture_hover = ExtResource("12_te176")
|
||||
script = ExtResource("13_6rlck")
|
||||
fullscreen_active_texture = ExtResource("14_c6byj")
|
||||
fullscreen_active_hover_texture = ExtResource("15_j7gr8")
|
||||
fullscreen_default_texture = ExtResource("18_ixq7a")
|
||||
fullscreen_default_hover_texture = ExtResource("12_te176")
|
||||
|
||||
[node name="MusicButton" type="TextureButton" parent="game_layer/ui_layer/Tools/MarginContainer/HBoxContainer2"]
|
||||
custom_minimum_size = Vector2(64, 0)
|
||||
layout_mode = 2
|
||||
script = ExtResource("14")
|
||||
music_enabled_texture = ExtResource("6")
|
||||
music_enabled_hover_texture = ExtResource("13")
|
||||
music_disabled_texture = ExtResource("16")
|
||||
music_disabled_hover_texture = ExtResource("15")
|
||||
|
||||
[node name="MenuButton" type="TextureButton" parent="game_layer/ui_layer/Tools/MarginContainer/HBoxContainer2"]
|
||||
layout_mode = 2
|
||||
texture_normal = ExtResource("13_we0hb")
|
||||
texture_hover = ExtResource("14_parhr")
|
||||
|
||||
[node name="Inventory" parent="game_layer/ui_layer" instance=ExtResource("1")]
|
||||
anchors_preset = 7
|
||||
anchor_top = 1.0
|
||||
@@ -164,7 +129,7 @@ pivot_offset = Vector2(845, 116)
|
||||
[node name="AchievementNotifications" parent="game_layer/ui_layer" instance=ExtResource("18_ssxmx")]
|
||||
|
||||
[node name="menu_layer" type="CanvasLayer" parent="."]
|
||||
layer = 2
|
||||
layer = 8
|
||||
|
||||
[node name="pause_menu" parent="menu_layer" instance=ExtResource("8")]
|
||||
visible = false
|
||||
@@ -182,6 +147,55 @@ visible = false
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
|
||||
[connection signal="button_down" from="game_layer/ui_layer/Tools/MarginContainer/HBoxContainer2/FullScreenButton" to="game_layer/ui_layer/Tools/MarginContainer/HBoxContainer2/FullScreenButton" method="_on_button_down"]
|
||||
[connection signal="pressed" from="game_layer/ui_layer/Tools/MarginContainer/HBoxContainer2/MusicButton" to="." method="_on_MusicButton_pressed"]
|
||||
[connection signal="pressed" from="game_layer/ui_layer/Tools/MarginContainer/HBoxContainer2/MenuButton" to="." method="_on_MenuButton_pressed"]
|
||||
[node name="AchievementsMenu" parent="menu_layer" instance=ExtResource("18_j7gr8")]
|
||||
visible = false
|
||||
|
||||
[node name="buttons_layer" type="CanvasLayer" parent="."]
|
||||
layer = 10
|
||||
|
||||
[node name="Tools" type="PanelContainer" parent="buttons_layer"]
|
||||
anchors_preset = 1
|
||||
anchor_left = 1.0
|
||||
anchor_right = 1.0
|
||||
offset_left = -220.0
|
||||
offset_bottom = 84.0
|
||||
grow_horizontal = 0
|
||||
theme = ExtResource("9")
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="buttons_layer/Tools"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="HBoxContainer2" type="HBoxContainer" parent="buttons_layer/Tools/MarginContainer"]
|
||||
layout_mode = 2
|
||||
alignment = 2
|
||||
|
||||
[node name="FullScreenButton" type="TextureButton" parent="buttons_layer/Tools/MarginContainer/HBoxContainer2"]
|
||||
process_mode = 3
|
||||
layout_mode = 2
|
||||
texture_normal = ExtResource("18_ixq7a")
|
||||
texture_hover = ExtResource("12_te176")
|
||||
script = ExtResource("13_6rlck")
|
||||
fullscreen_active_texture = ExtResource("14_c6byj")
|
||||
fullscreen_active_hover_texture = ExtResource("15_j7gr8")
|
||||
fullscreen_default_texture = ExtResource("18_ixq7a")
|
||||
fullscreen_default_hover_texture = ExtResource("12_te176")
|
||||
|
||||
[node name="MusicButton" type="TextureButton" parent="buttons_layer/Tools/MarginContainer/HBoxContainer2"]
|
||||
process_mode = 3
|
||||
custom_minimum_size = Vector2(64, 0)
|
||||
layout_mode = 2
|
||||
script = ExtResource("14")
|
||||
music_enabled_texture = ExtResource("6")
|
||||
music_enabled_hover_texture = ExtResource("13")
|
||||
music_disabled_texture = ExtResource("16")
|
||||
music_disabled_hover_texture = ExtResource("15")
|
||||
|
||||
[node name="MenuButton" type="TextureButton" parent="buttons_layer/Tools/MarginContainer/HBoxContainer2"]
|
||||
process_mode = 3
|
||||
layout_mode = 2
|
||||
texture_normal = ExtResource("13_we0hb")
|
||||
texture_hover = ExtResource("14_parhr")
|
||||
|
||||
[connection signal="button_down" from="buttons_layer/Tools/MarginContainer/HBoxContainer2/FullScreenButton" to="buttons_layer/Tools/MarginContainer/HBoxContainer2/FullScreenButton" method="_on_button_down"]
|
||||
[connection signal="pressed" from="buttons_layer/Tools/MarginContainer/HBoxContainer2/MusicButton" to="." method="_on_MusicButton_pressed"]
|
||||
[connection signal="pressed" from="buttons_layer/Tools/MarginContainer/HBoxContainer2/MenuButton" to="." method="_on_MenuButton_pressed"]
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,14 +1,19 @@
|
||||
# A simple main menu
|
||||
extends Control
|
||||
|
||||
var save_enabled = ESCProjectSettingsManager.get_setting( RTMIUiSettings.SAVEGAME_ENABLED)
|
||||
var save_enabled = ESCProjectSettingsManager.get_setting(RTMIUiSettings.SAVEGAME_ENABLED)
|
||||
|
||||
|
||||
# Start the game
|
||||
func _on_new_game_pressed():
|
||||
escoria.new_game()
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
%Version.text = "v%s %s" % [gymkhana.version.current, "DEGUG" if OS.has_feature("debug") else ""]
|
||||
if OS.get_name() == "Web":
|
||||
%quit.visible = false
|
||||
|
||||
|
||||
# Show the load slots
|
||||
func _on_load_game_pressed():
|
||||
|
||||
@@ -88,6 +88,7 @@ script = ExtResource("5_4i6cp")
|
||||
|
||||
[node name="quit" type="Button" parent="main/main/buttons"]
|
||||
custom_minimum_size = Vector2(0, 40)
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "QUIT"
|
||||
script = ExtResource("5_4i6cp")
|
||||
|
||||
@@ -8,7 +8,8 @@ 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
|
||||
|
||||
|
||||
# Continue the game
|
||||
@@ -92,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,6 +117,7 @@ text = "OPTIONS"
|
||||
script = ExtResource("6_31lra")
|
||||
|
||||
[node name="quit" type="Button" parent="VBoxContainer/menuitems"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(0, 30)
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
@@ -133,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"
|
||||
|
||||
14
build.sh
14
build.sh
@@ -37,27 +37,32 @@ PLATFORMS=(
|
||||
"amd"
|
||||
"arm"
|
||||
"web"
|
||||
"web-multi"
|
||||
)
|
||||
|
||||
declare -A PLATFORM_NAMES
|
||||
PLATFORM_NAMES["amd"]=$EXPORT_NAME
|
||||
PLATFORM_NAMES["arm"]=$EXPORT_NAME
|
||||
PLATFORM_NAMES["web"]="index"
|
||||
PLATFORM_NAMES["web-multi"]="index"
|
||||
|
||||
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"
|
||||
|
||||
declare -A PLATFORM_EXPORTS
|
||||
PLATFORM_EXPORTS["amd"]="Linux"
|
||||
PLATFORM_EXPORTS["arm"]="LinuxARM"
|
||||
PLATFORM_EXPORTS["web"]="Web"
|
||||
PLATFORM_EXPORTS["web-multi"]="WebThread"
|
||||
|
||||
declare -A PLATFORM_OVERRIDES
|
||||
PLATFORM_OVERRIDES["amd"]="debug"
|
||||
PLATFORM_OVERRIDES["arm"]="debug"
|
||||
PLATFORM_OVERRIDES["web"]="web"
|
||||
PLATFORM_OVERRIDES["web-multi"]="web"
|
||||
|
||||
CURRENT_EXPORT_DIR=$EXPORT_DIR/release
|
||||
|
||||
@@ -77,8 +82,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 +90,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,49 @@ 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
|
||||
|
||||
@@ -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.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user