testant les "bonnes pratiques" en code, j'essaie pour le moment deux approches de stockage de variables dans des Class (pour isoler par exemple des données de joueur, ce qui me permettra plus facilement de faire par la suite un encodage binaire pour sauvegarder ces mêmes données).
Pour le moment, je passe par du [System.Serializable]
Code : Tout sélectionner
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[System.Serializable]
public class PlayerTest // Pas Mono
{
// Vars
[HideInInspector]
public int playerInfo = 5;
}
Code : Tout sélectionner
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public static class PlayerTest2 // Pas Mono
{
// Vars
public static int playerInfo2 = 5;
}
Code : Tout sélectionner
public class Player : MonoBehaviour
{
// Déclaration de la Class utilisant [System.Serializable]
public PlayerTest playerTest;
void Start()
{
// TEST avec [System.Serializable]
Debug.Log("PlayerTest : " + playerTest.playerInfo); // [System.Serializable]
playerTest.playerInfo = playerTest.playerInfo + 1;
Debug.Log("PlayerTest Plus : " + playerTest.playerInfo); // [System.Serializable]
// TEST avec Static
Debug.Log("PlayerTest2 : "+ PlayerTest2.playerInfo2); // Static
PlayerTest2.playerInfo2 = PlayerTest2.playerInfo2 + 1;
Debug.Log("PlayerTest2 Plus : " + PlayerTest2.playerInfo2); // Static
}
}
Merci !!!
PS : je connais également le principe du Singleton, que j'utilise par ailleurs, sur une Class plus générique de gestion de mon jeux.