• » Jeux Vidéo
  • » Toi aussi deviens indéveloppeur [Unity/UE4 pour platformers 2D osef]
hichlibedis
hichanbis
Binouz a écrit :

hichanbis - 29 Dec 2017

Me revoilà smiley122

Mais du coup, parce que là j'suis un peu confus j'ai l'impression de m'embrouiller avec l'utilisation de base des Scriptable Object.

Au runtime :
- T'as un fichier bordel.asset dans le persistant data path => Non dans le data path (en gros dans Assets/ ). Dans le persistent data path t'as un json/xml/binaire logiquement (sauf si je me prends la tête à serialiser pour rien mais j'ai trouvé aucune info sur comment loader un SO au runtime... A priori soit il est dans Assets/ et tu peux le réferencer dans un monobehaviour via l'éditeur Unity, soit il est dans Assets/Resources et tu peux faire un Resources.Load())
- Tu fais AssetDatabase.LoadAssetAtPath de bordel.asset => Non ça c'est une classe du namespace UnityEditor donc pas au runtime
- T'as les datas => Oui
- Tu les modifies => Oui sauf que ça modifie pas le fichier asset mais une instance de ton SO en mémoire
- Tu réécris un fichier bordel.asset dans le persistant data path. => Voir premier point.

Même si c'était une instance on s'en fout non, le premier est écrasé et t'as bien ta nouvelle config en dur sur ton PC ? => Nope. Si c'est un asset ben t'écrases pas des assets de jeu au runtime. Si c'est un fichier que tu loades du persistent data path, ben c'est pas un SO mais un fichier plat (xml, json, binaire) que tu désérialises en une instance. Voir mes liens précedents.