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, SetString | Garder une valeur sous une clé ; écrite dans le fichier quand elle change. |
TryGetInt, TryGetFloat, TryGetBool | true 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.
