Overall cleaning

This commit is contained in:
Adrien Ufferte
2026-01-15 10:03:25 +01:00
parent 98342cf87d
commit 788a637363
+10 -27
View File
@@ -28,12 +28,14 @@ static var cached_layout_lessons: int = 0
@export_category("Layout")
@export var gardens_layout: GardensLayout:
set = set_gardens_layout,
get = get_gardens_layout
set(value):
set_gardens_layout(value)
get:
return _gardens_layout
@export var starting_garden: int = -1
@export_category("Colors")
@export var unlocked_color: Color = Color("1c2662") #blue
@export var locked_color: Color = Color("1d2229") #black
@export var unlocked_color: Color = Color("1c2662")
@export var locked_color: Color = Color("1d2229")
@export_group("Minigames")
@export var minigames_scenes: Array[PackedScene] = []
@export var minigames_icons: Array[Texture] = []
@@ -193,7 +195,6 @@ func _scroll_to_starting_garden(_transition_context: Dictionary) -> void:
for button_index: int in range(garden_control.get_lesson_buttons().size()):
if not lesson_index in lessons:
break
if UserDataManager.student_progression:
var unlock: Dictionary = UserDataManager.student_progression.unlocks[lesson_index]
var is_blocked_by_boss: bool = UserDataManager.student_progression.is_lesson_blocked_by_boss(lesson_index)
@@ -207,7 +208,6 @@ func _scroll_to_starting_garden(_transition_context: Dictionary) -> void:
if starting_garden == -1:
starting_garden = 0
scroll_container.scroll_horizontal = GARDEN_SIZE * starting_garden
scroll_beginning_garden = int(float(scroll_container.scroll_horizontal) / GARDEN_SIZE)
current_garden = garden_parent.get_child(starting_garden)
@@ -218,13 +218,9 @@ func _scroll_to_starting_garden(_transition_context: Dictionary) -> void:
func _handle_transition_sequences(transition_context: Dictionary) -> void:
await _apply_transition_flowers(transition_context)
# Wait a bit before any action to smooth the animations
await get_tree().create_timer(1).timeout
if transition_data.has("current_lesson_number") and not transition_data.get("skip_minigame_layout", false):
await _open_minigames_layout(_get_current_lesson_button(transition_data.current_lesson_number as int), transition_data.current_lesson_number as int)
if transition_context.new_lesson_unlocked:
await _play_new_lesson_unlock_sequence()
elif transition_context.pending_boss_gate_lesson > 0:
@@ -236,7 +232,6 @@ func _apply_transition_flowers(transition_context: Dictionary) -> void:
# Play the flowers animation if needed
if transition_context.is_current_lesson and transition_context.is_first_clear and transition_context.is_minigame_completed and transition_data.has("current_lesson_number"):
# Wait a bit before any action to smooth the animations
await get_tree().create_timer(1).timeout
var lesson_number: int = transition_data.current_lesson_number as int
var flower_info: Dictionary = _get_flower_info(lesson_number)
@@ -262,7 +257,6 @@ func _apply_transition_flowers(transition_context: Dictionary) -> void:
func _reveal_completed_look_and_learn_flower() -> void:
# Reveal flowers for completed look and learn
if not transition_data.get("look_and_learn_completed", false):
return
var lesson_number_variant: Variant = transition_data.get("current_lesson_number", null)
@@ -290,7 +284,6 @@ func _get_flower_info(lesson_number: int) -> Dictionary:
func _play_new_lesson_unlock_sequence() -> void:
var max_lesson: int = UserDataManager.student_progression.get_max_unlocked_lesson_index()
# Close the layout
await get_tree().create_timer(2).timeout
await _close_minigames_layout()
@@ -330,9 +323,7 @@ func _play_new_lesson_unlock_sequence() -> void:
var tween: Tween = create_tween()
tween.set_ease(Tween.EASE_IN_OUT)
tween.tween_property(scroll_container, "scroll_horizontal", target_scroll, 4)
scroll_beginning_garden = int(float(target_scroll) / GARDEN_SIZE)
current_garden = garden_parent.get_child(scroll_beginning_garden)
line_audio_stream_player.pitch_scale = 0.95
@@ -385,10 +376,7 @@ func _ready() -> void:
await get_tree().process_frame
await _handle_transition_sequences(transition_context)
# Unlock the interface
_unlock()
# Empty the transition data
transition_data = {}
# Play the tutorial if needed
@@ -668,10 +656,10 @@ static func _generate_single_garden_layout(garden_index: int, lessons_for_garden
var garden_dimensions: Vector2 = _get_garden_dimensions(garden_layout.color, garden_image)
var half_size: Vector2 = _get_lesson_button_half_size()
# Step 1: initial path positions
# Initial path positions
var raw_positions: Array[Vector2i] = _generate_lesson_positions(lessons_for_garden, garden_index)
# Step 2: clamp to texture + avoid overlaps
# Clamp to texture + avoid overlaps
var resolved_positions: Array[Vector2] = []
for lesson_index: int in range(lessons_for_garden):
var pos: Vector2 = Vector2(raw_positions[lesson_index])
@@ -686,7 +674,7 @@ static func _generate_single_garden_layout(garden_index: int, lessons_for_garden
raw_positions[lesson_index] = rounded
Log.trace("Gardens: Garden %s lesson %s position calculated at %s" % [str(garden_index), str(lesson_index), str(rounded)])
# Step 3: build lesson buttons with tangents
# Build lesson buttons with tangents
var lesson_buttons: Array[GardenLayout.GardenLayoutLessonButton] = []
for lesson_index: int in range(resolved_positions.size()):
var lesson_position: Vector2i = Utils.round_vec2(resolved_positions[lesson_index])
@@ -702,7 +690,7 @@ static func _generate_single_garden_layout(garden_index: int, lessons_for_garden
lesson_buttons.append(GardenLayout.GardenLayoutLessonButton.new(lesson_position, path_out))
garden_layout.lesson_buttons = lesson_buttons
# Step 4: build flowers (keep RNG call order identical)
# Build flowers (keep RNG call order identical)
var flowers: Array[GardenLayout.Flower] = []
for lesson_index: int in range(resolved_positions.size()):
var flower_position: Vector2i = Utils.round_vec2(resolved_positions[lesson_index])
@@ -771,7 +759,6 @@ func _open_minigames_layout(button: LessonButton, lesson_number: int) -> void:
else:
Log.warn("Gardens: Flower info corrupted for lesson %d" % lesson_number)
if button:
#button_global_position = button.global_position
current_button = button
current_button.show_placeholder(true)
current_button_global_position = button.global_position
@@ -920,10 +907,6 @@ func set_gardens_layout(p_gardens_layout: GardensLayout) -> void:
_set_up_boss_buttons()
func get_gardens_layout() -> GardensLayout:
return _gardens_layout
func add_gardens() -> void:
if not garden_parent:
return