extends ProgressionData class_name TestProgressionData @export var mutations_available: Array func _init() -> void: mutations_available = get_all_mutations().map(func(m): return m.id) func get_story_step() -> StoryStep: return InfiniteStoryStep.new() func get_story_progression() -> float: return 0.0 func discover_mutation(pm: PlantMutation) -> void: if !mutations_available.has(pm.id): mutations_available.append(pm.id) func get_mutations_discovered() -> Array[String]: return mutations_available func next_story_step() -> void: pass func get_available_mutations() -> Array[PlantMutation]: return get_all_mutations().filter(func(m): return mutations_available.has(m.id)) func are_all_mutations_unlocked() -> bool: return len(mutations_available) >= len(get_all_mutations()) func unlock_new_mutation() -> PlantMutation: return get_all_mutations().pick_random() func lock_mutation(pm: PlantMutation) -> void: mutations_available.erase(pm.id)