mirror of
https://github.com/deunix-educ/aventuriers-des-mots.git
synced 2026-10-13 10:21:58 +02:00
d0380a76af
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
25 lines
818 B
GDScript
25 lines
818 B
GDScript
class_name SchoolLevels
|
|
extends RefCounted
|
|
## Niveaux scolaires du jeu, dans l'ordre de progression. Code pur. La liste
|
|
## est fermee : elle est aussi celle des schemas (data/schemas/*.json), et
|
|
## un test verifie que les deux concordent.
|
|
|
|
const ALL: Array[String] = ["CE1", "CE2", "CM1", "CM2"]
|
|
|
|
|
|
static func is_valid(level: String) -> bool:
|
|
return ALL.has(level)
|
|
|
|
|
|
## Niveau juste avant `level` (celui que l'on peut « revoir »), ou "" pour
|
|
## le premier niveau ou une valeur inconnue.
|
|
static func previous(level: String) -> String:
|
|
var index := ALL.find(level)
|
|
return ALL[index - 1] if index > 0 else ""
|
|
|
|
|
|
## Rang du niveau (0 pour CE1), grand pour un niveau inconnu : sert au tri.
|
|
static func rank(level: String) -> int:
|
|
var index := ALL.find(level)
|
|
return index if index >= 0 else ALL.size()
|