[architecture] Ou lier mes sprites ?
Publié : 03 Déc 2019 12:12
Hello,
J'ai une question d'architecture sur Unity. Je ne suis pas un débutant : je l'utilise depuis très longtemps (2007)
Y'a un truc qui m’embête toujours et qui m'arrive souvent.
J'ai besoin d'utiliser fréquemment des mêmes sprites et textures dans pleins de scripts différents.
Le plus simple serait de lier mes sprites dans tous mes scripts, mais c'est horrible
Je cherche la solution la plus optimisée au niveau perfs & mémoire.
Le plus souvent, je créé un GameObject Data dont je fais un singleton.
Ensuite, si j'ai besoin d'un de mes sprites, j'accèdes à mon singleton depuis n'importe où :
Je trouve que c'est un peu lourd à cause du singleton.
J'ai essayé de remplacer Data par un ScriptableObject mais, ça demande de le lier dans tous mes objets. J'ai peur de faire pire que le singleton car il est possible que j'instancie 1000 objets qui contiennent tous ce lien.
Vous faites comment vous ?
J'ai une question d'architecture sur Unity. Je ne suis pas un débutant : je l'utilise depuis très longtemps (2007)
Y'a un truc qui m’embête toujours et qui m'arrive souvent.
J'ai besoin d'utiliser fréquemment des mêmes sprites et textures dans pleins de scripts différents.
Le plus simple serait de lier mes sprites dans tous mes scripts, mais c'est horrible
Je cherche la solution la plus optimisée au niveau perfs & mémoire.
Le plus souvent, je créé un GameObject Data dont je fais un singleton.
Ensuite, si j'ai besoin d'un de mes sprites, j'accèdes à mon singleton depuis n'importe où :
Code : Tout sélectionner
void Update()
{
sprite = Data.Instance.monJoliSprite;
}
J'ai essayé de remplacer Data par un ScriptableObject mais, ça demande de le lier dans tous mes objets. J'ai peur de faire pire que le singleton car il est possible que j'instancie 1000 objets qui contiennent tous ce lien.
Vous faites comment vous ?