Référence
NumberSetting
Réglages entiers persistants et bornés dans les panneaux de signaux.
Contexte d’utilisation
| Module | Package | Source SDK |
|---|---|---|
| Kotlin/Native | nimby | kotlin/src/nimby/NumberSetting.kt |
API publique du SDK 0.9.0-alpha.2. Chaque entrée donne la signature Kotlin et son contrat : sens de la valeur, conditions d’utilisation et effets à connaître. Choisissez les imports du module indiqué ci-dessus.
import nimby.NumberSettingNumberSetting
class NumberSetting(val name: String, val label: String, val maximum: Int,
val defaultValue: Int = 0, val visibleWhen: String = "")Réglage entier persistant de signal, compris entre zéro et maximum. Déclarez number(option) dans le modèle ; lisez avec read et préparez des copies avec withValue.
NumberSetting.name
val name: StringClé stable de 1 à 96 caractères, commençant par une lettre ASCII, puis lettres, chiffres, point, tiret ou soulignement. Ne pas traduire.
NumberSetting.label
val label: StringLibellé du champ dans le panneau du signal ; accepte tr. Ne détermine pas le sens métier de la valeur.
NumberSetting.maximum
val maximum: IntBorne supérieure incluse, de 1 à 65535. La borne inférieure des valeurs est toujours zéro.
NumberSetting.defaultValue
val defaultValue: Int = 0Valeur par défaut comprise entre zéro et maximum ; zéro par défaut. Les valeurs manquantes sont complétées par ce défaut à la lecture.
NumberSetting.visibleWhen
val visibleWhen: String = ""Nom d’une case du même modèle qui contrôle la visibilité ; chaîne vide pour toujours afficher. Masquer le champ n’efface pas sa valeur.
NumberSetting.read
fun read(settings: Map<String, Boolean>): IntLit l’entier dans une carte de réglages, complète les données manquantes par le défaut et borne le résultat entre zéro et maximum. Aucun accès au jeu.
NumberSetting.withValue
fun withValue(settings: Map<String, Boolean>, value: Int): Map<String, Boolean>Retourne une nouvelle carte avec l’entier demandé en conservant les autres réglages. Refuse une valeur hors de 0..maximum ; ce calcul ne sauvegarde rien dans la partie.