Ich habe großartige Fragen zu ähnlichen Themen gesehen, aber keine, die sich mit dieser speziellen Methode befassten:
Angesichts der Tatsache, dass ich in meinem [XNA Game Studio] -Spiel mehrere Sammlungen von Spielentitäten habe, wobei viele Entitäten zu mehreren Listen gehören, überlege ich, wie ich verfolgen kann, wann immer eine Entität zerstört wird, und sie aus den Listen entfernen kann, zu denen sie gehört .
Viele potenzielle Methoden scheinen schlampig / verworren zu sein, aber ich erinnere mich an eine Art und Weise, die ich zuvor gesehen habe, bei der Sie statt mehrerer Sammlungen von Spielentitäten Sammlungen von Spielentitäts- IDs haben . Diese IDs werden Spielentitäten über eine zentrale "Datenbank" (möglicherweise nur eine Hash-Tabelle) zugeordnet.
Wenn also ein Teil des Codes auf die Mitglieder einer Spielentität zugreifen möchte, prüft er zunächst, ob er sich noch in der Datenbank befindet. Wenn nicht, kann es entsprechend reagieren.
Ist das ein vernünftiger Ansatz? Es scheint, dass dies viele der Risiken und Probleme beim Speichern mehrerer Listen beseitigen würde, wobei der Kompromiss die Kosten für die Suche jedes Mal sind, wenn Sie auf ein Objekt zugreifen möchten.