Bonsoir,
je cherche un faire un système d'objets avec un inventaire. Cependant je ne veux pas hardcoder les objets pour que n'importe qui puisse ajouter des objets sans toucher au code.
Mon attention s'est portée sur les ScriptableObject. Niveau simplicité c'est ce que je recherche mais un objet ne peut pas avoir un champ personnalisé du coup, du genre une durabilité.
Du coup je me demande comment faire. Encapsuler le scriptable objet dans une autre classe ? Utiliser complètement autre chose du style xml/json avec un custom editor ?
Merci
ScriptableObject pour système d'items
Re: ScriptableObject pour système d'items
Salut,
ce que je te conseille c'est d'utiliser le scriptable object comme conteneur de data, et ensuite simplement d'avoir un lien vers ce scriptable object dans ton monobehaviour, afin d'y accéder.
Attention cependant, tu ne devrais faire aucun changement de données dans le scriptable object au runtime, car ces changements peuvent potentiellement perdurer une fois le runtime fini. Si tu dois faire ça alors je te conseille tout simplement de faire un clone en runtime, avec "new" sur le scriptable object, et d'utiliser ce clone plutôt que l'original.
ce que je te conseille c'est d'utiliser le scriptable object comme conteneur de data, et ensuite simplement d'avoir un lien vers ce scriptable object dans ton monobehaviour, afin d'y accéder.
Attention cependant, tu ne devrais faire aucun changement de données dans le scriptable object au runtime, car ces changements peuvent potentiellement perdurer une fois le runtime fini. Si tu dois faire ça alors je te conseille tout simplement de faire un clone en runtime, avec "new" sur le scriptable object, et d'utiliser ce clone plutôt que l'original.
Re: ScriptableObject pour système d'items
Merci pour ta réponse cayou.
Oui je pensais à quel chose comme ça. Avec ta réponse j'ai fais un petit tour sur Google et premier le lien, un gars parle d'Instantiate.
Ça peut marcher comme ça aussi tout bêtement non ?
http://forum.unity3d.com/threads/create ... me.355933/
Après s'il y a un risque de persistance c'est pas top.
Oui je pensais à quel chose comme ça. Avec ta réponse j'ai fais un petit tour sur Google et premier le lien, un gars parle d'Instantiate.
Ça peut marcher comme ça aussi tout bêtement non ?
http://forum.unity3d.com/threads/create ... me.355933/
Après s'il y a un risque de persistance c'est pas top.
Re: ScriptableObject pour système d'items
On utilise la fonction CreateInstance sur le ScriptableObject, pour recevoir une copie.
http://docs.unity3d.com/ScriptReference ... tance.html
http://docs.unity3d.com/ScriptReference ... tance.html
Re: ScriptableObject pour système d'items
Oui mais du coup j'ai une instance vierge, et non un celle d'un asset