public void Dispose() { foreach (KeyValuePair <(Type Type, Guid Universe, int PlanetId), Database.Database> database in planetDatabaseRegister) { database.Value.Dispose(); } foreach (KeyValuePair <(Type Type, Guid Universe), Database.Database> database in universeDatabaseRegister) { database.Value.Dispose(); } foreach (KeyValuePair <Type, Database.Database> database in globalDatabaseRegister) { database.Value.Dispose(); } planetDatabaseRegister.Clear(); universeDatabaseRegister.Clear(); globalDatabaseRegister.Clear(); planetSemaphore.Dispose(); universeSemaphore.Dispose(); globalSemaphore.Dispose(); }