New base minigame
This commit is contained in:
@@ -2,37 +2,94 @@ extends Node2D
|
||||
class_name Minigame
|
||||
|
||||
@export var minigame_name: = "Minigame"
|
||||
@export var lives: = 5
|
||||
@export var max_number_of_lives: = 5 :
|
||||
set(value): _set_max_lives(value)
|
||||
get: return _max_number_of_lives
|
||||
@export var start_kalulu_speech: AudioStream
|
||||
@export var win_kalulu_speech: AudioStream
|
||||
@export var lose_kalulu_speech: AudioStream = preload("res://resources/minigames/kalulu/kalulu_lose_minigame_all.mp3")
|
||||
|
||||
@onready var minigame_ui: = $MinigameUI
|
||||
@onready var opening_curtain: = $OpeningCurtain
|
||||
|
||||
# Game root shall contain all the game tree.
|
||||
# This node is pausable unlike the others, so the pause button can stop the game but not other essential processes.
|
||||
@onready var game_root: = $GameRoot
|
||||
|
||||
# Lesson
|
||||
var lesson: String
|
||||
var minigame_difficulty: int
|
||||
var lesson_difficulty: int
|
||||
|
||||
# Logs
|
||||
var logs: = {}
|
||||
|
||||
var stimuli: = {}
|
||||
var distractions: = {}
|
||||
# Stimuli
|
||||
var stimuli: = []
|
||||
var distractions: = []
|
||||
|
||||
# Lives
|
||||
var _max_number_of_lives : = 0
|
||||
var current_lives: = 0 :
|
||||
set(value): _set_current_lives(value)
|
||||
get: return _current_lives
|
||||
var _current_lives: = 0
|
||||
|
||||
# Progression
|
||||
var max_progression: = 0 :
|
||||
set(value): _set_max_progression(value)
|
||||
get: return _max_progression
|
||||
var _max_progression: = 0
|
||||
var current_progression: = 0 :
|
||||
set(value): _set_current_progression(value)
|
||||
get: return _current_progression
|
||||
var _current_progression: = 0
|
||||
|
||||
|
||||
# ------------ Initialisation ------------
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
_initialize()
|
||||
|
||||
|
||||
func _initialize() -> void:
|
||||
_setup_minigame()
|
||||
|
||||
_find_stimuli_and_distractions()
|
||||
|
||||
_start()
|
||||
|
||||
|
||||
# Find and set the parameters of the minigame, like the number of lives or the victory conditions.
|
||||
func _setup_minigame() -> void:
|
||||
current_lives = max_number_of_lives
|
||||
|
||||
|
||||
|
||||
# Find the stimuli and distractions of the minigame.
|
||||
func _find_stimuli_and_distractions() -> void:
|
||||
return
|
||||
|
||||
|
||||
# Launch the minigame
|
||||
func _start() -> void:
|
||||
return
|
||||
opening_curtain.play("open")
|
||||
await opening_curtain.animation_finished
|
||||
|
||||
|
||||
# ------------ End ------------
|
||||
|
||||
|
||||
func _reset() -> void:
|
||||
_initialize()
|
||||
|
||||
|
||||
func _win() -> void:
|
||||
minigame_ui.play_kalulu_speech(win_kalulu_speech)
|
||||
await minigame_ui.kalulu_speech_end
|
||||
|
||||
|
||||
|
||||
|
||||
# ------------ Logs ------------
|
||||
@@ -40,7 +97,6 @@ func _start() -> void:
|
||||
|
||||
func _save_logs() -> void:
|
||||
LessonLogger.save_logs(logs, GameGlobals.teacher_id, GameGlobals.user_id, minigame_name, lesson, Time.get_time_string_from_system())
|
||||
|
||||
_reset_logs()
|
||||
|
||||
|
||||
@@ -50,6 +106,7 @@ func _reset_logs() -> void:
|
||||
|
||||
# ------------ UI ------------
|
||||
|
||||
# Callbacks
|
||||
|
||||
func _go_back_to_the_garden() -> void:
|
||||
return
|
||||
@@ -66,6 +123,7 @@ func _pause_game() -> void:
|
||||
func _play_kalulu() -> void:
|
||||
return
|
||||
|
||||
# Connections
|
||||
|
||||
func _on_minigame_ui_garden_button_pressed() -> void:
|
||||
_go_back_to_the_garden()
|
||||
@@ -81,3 +139,30 @@ func _on_minigame_ui_pause_button_pressed() -> void:
|
||||
|
||||
func _on_minigame_ui_kalulu_button_pressed() -> void:
|
||||
_play_kalulu()
|
||||
|
||||
|
||||
# ------------ setters/getters ------------
|
||||
|
||||
|
||||
func _set_max_lives(value: int) -> void:
|
||||
_max_number_of_lives = value
|
||||
if minigame_ui:
|
||||
minigame_ui.set_maximum_number_of_lives(value)
|
||||
|
||||
|
||||
func _set_current_lives(value: int) -> void:
|
||||
_current_lives = value
|
||||
if minigame_ui:
|
||||
minigame_ui.set_number_of_lives(value)
|
||||
|
||||
|
||||
func _set_max_progression(value: int) -> void:
|
||||
_max_progression = value
|
||||
if minigame_ui:
|
||||
minigame_ui.set_max_progression(value)
|
||||
|
||||
|
||||
func _set_current_progression(value: int) -> void:
|
||||
_current_progression = value
|
||||
if minigame_ui:
|
||||
minigame_ui.set_current_progression(value)
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://8awe4usnucyv"]
|
||||
[gd_scene load_steps=4 format=3 uid="uid://8awe4usnucyv"]
|
||||
|
||||
[ext_resource type="Script" path="res://sources/minigames/base/base_minigame.gd" id="1_jdfsm"]
|
||||
[ext_resource type="PackedScene" uid="uid://r8rtrts18ax3" path="res://sources/minigames/base/minigame_ui.tscn" id="2_a3tib"]
|
||||
[ext_resource type="PackedScene" uid="uid://weree6bnlt6f" path="res://sources/minigames/base/minigame_ui.tscn" id="2_a3tib"]
|
||||
[ext_resource type="PackedScene" uid="uid://b3ckdfnbc7077" path="res://sources/minigames/base/opening_curtain.tscn" id="3_p5ryr"]
|
||||
|
||||
[node name="BaseMinigame" type="Node2D"]
|
||||
process_mode = 3
|
||||
@@ -9,6 +10,8 @@ script = ExtResource("1_jdfsm")
|
||||
|
||||
[node name="MinigameUI" parent="." instance=ExtResource("2_a3tib")]
|
||||
|
||||
[node name="OpeningCurtain" parent="." instance=ExtResource("3_p5ryr")]
|
||||
|
||||
[node name="StimuliFinder" type="Node" parent="."]
|
||||
process_mode = 3
|
||||
|
||||
@@ -17,5 +20,6 @@ process_mode = 1
|
||||
|
||||
[connection signal="garden_button_pressed" from="MinigameUI" to="." method="_on_minigame_ui_garden_button_pressed"]
|
||||
[connection signal="kalulu_button_pressed" from="MinigameUI" to="." method="_on_minigame_ui_kalulu_button_pressed"]
|
||||
[connection signal="kalulu_speech_end" from="MinigameUI" to="." method="_on_minigame_ui_kalulu_speech_end"]
|
||||
[connection signal="pause_button_pressed" from="MinigameUI" to="." method="_on_minigame_ui_pause_button_pressed"]
|
||||
[connection signal="stimulus_button_pressed" from="MinigameUI" to="." method="_on_minigame_ui_stimulus_button_pressed"]
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
extends Control
|
||||
|
||||
signal kalulu_speech_end
|
||||
|
||||
@onready var kalulu_sprite: = $KaluluSprite
|
||||
@onready var audio_player: = $AudioStreamPlayer2D
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
hide()
|
||||
|
||||
|
||||
func play_kalulu_speech(speech: AudioStream) -> void:
|
||||
show()
|
||||
kalulu_sprite.play("Show")
|
||||
await kalulu_sprite.animation_finished
|
||||
|
||||
kalulu_sprite.play("Talk1")
|
||||
audio_player.stream = speech
|
||||
audio_player.play()
|
||||
|
||||
await audio_player.finished
|
||||
|
||||
kalulu_sprite.play("Hide")
|
||||
await kalulu_sprite.animation_finished
|
||||
hide()
|
||||
|
||||
emit_signal("kalulu_speech_end")
|
||||
|
||||
|
||||
func _on_kalulu_sprite_animation_finished() -> void:
|
||||
if kalulu_sprite.animation in ["Idle1", "Idle2"]:
|
||||
var r: = randf()
|
||||
if r < 0.5:
|
||||
kalulu_sprite.play("Idle1")
|
||||
else:
|
||||
kalulu_sprite.play("Idle2")
|
||||
|
||||
if kalulu_sprite.animation in ["Talk1", "Talk2", "Talk3"]:
|
||||
var r: = randf()
|
||||
if r < 1.0 / 3.0:
|
||||
kalulu_sprite.play("Talk1")
|
||||
elif r < 2.0 / 3.0:
|
||||
kalulu_sprite.play("Talk2")
|
||||
else:
|
||||
kalulu_sprite.play("Talk3")
|
||||
@@ -0,0 +1,419 @@
|
||||
[gd_scene load_steps=90 format=3 uid="uid://c4t2cq5vyj4ai"]
|
||||
|
||||
[ext_resource type="Script" path="res://sources/minigames/base/kalulu.gd" id="1_iin3v"]
|
||||
[ext_resource type="Texture2D" uid="uid://berypn513y7ts" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_hide_0000.png" id="2_v1p5p"]
|
||||
[ext_resource type="Texture2D" uid="uid://ctkb46hb7gd47" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_hide_0001.png" id="3_a4uit"]
|
||||
[ext_resource type="Texture2D" uid="uid://c7111uqtcrkek" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_hide_0002.png" id="4_6rrrn"]
|
||||
[ext_resource type="Texture2D" uid="uid://dsbiou1nvx7n4" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_hide_0003.png" id="5_jujcv"]
|
||||
[ext_resource type="Texture2D" uid="uid://dtls2d4o1grgt" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_hide_0004.png" id="6_bianh"]
|
||||
[ext_resource type="Texture2D" uid="uid://ctdtir4machdd" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_hide_0005.png" id="7_4kwh7"]
|
||||
[ext_resource type="Texture2D" uid="uid://kd5rr141wuvd" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_hide_0006.png" id="8_i51sv"]
|
||||
[ext_resource type="Texture2D" uid="uid://dwposw1jvybvi" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_hide_0007.png" id="9_44s0s"]
|
||||
[ext_resource type="Texture2D" uid="uid://b4dwaw1eyn7h2" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_hide_0008.png" id="10_3mbo2"]
|
||||
[ext_resource type="Texture2D" uid="uid://cnx4dyv6u8j6q" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_hide_0009.png" id="11_w70lp"]
|
||||
[ext_resource type="Texture2D" uid="uid://dtiwcj457j2et" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_hide_0010.png" id="12_h5xrq"]
|
||||
[ext_resource type="Texture2D" uid="uid://bi3nngrurvdv" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_hide_0011.png" id="13_ortja"]
|
||||
[ext_resource type="Texture2D" uid="uid://dum0umkxfsvr" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_idle01_0000.png" id="14_tr4s3"]
|
||||
[ext_resource type="Texture2D" uid="uid://eedcxhmtdfpt" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_idle01_0001.png" id="15_8bctv"]
|
||||
[ext_resource type="Texture2D" uid="uid://bqahvqtfy8mm2" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_idle01_0002.png" id="16_xt1p8"]
|
||||
[ext_resource type="Texture2D" uid="uid://qa6x66pvjkpl" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_idle01_0003.png" id="17_jlybc"]
|
||||
[ext_resource type="Texture2D" uid="uid://c2aplxlmmdocq" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_idle01_0004.png" id="18_xo3iq"]
|
||||
[ext_resource type="Texture2D" uid="uid://de4v2um8bgdrr" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_idle01_0005.png" id="19_i6e61"]
|
||||
[ext_resource type="Texture2D" uid="uid://bvjex7ug0gblu" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_idle01_0006.png" id="20_7qia4"]
|
||||
[ext_resource type="Texture2D" uid="uid://ccp1d4a7n33d2" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_idle01_0008.png" id="21_6iwjd"]
|
||||
[ext_resource type="Texture2D" uid="uid://bmd11sl8vlkbu" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_idle01_0009.png" id="22_llhj1"]
|
||||
[ext_resource type="Texture2D" uid="uid://xwrolsodxfwj" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_idle01_0010.png" id="23_5jqtn"]
|
||||
[ext_resource type="Texture2D" uid="uid://fpmii24xherk" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_idle01_0011.png" id="24_ashsp"]
|
||||
[ext_resource type="Texture2D" uid="uid://q1c0u84gnlas" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_idle02_0000.png" id="25_mec6u"]
|
||||
[ext_resource type="Texture2D" uid="uid://1jitvy4js6vs" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_idle02_0001.png" id="26_20qf7"]
|
||||
[ext_resource type="Texture2D" uid="uid://i0e10jv7abau" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_idle02_0002.png" id="27_u6h5d"]
|
||||
[ext_resource type="Texture2D" uid="uid://boclndp8mfhx7" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_idle02_0003.png" id="28_dh1h1"]
|
||||
[ext_resource type="Texture2D" uid="uid://6j4jsvj7ijew" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_idle02_0004.png" id="29_61c35"]
|
||||
[ext_resource type="Texture2D" uid="uid://c4jntnjjfaspt" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_idle02_0005.png" id="30_pwm6b"]
|
||||
[ext_resource type="Texture2D" uid="uid://2few373mdjwu" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_idle02_0006.png" id="31_2rr6i"]
|
||||
[ext_resource type="Texture2D" uid="uid://cmd2rlspcjsw" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_idle02_0007.png" id="32_kdpqv"]
|
||||
[ext_resource type="Texture2D" uid="uid://3pejdlg4gvfx" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_idle02_0008.png" id="33_163k6"]
|
||||
[ext_resource type="Texture2D" uid="uid://bc05ecw2vopvk" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_idle02_0009.png" id="34_pfi3x"]
|
||||
[ext_resource type="Texture2D" uid="uid://cfadlsc1yqnm8" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_idle02_0010.png" id="35_m2spn"]
|
||||
[ext_resource type="Texture2D" uid="uid://dfwoh4t5ciwhv" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_idle02_0011.png" id="36_3of4g"]
|
||||
[ext_resource type="Texture2D" uid="uid://bxea88k62e1aa" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_show_0000.png" id="37_1ns1c"]
|
||||
[ext_resource type="Texture2D" uid="uid://btwa0vg4iipcd" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_show_0001.png" id="38_fctqx"]
|
||||
[ext_resource type="Texture2D" uid="uid://cj7ei8wstn7hw" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_show_0002.png" id="39_8mqck"]
|
||||
[ext_resource type="Texture2D" uid="uid://s28i672il66" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_show_0003.png" id="40_xbtyg"]
|
||||
[ext_resource type="Texture2D" uid="uid://bs1uppljr8c1j" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_show_0004.png" id="41_xhu8l"]
|
||||
[ext_resource type="Texture2D" uid="uid://cmc60bsqwblus" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_show_0005.png" id="42_4s2al"]
|
||||
[ext_resource type="Texture2D" uid="uid://bea805v3kuijo" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_show_0006.png" id="43_u35d3"]
|
||||
[ext_resource type="Texture2D" uid="uid://bj3w5qq5bg3uu" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_show_0007.png" id="44_ua6l4"]
|
||||
[ext_resource type="Texture2D" uid="uid://bq2icekegojbo" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_show_0008.png" id="45_i6boh"]
|
||||
[ext_resource type="Texture2D" uid="uid://iklrbski84cl" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_show_0009.png" id="46_hipbh"]
|
||||
[ext_resource type="Texture2D" uid="uid://bijmoml1y7wvb" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_show_0010.png" id="47_lp3ga"]
|
||||
[ext_resource type="Texture2D" uid="uid://c1k504v08kvc2" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_show_0011.png" id="48_muc7j"]
|
||||
[ext_resource type="Texture2D" uid="uid://lwckax8t7tl6" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_show_0012.png" id="49_d1dvd"]
|
||||
[ext_resource type="Texture2D" uid="uid://djduqpeuuxt40" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_show_0013.png" id="50_pfvns"]
|
||||
[ext_resource type="Texture2D" uid="uid://ctv36bnfotdx5" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_show_0014.png" id="51_eykem"]
|
||||
[ext_resource type="Texture2D" uid="uid://7f13jtlhl5oq" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_show_0015.png" id="52_l5vw5"]
|
||||
[ext_resource type="Texture2D" uid="uid://c7o0y7wjvotuf" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk1_0000.png" id="53_qpo1c"]
|
||||
[ext_resource type="Texture2D" uid="uid://dbsx5sy02j3du" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk1_0001.png" id="54_b50d3"]
|
||||
[ext_resource type="Texture2D" uid="uid://cuxydkhip7vgj" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk1_0002.png" id="55_m13pt"]
|
||||
[ext_resource type="Texture2D" uid="uid://cjb1swlfloh1" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk1_0003.png" id="56_argx0"]
|
||||
[ext_resource type="Texture2D" uid="uid://1gfia6ydt5ct" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk1_0004.png" id="57_32hr2"]
|
||||
[ext_resource type="Texture2D" uid="uid://cebafgtvfq1wh" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk1_0005.png" id="58_7mb26"]
|
||||
[ext_resource type="Texture2D" uid="uid://f6rlb07xqh3w" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk1_0006.png" id="59_bg4vt"]
|
||||
[ext_resource type="Texture2D" uid="uid://wcmx3hflqgxa" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk1_0007.png" id="60_j50df"]
|
||||
[ext_resource type="Texture2D" uid="uid://yl1gpuuy2l7g" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk1_0008.png" id="61_imahc"]
|
||||
[ext_resource type="Texture2D" uid="uid://cgo8py1xybuhq" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk1_0009.png" id="62_jg3dx"]
|
||||
[ext_resource type="Texture2D" uid="uid://csncsroueedfx" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk1_0010.png" id="63_mybd8"]
|
||||
[ext_resource type="Texture2D" uid="uid://dljmjvqlnljw5" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk1_0011.png" id="64_40vt6"]
|
||||
[ext_resource type="Texture2D" uid="uid://cpfr4rjv6xw0f" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk2_0000.png" id="65_1l1wf"]
|
||||
[ext_resource type="Texture2D" uid="uid://b1ycakbu1w2fb" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk2_0001.png" id="66_vwx28"]
|
||||
[ext_resource type="Texture2D" uid="uid://bwbt8dclrfopx" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk2_0002.png" id="67_6m5mo"]
|
||||
[ext_resource type="Texture2D" uid="uid://vn7orptuhyqw" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk2_0003.png" id="68_q82v0"]
|
||||
[ext_resource type="Texture2D" uid="uid://bjla8n25s2wve" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk2_0004.png" id="69_y4b0u"]
|
||||
[ext_resource type="Texture2D" uid="uid://bpufqx3c1575s" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk2_0005.png" id="70_7xdev"]
|
||||
[ext_resource type="Texture2D" uid="uid://cglywtrymihck" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk2_0006.png" id="71_aehdh"]
|
||||
[ext_resource type="Texture2D" uid="uid://d37o4pf4l4h72" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk2_0007.png" id="72_binb4"]
|
||||
[ext_resource type="Texture2D" uid="uid://bbw1s5bg1tt5k" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk2_0008.png" id="73_75l33"]
|
||||
[ext_resource type="Texture2D" uid="uid://bkgag2ys4rhm7" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk2_0009.png" id="74_5voxi"]
|
||||
[ext_resource type="Texture2D" uid="uid://dh5wpxc4hr8i4" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk2_0010.png" id="75_0dxvt"]
|
||||
[ext_resource type="Texture2D" uid="uid://dy0hj8s05p81n" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk2_0011.png" id="76_70p70"]
|
||||
[ext_resource type="Texture2D" uid="uid://lp8chel2geve" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk3_0000.png" id="77_dpf6i"]
|
||||
[ext_resource type="Texture2D" uid="uid://d204sk1opwvq2" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk3_0001.png" id="78_fad5w"]
|
||||
[ext_resource type="Texture2D" uid="uid://cgvccxcot7aan" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk3_0002.png" id="79_35ub5"]
|
||||
[ext_resource type="Texture2D" uid="uid://bccqkgwd4r6sd" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk3_0003.png" id="80_hsksw"]
|
||||
[ext_resource type="Texture2D" uid="uid://b7jpic8xukj4s" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk3_0004.png" id="81_xjh4s"]
|
||||
[ext_resource type="Texture2D" uid="uid://ssjqyvgi0tq" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk3_0005.png" id="82_m7k40"]
|
||||
[ext_resource type="Texture2D" uid="uid://b1lnl2080k8r1" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk3_0006.png" id="83_o6usd"]
|
||||
[ext_resource type="Texture2D" uid="uid://ciqgubhp7y2ih" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk3_0007.png" id="84_bn5od"]
|
||||
[ext_resource type="Texture2D" uid="uid://dip0ukd0mgymi" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk3_0008.png" id="85_85606"]
|
||||
[ext_resource type="Texture2D" uid="uid://bnx1ev6hm87eq" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk3_0009.png" id="86_w2qch"]
|
||||
[ext_resource type="Texture2D" uid="uid://e8jdvvlkpa4x" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk3_0010.png" id="87_3tj2t"]
|
||||
[ext_resource type="Texture2D" uid="uid://cmo15wsithfdh" path="res://resources/minigames/minigame_ui/graphic/kalulu/kalulu_talk3_0011.png" id="88_gllhj"]
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_igr4d"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("2_v1p5p")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("3_a4uit")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("4_6rrrn")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("5_jujcv")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("6_bianh")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("7_4kwh7")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("8_i51sv")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("9_44s0s")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("10_3mbo2")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("11_w70lp")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("12_h5xrq")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("13_ortja")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Hide",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("14_tr4s3")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("15_8bctv")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("16_xt1p8")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("17_jlybc")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("18_xo3iq")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("19_i6e61")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("20_7qia4")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("21_6iwjd")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("22_llhj1")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("23_5jqtn")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("24_ashsp")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Idle1",
|
||||
"speed": 12.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("25_mec6u")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("26_20qf7")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("27_u6h5d")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("28_dh1h1")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("29_61c35")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("30_pwm6b")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("31_2rr6i")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("32_kdpqv")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("33_163k6")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("34_pfi3x")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("35_m2spn")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("36_3of4g")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Idle2",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("37_1ns1c")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("38_fctqx")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("39_8mqck")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("40_xbtyg")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("41_xhu8l")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("42_4s2al")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("43_u35d3")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("44_ua6l4")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("45_i6boh")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("46_hipbh")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("47_lp3ga")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("48_muc7j")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("49_d1dvd")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("50_pfvns")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("51_eykem")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("52_l5vw5")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Show",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("53_qpo1c")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("54_b50d3")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("55_m13pt")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("56_argx0")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("57_32hr2")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("58_7mb26")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("59_bg4vt")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("60_j50df")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("61_imahc")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("62_jg3dx")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("63_mybd8")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("64_40vt6")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Talk1",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("65_1l1wf")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("66_vwx28")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("67_6m5mo")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("68_q82v0")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("69_y4b0u")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("70_7xdev")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("71_aehdh")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("72_binb4")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("73_75l33")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("74_5voxi")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("75_0dxvt")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("76_70p70")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Talk2",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("77_dpf6i")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("78_fad5w")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("79_35ub5")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("80_hsksw")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("81_xjh4s")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("82_m7k40")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("83_o6usd")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("84_bn5od")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("85_85606")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("86_w2qch")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("87_3tj2t")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("88_gllhj")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Talk3",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[node name="Kalulu" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_iin3v")
|
||||
|
||||
[node name="ColorRect" type="ColorRect" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
color = Color(0.164706, 0.164706, 0.164706, 0.67451)
|
||||
|
||||
[node name="KaluluSprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(653, 1350)
|
||||
scale = Vector2(1.5, 1.5)
|
||||
frames = SubResource("SpriteFrames_igr4d")
|
||||
animation = &"Talk3"
|
||||
|
||||
[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="."]
|
||||
position = Vector2(653, 1421)
|
||||
scale = Vector2(1.5, 1.5)
|
||||
|
||||
[connection signal="animation_finished" from="KaluluSprite" to="." method="_on_kalulu_sprite_animation_finished"]
|
||||
@@ -5,6 +5,10 @@ signal garden_button_pressed
|
||||
signal stimulus_button_pressed
|
||||
signal pause_button_pressed
|
||||
signal kalulu_button_pressed
|
||||
signal kalulu_speech_end
|
||||
|
||||
@export var empty_progression_icon: Texture
|
||||
@export var full_progression_icon: Texture
|
||||
|
||||
# Using unique names to avoid changing the path if the interface architecture changes
|
||||
@onready var garden_button: TextureButton = get_node("%GardenButton")
|
||||
@@ -17,24 +21,25 @@ signal kalulu_button_pressed
|
||||
@onready var progression_empty_icons_rect: TextureRect = get_node("%ProgressionEmptyIconsRect")
|
||||
@onready var progression_full_icons_rect: TextureRect = get_node("%ProgressionFullIconsRect")
|
||||
|
||||
# Kalulu
|
||||
@onready var kalulu: = $MainControl/Kalulu
|
||||
|
||||
# Lives management
|
||||
var max_number_of_lives: = 1
|
||||
var number_of_lives: = 1
|
||||
var empty_life_size: = 0.0
|
||||
var life_size: = 0.0
|
||||
|
||||
# Progression management
|
||||
var max_progression: = 1
|
||||
var current_progression: = 1
|
||||
var progression_gauge_unit_size: = 0.0
|
||||
var progression_empty_icon_size: = 0.0
|
||||
var progression_full_icon_size: = 0.0
|
||||
|
||||
|
||||
# ------------ Initialisation ------------
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
progression_empty_icons_rect.texture = empty_progression_icon
|
||||
progression_full_icons_rect.texture = full_progression_icon
|
||||
|
||||
empty_life_size = empty_lives_rect.custom_minimum_size.x
|
||||
life_size = lives_rect.custom_minimum_size.x
|
||||
|
||||
@@ -64,37 +69,39 @@ func unlock() -> void:
|
||||
|
||||
|
||||
func set_maximum_number_of_lives(new_max_number_of_lives: int) -> void:
|
||||
max_number_of_lives = number_of_lives
|
||||
|
||||
empty_lives_rect.custom_minimum_size.x = new_max_number_of_lives * empty_life_size
|
||||
if new_max_number_of_lives == 0:
|
||||
empty_lives_rect.scale.x = 0
|
||||
else:
|
||||
empty_lives_rect.scale.x = 1
|
||||
|
||||
|
||||
func set_number_of_lives(new_number_of_lives: int) -> void:
|
||||
if new_number_of_lives > max_number_of_lives:
|
||||
set_maximum_number_of_lives(new_number_of_lives)
|
||||
|
||||
number_of_lives = new_number_of_lives
|
||||
|
||||
lives_rect.custom_minimum_size.x = new_number_of_lives * life_size
|
||||
if new_number_of_lives == 0:
|
||||
lives_rect.scale.x = 0
|
||||
else:
|
||||
lives_rect.scale.x = 1
|
||||
|
||||
|
||||
# ------------ Progression ------------
|
||||
|
||||
|
||||
func set_max_progression(new_max_progression: int) -> void:
|
||||
max_progression = new_max_progression
|
||||
|
||||
progression_gauge.custom_minimum_size.y = new_max_progression * progression_gauge_unit_size
|
||||
progression_empty_icons_rect.custom_minimum_size.y = new_max_progression * progression_gauge_unit_size
|
||||
if new_max_progression == 0:
|
||||
progression_empty_icons_rect.scale.y = 0
|
||||
else:
|
||||
progression_empty_icons_rect.scale.y = 1
|
||||
|
||||
|
||||
func set_current_progression(new_current_progression: int) -> void:
|
||||
if current_progression > max_progression:
|
||||
set_max_progression(new_current_progression)
|
||||
|
||||
current_progression = new_current_progression
|
||||
|
||||
progression_full_icons_rect.custom_minimum_size.y = new_current_progression * progression_full_icon_size
|
||||
if new_current_progression == 0:
|
||||
progression_full_icons_rect.scale.y = 0
|
||||
else:
|
||||
progression_full_icons_rect.scale.y = 1
|
||||
|
||||
|
||||
# ------------ Actions ------------
|
||||
@@ -116,3 +123,12 @@ func _on_kalulu_button_pressed() -> void:
|
||||
kalulu_button_pressed.emit()
|
||||
|
||||
|
||||
# ------------ Kalulu ------------
|
||||
|
||||
|
||||
func play_kalulu_speech(speech: AudioStream) -> void:
|
||||
kalulu.play_kalulu_speech(speech)
|
||||
|
||||
|
||||
func _on_kalulu_kalulu_speech_end() -> void:
|
||||
emit_signal("kalulu_speech_end")
|
||||
|
||||
@@ -1,23 +1,29 @@
|
||||
[gd_scene load_steps=19 format=3 uid="uid://r8rtrts18ax3"]
|
||||
[gd_scene load_steps=25 format=3 uid="uid://weree6bnlt6f"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://dj0ygi5q6kbdw" path="res://resources/minigames/minigame_ui/button_back_to_menu_up.png" id="1_f1uy8"]
|
||||
[ext_resource type="Script" path="res://sources/minigames/base/minigame_ui.gd" id="1_g5fl4"]
|
||||
[ext_resource type="Texture2D" uid="uid://gmoc5mxxfqin" path="res://resources/minigames/minigame_ui/button_back_to_menu_down.png" id="2_357qg"]
|
||||
[ext_resource type="Texture2D" uid="uid://bnvx1mujmy3vf" path="res://resources/minigames/minigame_ui/button_back_to_menu_disabled.png" id="3_di4tp"]
|
||||
[ext_resource type="Texture2D" uid="uid://iw84x6mx8h2g" path="res://resources/minigames/minigame_ui/button_kalulu_up.png" id="4_ea5op"]
|
||||
[ext_resource type="Texture2D" uid="uid://03r3arvu1r2t" path="res://resources/minigames/minigame_ui/button_shell_up.png" id="4_r8wnf"]
|
||||
[ext_resource type="Texture2D" uid="uid://ub1dnysbojn8" path="res://resources/minigames/minigame_ui/button_kalulu_down.png" id="5_kfd0f"]
|
||||
[ext_resource type="Texture2D" uid="uid://clrnqn0fqjx3q" path="res://resources/minigames/minigame_ui/button_shell_down.png" id="5_lo8fb"]
|
||||
[ext_resource type="Texture2D" uid="uid://crnxawhf68po3" path="res://resources/minigames/minigame_ui/button_kalulu_disabled.png" id="6_n2h42"]
|
||||
[ext_resource type="Texture2D" uid="uid://53f3lscl7tws" path="res://resources/minigames/minigame_ui/button_shell_disabled.png" id="6_yxeeh"]
|
||||
[ext_resource type="Texture2D" uid="uid://bnqgwy3arrm4n" path="res://resources/minigames/minigame_ui/button_pause_up.png" id="7_vqw3l"]
|
||||
[ext_resource type="Texture2D" uid="uid://bjxt5vglohmk8" path="res://resources/minigames/minigame_ui/button_pause_down.png" id="8_e01yc"]
|
||||
[ext_resource type="Texture2D" uid="uid://b0luicu7cgho5" path="res://resources/minigames/minigame_ui/button_pause_disabled.png" id="9_ju5q0"]
|
||||
[ext_resource type="Texture2D" uid="uid://dxqnvbr4tffn7" path="res://resources/minigames/minigame_ui/gauge.png" id="13_geo50"]
|
||||
[ext_resource type="Texture2D" uid="uid://db64tlixplfru" path="res://resources/minigames/minigame_ui/life_empty.png" id="13_mg1p3"]
|
||||
[ext_resource type="Texture2D" uid="uid://3om2awlftpxd" path="res://resources/minigames/minigame_ui/life.png" id="14_p5sco"]
|
||||
[ext_resource type="Texture2D" uid="uid://cfxpnn3uivakv" path="res://resources/minigames/minigame_ui/gauge_icon_ant_empty.png" id="17_a20nt"]
|
||||
[ext_resource type="Texture2D" uid="uid://b0ck8jxhicyke" path="res://resources/minigames/minigame_ui/gauge_icon_ant_full.png" id="18_gpcjx"]
|
||||
[ext_resource type="Texture2D" uid="uid://dj0ygi5q6kbdw" path="res://resources/minigames/minigame_ui/graphic/button_back_to_menu_up.png" id="2_0d0qn"]
|
||||
[ext_resource type="Texture2D" uid="uid://gmoc5mxxfqin" path="res://resources/minigames/minigame_ui/graphic/button_back_to_menu_down.png" id="3_40b1i"]
|
||||
[ext_resource type="Texture2D" uid="uid://bnvx1mujmy3vf" path="res://resources/minigames/minigame_ui/graphic/button_back_to_menu_disabled.png" id="4_hrket"]
|
||||
[ext_resource type="Texture2D" uid="uid://03r3arvu1r2t" path="res://resources/minigames/minigame_ui/graphic/button_shell_up.png" id="5_fsvyi"]
|
||||
[ext_resource type="Texture2D" uid="uid://clrnqn0fqjx3q" path="res://resources/minigames/minigame_ui/graphic/button_shell_down.png" id="6_l57f6"]
|
||||
[ext_resource type="Texture2D" uid="uid://53f3lscl7tws" path="res://resources/minigames/minigame_ui/graphic/button_shell_disabled.png" id="7_khx6t"]
|
||||
[ext_resource type="Texture2D" uid="uid://bnqgwy3arrm4n" path="res://resources/minigames/minigame_ui/graphic/button_pause_up.png" id="8_as36f"]
|
||||
[ext_resource type="Texture2D" uid="uid://bjxt5vglohmk8" path="res://resources/minigames/minigame_ui/graphic/button_pause_down.png" id="9_p7u5m"]
|
||||
[ext_resource type="Texture2D" uid="uid://b0luicu7cgho5" path="res://resources/minigames/minigame_ui/graphic/button_pause_disabled.png" id="10_2r2bv"]
|
||||
[ext_resource type="Texture2D" uid="uid://iw84x6mx8h2g" path="res://resources/minigames/minigame_ui/graphic/button_kalulu_up.png" id="11_50lta"]
|
||||
[ext_resource type="Texture2D" uid="uid://ub1dnysbojn8" path="res://resources/minigames/minigame_ui/graphic/button_kalulu_down.png" id="12_4i065"]
|
||||
[ext_resource type="Texture2D" uid="uid://crnxawhf68po3" path="res://resources/minigames/minigame_ui/graphic/button_kalulu_disabled.png" id="13_08mrs"]
|
||||
[ext_resource type="Texture2D" uid="uid://vcfpmwst262s" path="res://resources/minigames/minigame_ui/graphic/popin_background.png" id="14_7hmng"]
|
||||
[ext_resource type="Texture2D" uid="uid://db64tlixplfru" path="res://resources/minigames/minigame_ui/graphic/life_empty.png" id="14_8pcr4"]
|
||||
[ext_resource type="Texture2D" uid="uid://3om2awlftpxd" path="res://resources/minigames/minigame_ui/graphic/life.png" id="15_rxfiu"]
|
||||
[ext_resource type="Texture2D" uid="uid://f2ys2fy1il2k" path="res://resources/minigames/minigame_ui/graphic/popin_frontground.png" id="15_w2rjo"]
|
||||
[ext_resource type="Texture2D" uid="uid://dqtmyedk1ylbw" path="res://resources/minigames/minigame_ui/graphic/button_replay_up.png" id="16_eao58"]
|
||||
[ext_resource type="Texture2D" uid="uid://dxqnvbr4tffn7" path="res://resources/minigames/minigame_ui/graphic/gauge.png" id="16_m3nil"]
|
||||
[ext_resource type="Texture2D" uid="uid://cfxpnn3uivakv" path="res://resources/minigames/minigame_ui/graphic/gauge_icon_ant_empty.png" id="17_bqwcj"]
|
||||
[ext_resource type="Texture2D" uid="uid://bvu8ud6hkwusb" path="res://resources/minigames/minigame_ui/graphic/button_replay_down.png" id="17_emg5g"]
|
||||
[ext_resource type="Texture2D" uid="uid://d4ffd4us2hrbs" path="res://resources/minigames/minigame_ui/graphic/button_replay_disabled.png" id="18_2y62r"]
|
||||
[ext_resource type="Texture2D" uid="uid://b0ck8jxhicyke" path="res://resources/minigames/minigame_ui/graphic/gauge_icon_ant_full.png" id="18_7tu1d"]
|
||||
[ext_resource type="PackedScene" uid="uid://c4t2cq5vyj4ai" path="res://sources/minigames/base/kalulu.tscn" id="19_wn4nd"]
|
||||
|
||||
[node name="MinigameUI" type="CanvasLayer"]
|
||||
process_mode = 3
|
||||
@@ -33,8 +39,7 @@ grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
|
||||
[node name="Interface" type="HBoxContainer" parent="MainControl"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
layout_mode = 0
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
@@ -59,9 +64,9 @@ mouse_filter = 2
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
texture_normal = ExtResource("1_f1uy8")
|
||||
texture_pressed = ExtResource("2_357qg")
|
||||
texture_disabled = ExtResource("3_di4tp")
|
||||
texture_normal = ExtResource("2_0d0qn")
|
||||
texture_pressed = ExtResource("3_40b1i")
|
||||
texture_disabled = ExtResource("4_hrket")
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="StimulusMargin" type="MarginContainer" parent="MainControl/Interface/LeftMargin/LeftContainer"]
|
||||
@@ -75,9 +80,9 @@ theme_override_constants/margin_right = 50
|
||||
[node name="StimulusButton" type="TextureButton" parent="MainControl/Interface/LeftMargin/LeftContainer/StimulusMargin"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
texture_normal = ExtResource("4_r8wnf")
|
||||
texture_pressed = ExtResource("5_lo8fb")
|
||||
texture_disabled = ExtResource("6_yxeeh")
|
||||
texture_normal = ExtResource("5_fsvyi")
|
||||
texture_pressed = ExtResource("6_l57f6")
|
||||
texture_disabled = ExtResource("7_khx6t")
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="PauseMargin" type="MarginContainer" parent="MainControl/Interface/LeftMargin/LeftContainer"]
|
||||
@@ -91,18 +96,18 @@ theme_override_constants/margin_right = 50
|
||||
[node name="PauseButton" type="TextureButton" parent="MainControl/Interface/LeftMargin/LeftContainer/PauseMargin"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
texture_normal = ExtResource("7_vqw3l")
|
||||
texture_pressed = ExtResource("8_e01yc")
|
||||
texture_disabled = ExtResource("9_ju5q0")
|
||||
texture_normal = ExtResource("8_as36f")
|
||||
texture_pressed = ExtResource("9_p7u5m")
|
||||
texture_disabled = ExtResource("10_2r2bv")
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="KaluluButton" type="TextureButton" parent="MainControl/Interface/LeftMargin/LeftContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
texture_normal = ExtResource("4_ea5op")
|
||||
texture_pressed = ExtResource("5_kfd0f")
|
||||
texture_disabled = ExtResource("6_n2h42")
|
||||
texture_normal = ExtResource("11_50lta")
|
||||
texture_pressed = ExtResource("12_4i065")
|
||||
texture_disabled = ExtResource("13_08mrs")
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="CentralPadMargin" type="MarginContainer" parent="MainControl/Interface"]
|
||||
@@ -116,6 +121,51 @@ theme_override_constants/margin_top = 20
|
||||
theme_override_constants/margin_right = 20
|
||||
theme_override_constants/margin_bottom = 20
|
||||
|
||||
[node name="CenterMenu" type="MarginContainer" parent="MainControl/Interface/CentralPadMargin"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 450
|
||||
theme_override_constants/margin_top = 500
|
||||
theme_override_constants/margin_right = 500
|
||||
theme_override_constants/margin_bottom = 500
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="MainControl/Interface/CentralPadMargin/CenterMenu"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 2
|
||||
theme_override_constants/margin_top = 5
|
||||
theme_override_constants/margin_right = 2
|
||||
theme_override_constants/margin_bottom = 5
|
||||
|
||||
[node name="Shadow" type="TextureRect" parent="MainControl/Interface/CentralPadMargin/CenterMenu/MarginContainer"]
|
||||
layout_mode = 2
|
||||
texture = ExtResource("14_7hmng")
|
||||
|
||||
[node name="Panel" type="TextureRect" parent="MainControl/Interface/CentralPadMargin/CenterMenu"]
|
||||
layout_mode = 2
|
||||
texture = ExtResource("15_w2rjo")
|
||||
|
||||
[node name="MarginContainer2" type="MarginContainer" parent="MainControl/Interface/CentralPadMargin/CenterMenu"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 42
|
||||
theme_override_constants/margin_top = 42
|
||||
theme_override_constants/margin_right = 42
|
||||
theme_override_constants/margin_bottom = 42
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MainControl/Interface/CentralPadMargin/CenterMenu/MarginContainer2"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="MainControl/Interface/CentralPadMargin/CenterMenu/MarginContainer2/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 8
|
||||
|
||||
[node name="TextureButton" type="TextureButton" parent="MainControl/Interface/CentralPadMargin/CenterMenu/MarginContainer2/VBoxContainer/MarginContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 8
|
||||
texture_normal = ExtResource("16_eao58")
|
||||
texture_pressed = ExtResource("17_emg5g")
|
||||
texture_disabled = ExtResource("18_2y62r")
|
||||
|
||||
[node name="RightMargin" type="MarginContainer" parent="MainControl/Interface"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
@@ -147,7 +197,7 @@ layout_mode = 2
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 0
|
||||
mouse_filter = 2
|
||||
texture = ExtResource("13_mg1p3")
|
||||
texture = ExtResource("14_8pcr4")
|
||||
stretch_mode = 1
|
||||
|
||||
[node name="LivesRect" type="TextureRect" parent="MainControl/Interface/RightMargin/RightContainer/LivesContainer"]
|
||||
@@ -157,7 +207,7 @@ layout_mode = 2
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 0
|
||||
mouse_filter = 2
|
||||
texture = ExtResource("14_p5sco")
|
||||
texture = ExtResource("15_rxfiu")
|
||||
stretch_mode = 1
|
||||
|
||||
[node name="ProgressionMargin" type="MarginContainer" parent="MainControl/Interface/RightMargin/RightContainer"]
|
||||
@@ -172,7 +222,7 @@ custom_minimum_size = Vector2(64, 64)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 8
|
||||
size_flags_vertical = 0
|
||||
texture = ExtResource("13_geo50")
|
||||
texture = ExtResource("16_m3nil")
|
||||
patch_margin_top = 33
|
||||
patch_margin_bottom = 33
|
||||
|
||||
@@ -183,7 +233,7 @@ layout_mode = 2
|
||||
size_flags_horizontal = 8
|
||||
size_flags_vertical = 0
|
||||
mouse_filter = 2
|
||||
texture = ExtResource("17_a20nt")
|
||||
texture = ExtResource("17_bqwcj")
|
||||
stretch_mode = 1
|
||||
|
||||
[node name="ProgressionFullIconsRect" type="TextureRect" parent="MainControl/Interface/RightMargin/RightContainer/ProgressionMargin"]
|
||||
@@ -191,12 +241,17 @@ unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(64, 64)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 8
|
||||
size_flags_vertical = 4
|
||||
size_flags_vertical = 0
|
||||
mouse_filter = 2
|
||||
texture = ExtResource("18_gpcjx")
|
||||
texture = ExtResource("18_7tu1d")
|
||||
stretch_mode = 1
|
||||
|
||||
[node name="Kalulu" parent="MainControl" instance=ExtResource("19_wn4nd")]
|
||||
visible = false
|
||||
layout_mode = 1
|
||||
|
||||
[connection signal="pressed" from="MainControl/Interface/LeftMargin/LeftContainer/GardenButton" to="." method="_on_garden_button_pressed"]
|
||||
[connection signal="pressed" from="MainControl/Interface/LeftMargin/LeftContainer/StimulusMargin/StimulusButton" to="." method="_on_stimulus_button_pressed"]
|
||||
[connection signal="pressed" from="MainControl/Interface/LeftMargin/LeftContainer/PauseMargin/PauseButton" to="." method="_on_pause_button_pressed"]
|
||||
[connection signal="pressed" from="MainControl/Interface/LeftMargin/LeftContainer/KaluluButton" to="." method="_on_kalulu_button_pressed"]
|
||||
[connection signal="kalulu_speech_end" from="MainControl/Kalulu" to="." method="_on_kalulu_kalulu_speech_end"]
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
extends CanvasLayer
|
||||
|
||||
signal animation_finished(animation_name: StringName)
|
||||
|
||||
@onready var animation_player: = $AnimationPlayer
|
||||
|
||||
|
||||
func play(animation_name: String) -> void:
|
||||
animation_player.play(animation_name)
|
||||
|
||||
|
||||
func _on_animation_player_animation_finished(animation_name: StringName) -> void:
|
||||
emit_signal("animation_finished", animation_name)
|
||||
@@ -0,0 +1,198 @@
|
||||
[gd_scene load_steps=7 format=3 uid="uid://b3ckdfnbc7077"]
|
||||
|
||||
[ext_resource type="Script" path="res://sources/minigames/base/opening_curtain.gd" id="1_xih0r"]
|
||||
[ext_resource type="Texture2D" uid="uid://4u85b8th4uuv" path="res://resources/minigames/minigame_ui/graphic/curtain/bush.png" id="1_yhjvv"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_eyrra"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("LeftCurtain:visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("LeftCurtain:rotation")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [4.71239]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("RightCurtain:visible")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("RightCurtain:rotation")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [-4.71239]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_qqx6p"]
|
||||
resource_name = "close"
|
||||
length = 0.5
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("LeftCurtain:visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [true, true]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("LeftCurtain:rotation")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [4.71239, 2.35619]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("RightCurtain:visible")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [true, true]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("RightCurtain:rotation")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [-4.71239, -2.35619]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_24r35"]
|
||||
resource_name = "open"
|
||||
length = 0.5
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("LeftCurtain:visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [true, false]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("LeftCurtain:rotation")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [2.35619, 4.71239]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("RightCurtain:visible")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [true, false]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("RightCurtain:rotation")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [-2.35619, -4.71239]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_o5y2b"]
|
||||
_data = {
|
||||
"RESET": SubResource("Animation_eyrra"),
|
||||
"close": SubResource("Animation_qqx6p"),
|
||||
"open": SubResource("Animation_24r35")
|
||||
}
|
||||
|
||||
[node name="OpeningCurtain" type="CanvasLayer"]
|
||||
script = ExtResource("1_xih0r")
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_o5y2b")
|
||||
}
|
||||
|
||||
[node name="LeftCurtain" type="TextureRect" parent="."]
|
||||
visible = false
|
||||
offset_left = -612.0
|
||||
offset_top = -765.0
|
||||
offset_right = 413.0
|
||||
offset_bottom = -100.0
|
||||
rotation = 4.71239
|
||||
scale = Vector2(5, 5)
|
||||
pivot_offset = Vector2(512, 665)
|
||||
texture = ExtResource("1_yhjvv")
|
||||
|
||||
[node name="RightCurtain" type="TextureRect" parent="."]
|
||||
visible = false
|
||||
offset_left = 2148.0
|
||||
offset_top = -765.0
|
||||
offset_right = 3173.0
|
||||
offset_bottom = -100.0
|
||||
rotation = -4.71239
|
||||
scale = Vector2(5, 5)
|
||||
pivot_offset = Vector2(512, 665)
|
||||
texture = ExtResource("1_yhjvv")
|
||||
|
||||
[connection signal="animation_finished" from="AnimationPlayer" to="." method="_on_animation_player_animation_finished"]
|
||||
Reference in New Issue
Block a user