[CF-AL] Sérialisation d'une liste de classes dérivées
Publié : 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
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
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
Voilà donc dans un script Gun, j'ai une liste de GunComponent. Pour faire simple
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
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