developpement d'écran de chargement et d'écran de sélection de niveau

* modification de certains assets
* optimisation de chunks
* ajout d'un SceneManager
* ajout d'un premier dialogue avec Demeter
* changement des jour en charge
* mise en place d'un système de run
* etc...
This commit is contained in:
2026-01-10 13:04:33 +01:00
parent c130c47042
commit 9c449b234f
136 changed files with 3464 additions and 1147 deletions

View File

@@ -2,18 +2,77 @@
extends Node
class_name ControlAnimationPlayer
signal animation_ended
var on_animation = false
@onready var target : Control = get_parent()
var target_default_pos : Vector2
var target_default_modulate = Color.WHITE
@export_tool_button("Test Shake", "Callable") var shake_action = shake
@export_tool_button("Test Bounce", "Callable") var bounce_action = bounce
@export_tool_button("Test Appear", "Callable") var appear_action = appear
@export_tool_button("Test Disappear", "Callable") var disappear_action = disappear
@export_tool_button("Test Slide In", "Callable") var slide_in_action = slide_in
@export_tool_button("Test Slide Off", "Callable") var slide_off_action = slide_off
@export_tool_button("Test Fade In", "Callable") var fade_in_action = fade_in
@export_tool_button("Test Fade Out", "Callable") var fade_out_action = fade_out
func _ready():
setup_default_values()
get_tree().get_root().size_changed.connect(setup_default_values)
func setup_default_values():
target_default_pos = target.global_position
func start_anim():
on_animation = true
func end_anim():
animation_ended.emit()
on_animation = false
func fade_in(
duration : float = 0.3,
transition_type: Tween.TransitionType = Tween.TransitionType.TRANS_LINEAR,
):
start_anim()
target.visible = true
await add_tween(
"modulate",
target_default_modulate,
duration,
transition_type
).finished
end_anim()
func fade_out(
duration : float = 0.3,
transition_type: Tween.TransitionType = Tween.TransitionType.TRANS_LINEAR,
):
start_anim()
target.visible = true
await add_tween(
"modulate",
Color.TRANSPARENT,
duration,
transition_type
).finished
target.visible = false
end_anim()
func disappear(
duration : float = 0.3,
offset : int = 20,
transition_type: Tween.TransitionType = Tween.TransitionType.TRANS_LINEAR,
):
start_anim()
add_tween(
"modulate",
Color.TRANSPARENT,
@@ -28,29 +87,68 @@ func disappear(
transition_type
).finished
target.position += Vector2.DOWN * offset
target.position = target_default_pos
end_anim()
func appear(
duration : float = 0.3,
offset : int = 20,
transition_type: Tween.TransitionType = Tween.TransitionType.TRANS_LINEAR,
):
start_anim()
target.modulate = Color.TRANSPARENT
add_tween(
"modulate",
Color.WHITE,
target_default_modulate,
duration,
transition_type
).finished
target.position += Vector2.UP * offset
target.position = target_default_pos + Vector2.UP * offset
await add_tween(
"position",
target.position + Vector2.DOWN * offset,
target_default_pos,
duration,
transition_type
).finished
target.position = target_default_pos
end_anim()
func slide_in(
duration : float = 0.3,
transition_type: Tween.TransitionType = Tween.TransitionType.TRANS_CUBIC,
):
start_anim()
target.position += Vector2.UP * target.size.y
target.visible = true
await add_tween(
"position",
target_default_pos,
duration,
transition_type
).finished
end_anim()
func slide_off(
duration : float = 0.3,
transition_type: Tween.TransitionType = Tween.TransitionType.TRANS_CUBIC,
):
start_anim()
await add_tween(
"position",
target.position - Vector2.UP * target.size.y,
duration,
transition_type
).finished
target.visible = false
target.position = target_default_pos
end_anim()
func bounce(
duration : float = 0.4,
@@ -58,6 +156,7 @@ func bounce(
direction : Vector2 = Vector2.UP,
transition_type: Tween.TransitionType = Tween.TransitionType.TRANS_BOUNCE,
):
start_anim()
await add_tween(
"position",
target.position + direction * amount,
@@ -66,16 +165,18 @@ func bounce(
).finished
await add_tween(
"position",
target.position - direction * amount,
target_default_pos,
duration/2,
transition_type
).finished
end_anim()
func shake(
duration : float = 0.3,
amount : float = 10,
transition_type: Tween.TransitionType = Tween.TransitionType.TRANS_LINEAR,
):
start_anim()
await add_tween(
"position",
target.position + Vector2.RIGHT * amount/2,
@@ -95,6 +196,9 @@ func shake(
transition_type
).finished
target.position = target_default_pos
end_anim()
func add_tween(
property : String,