Densité de partie de plantes en fonction du niveau de mutation

This commit is contained in:
Altaezio
2026-04-12 20:10:40 +02:00
parent a432d30c8b
commit e5dea5bb50
7 changed files with 121 additions and 30 deletions

View File

@@ -9,6 +9,9 @@ extends Node
@export var start_state: PlantData.State = PlantData.State.MATURE
@export var random_state := false
@export var end_state: PlantData.State = PlantData.State.MATURE
@export var min_level := 1
@export var max_level := 1
@export var camera_speed := 1000.0
var input_dir := Vector2.ZERO
@@ -21,6 +24,10 @@ func _ready():
%NMutationsPerPlant.value = n_mutation_per_plant
%RandomizePos.button_pressed = randomize_pos
%RandomizeOffset.value = random_pos_offset
%toAgeLabel.visible = random_state
%EndAge.visible = random_state
%MinLvl.value = min_level
%MaxLvl.value = max_level
generate_plants();
func _unhandled_key_input(_event) -> void:
@@ -54,7 +61,9 @@ func generate_plants():
elif plant_state == PlantData.State.DEAD:
plant_data.day = plant_data.get_lifetime()
for j in n_mutation_per_plant:
plant_data.mutations.append(GameInfo.game_data.progression_data.available_mutations.pick_random())
var picked_mutation: PlantMutation = GameInfo.game_data.progression_data.available_mutations.pick_random().duplicate()
picked_mutation.level = randi_range(min_level, max_level)
plant_data.mutations.append(picked_mutation)
var plant: Plant = Plant.new(plant_data)
print(plant.data.plant_name)
%Plants.add_child(plant)
@@ -113,14 +122,20 @@ func _on_start_age_value_changed(value: float) -> void:
func _on_random_age_toggled(toggled_on: bool) -> void:
random_state = toggled_on
%toAgeLabel.visible = toggled_on
%EndAge.visible = toggled_on
func _on_end_age_value_changed(value: float) -> void:
end_state = int(value) as PlantData.State
func _on_speed_value_changed(value: float) -> void:
camera_speed = value
func _on_reset_speed_pressed() -> void:
camera_speed = 1000
func _on_min_lvl_value_changed(value: float) -> void:
min_level = int(value)
func _on_max_lvl_value_changed(value: float) -> void:
max_level = int(value)