création du squelette des region modifier, amélioration du tutoriel et mise en place de la run complète avec cinématique d'outro

This commit is contained in:
2026-02-21 20:44:41 +01:00
parent eb48a095de
commit e767e776f2
80 changed files with 415 additions and 201 deletions

View File

@@ -15,6 +15,9 @@ func _ready():
GameInfo.game_data.player_data.updated.connect(_on_player_updated)
GameInfo.game_data.current_region_data.pass_day_ended.connect(_on_region_pass_day_ended)
%ObjectiveProgressBar.visible = not "tutorial" in GameInfo.game_data.current_region_data.flags
%SimplePlantPointScore.visible = "tutorial" in GameInfo.game_data.current_region_data.flags
charge_update(GameInfo.game_data.current_region_data)
player_update(GameInfo.game_data.player_data, false)
@@ -22,7 +25,6 @@ func _ready():
%GiveUpButton.pressed.connect(_on_give_up_pressed)
score_mirror = GameInfo.game_data.current_region_data.get_score()
print(score_mirror)
for p : PlantData in GameInfo.game_data.current_region_data.plants:
score_by_plant[str(p.random_seed)] = p.get_score()
@@ -44,10 +46,8 @@ func _on_region_updated(region_data : RegionData):
if not str(p.random_seed) in score_by_plant:
score_by_plant[str(p.random_seed)] = 0
if score > score_by_plant[str(p.random_seed)]:
print("emit particles for %s" % p.plant_name)
plant_changing_score(p, score - score_by_plant[str(p.random_seed)])
elif score < score_by_plant[str(p.random_seed)]:
print("reduce score for %s" % p.plant_name)
score_mirror -= score_by_plant[str(p.random_seed)] - score
score_by_plant[str(p.random_seed)] = score
# Check for removed plants
@@ -55,7 +55,6 @@ func _on_region_updated(region_data : RegionData):
if region_data.plants.find_custom(
func (p): return str(p.random_seed) == key
) == -1:
print("remove plant")
score_mirror -= score_by_plant[key]
score_by_plant.erase(key)
@@ -93,6 +92,11 @@ func score_update(with_animation = true):
)
else:
%ObjectiveProgressBar.set_progress(objective_progression)
if score_mirror > 1:
%SimplePlantPointScoreLabel.text = tr("%d_PLANT_POINTS") % score_mirror
else :
%SimplePlantPointScoreLabel.text = tr("%d_PLANT_POINT") % score_mirror
func plant_changing_score(plant_data: PlantData, amount : int):
if GameInfo.game_data.current_region_data.in_passing_day_animation:
@@ -136,6 +140,7 @@ func spawn_score_particle(
await tween.finished
score_mirror += 1
AudioManager.play_sfx("PlantPoint")
sprite_particle.queue_free()