[CF-AL] Sérialisation d'une liste de classes dérivées

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
Avatar de l’utilisateur
Deceleris
Messages : 57
Inscription : 25 Juil 2018 22:06
Contact :

[CF-AL] Sérialisation d'une liste de classes dérivées

Message par Deceleris » 31 Juil 2018 14:10

Avec les scriptableObject je voulais faire un système de composants pour les armes à feu. Le but était que le système puisse permettre de créer tout types d'armes imaginable autour d'une même base, avec un système de drag and drop, un peu comme avec les gameObject.

Voilà donc dans un script Gun, j'ai une liste de GunComponent. Pour faire simple :perv:

Maintenant le problème c'est que unity ne supporte pas la sérialisation des classes dérivées, si le composant est stocké dans une variable de type GunComponent, alors seule les information relative à la classe de base, GunComponent, subsistent après la sérialisation.

Donc lorsque mon arme contient une liste variée de GunComponent dérivés, toutes les données se perdent après sérialisation pour devenir un simple liste de base GunComponent.

J'ai fait beaucoup de recherche mais j'ai finit par contourner le problème. Ça n’empêche pas que ça me serait très utile de trouver un moyen pour le faire, car beaucoup de système pourrait en voir le jour :D

Je m'en remet à votre expérience, si vous connaissez un moyen de sérialiser une liste de class dérivée je vous serait très reconnaissant :mrgreen:
Travail actuellement sur : https://deceleris.itch.io/shadows

Répondre

Revenir vers « (C#) CSharp »