Référence
ToolWindow
Déclarations publiques Kotlin du SDK.
Contexte d’utilisation
| Module | Package | Source SDK |
|---|---|---|
| Kotlin/Native | nimby | kotlin/src/nimby/ToolWindow.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.ToolWindow
import nimby.ToolWindowEvent
import nimby.ToolClock
import nimby.ToolTimeChangeToolWindow
data class ToolWindow(val id: String, val title: String, val shortcut: String)Déclaration d’une fenêtre autonome d’outil, accessible par raccourci pendant le jeu. Enregistrez-la avec ToolModBuilder.window ; aucun signal sélectionné n’est nécessaire.
ToolWindow.id
val id: StringIdentifiant de fenêtre unique dans le mod, reçu dans ToolWindowEvent.window. Gardez-le stable entre versions : la préférence du raccourci lui est rattachée. Ne pas traduire cet identifiant.
ToolWindow.title
val title: StringTexte utilisé à la fois comme titre de fenêtre et comme libellé de son raccourci sous le groupe du mod dans Options → NRF Hub. Accepte tr ; un titre court évite de répéter le nom du mod. Le modifier ne change pas l’identité.
ToolWindow.shortcut
val shortcut: StringRaccourci initial au format accepté par window(...) ; vide pour désactiver. Le joueur peut modifier l’affectation dans les options du SDK. La déclaration ne représente pas forcément son affectation actuelle.
ToolWindowEvent
data class ToolWindowEvent(
val window: String, val action: String, val values: Map<String, Int>,
val sequence: Long, val worldId: String, val generation: Long,
)Événement fourni au handler de fenêtre. Les champs valides sont transmis ensemble au clic, pas à chaque touche. Utilisez la même requête pour publier le formulaire correspondant.
ToolWindowEvent.window
val window: StringIdentifiant de la fenêtre déclarée ayant produit cet événement.
ToolWindowEvent.action
val action: Stringopen à l’ouverture, puis identifiant du bouton activé. Le texte du bouton ne définit pas son traitement.
ToolWindowEvent.values
val values: Map<String, Int>Carte des entiers validés du formulaire au moment du clic, indexée par identifiant de champ. Un champ absent ne doit pas être inventé à zéro.
ToolWindowEvent.sequence
val sequence: LongSéquence du formulaire/événement fourni par le SDK. Transmettez-la via la requête reçue ; ne fabriquez pas un événement pour réutiliser une ancienne fenêtre.
ToolWindowEvent.worldId
val worldId: StringIdentité de partie de l’événement, exigée identique à celle de ToolContext pour showWindow.
ToolWindowEvent.generation
val generation: LongGénération de session de l’événement. Une autre génération impose de rejeter l’ancien formulaire et ses intentions.
ToolClock
data class ToolClock(val utcSeconds: Long, val elapsedMillis: Long)Lecture copiée de deux temps distincts : calendrier UTC et durée simulée écoulée. La pause, l’accélération et une modification de date ne doivent pas être confondues avec le temps réel du PC.
ToolClock.utcSeconds
val utcSeconds: LongCalendrier de la partie en secondes signées depuis le 1er janvier 1970 UTC. Convertir avec dateTime ; ce n’est pas l’heure système du PC.
ToolClock.elapsedMillis
val elapsedMillis: LongTemps de simulation écoulé en millisecondes. Utilisez cette unité pour raisonner sur la simulation, sans l’interpréter comme une date UTC.
ToolTimeChange
data class ToolTimeChange(val clock: ToolClock, val interventions: Long)Résultat d’un changement de calendrier : horloge retournée et nombre d’interventions de recalcul. Une réponse reçue permet d’afficher l’état obtenu, sans rejouer la commande.
ToolTimeChange.clock
val clock: ToolClockHorloge retournée après le changement, à utiliser pour afficher la date réellement obtenue.
ToolTimeChange.interventions
val interventions: LongNombre d’interventions natives lors d’un recalcul de trains ; zéro pour une simple translation du calendrier. Les interventions peuvent déplacer des trains et entraîner des coûts.