J'ai vu de grandes questions sur des sujets similaires, mais aucune n'a abordé cette méthode particulière:
Étant donné que j'ai plusieurs collections d'entités de jeu dans mon jeu [XNA Game Studio], avec de nombreuses entités appartenant à plusieurs listes, j'envisage des moyens de garder une trace de chaque fois qu'une entité est détruite et de la supprimer des listes auxquelles elle appartient .
Beaucoup de méthodes potentielles semblent bâclées / compliquées, mais je me souviens d'une manière que j'ai vue auparavant dans laquelle, au lieu d'avoir plusieurs collections d'entités de jeu, vous avez à la place des collections d' ID d' entité de jeu . Ces ID sont mappés aux entités de jeu via une "base de données" centrale (peut-être juste une table de hachage).
Ainsi, chaque fois qu'un morceau de code veut accéder aux membres d'une entité de jeu, il vérifie d'abord s'il est encore dans la base de données. Sinon, il peut réagir en conséquence.
Est-ce une bonne approche? Il semble que cela éliminerait de nombreux risques / tracas liés au stockage de plusieurs listes, le compromis étant le coût de la recherche chaque fois que vous souhaitez accéder à un objet.