NodeWorld

Données du joueur gardées entre deux visites

PlayerData garde des valeurs pour le joueur local, pour ton monde, d'une visite à l'autre : une langue choisie, un volume, un meilleur score. Elles restent sur l'ordinateur ou le casque du joueur, un petit fichier par monde et par compte NodeWorld.

csharp
using NodeWorld.Flux;

namespace MonMonde
{
    [ClientOnly]
    public class VolumeMusique : FluxScript
    {
        public AudioSource musique;
        public Slider volume;

        protected override void Start()
        {
            if (PlayerData.TryGetFloat("volume", out var garde)) volume.SetValueWithoutNotify(garde);
            musique.volume = volume.value;
            volume.onValueChanged.AddListener(valeur =>
            {
                musique.volume = valeur;
                PlayerData.SetFloat("volume", valeur);
            });
        }
    }
}
SetInt, SetFloat, SetBool, SetStringGarder une valeur sous une clé ; écrite dans le fichier quand elle change.
TryGetInt, TryGetFloat, TryGetBooltrue et la valeur quand la clé contient une valeur de cette sorte ; false sinon. Aucune méthode ne relit une chaîne.
Delete(key)Oublie une clé.

Les limites

  • 256 clés par monde et par joueur, des clés de 1 à 128 caractères, des chaînes de 4 096 caractères au plus. Au-delà, l'appel est refusé : PlayerData: a world keeps at most 256 values per player.
  • Une clé n'a pas de retour à la ligne.
  • Les valeurs sont au joueur, sur son appareil : le jeu d'un autre joueur ne les voit pas, et le serveur n'en a pas. Pour des valeurs que tous les joueurs partagent, utilise l'état synchronisé.
  • Elles restent sur l'appareil où le joueur a joué : sur un autre ordinateur ou un autre casque, le monde démarre sans elles.
  • En Play mode, elles sont gardées pour le Play Mode Account Id de la NW World Config.