private void ReadFolder(WorkshopItemSource source, string folder) { WorkshopItemMetadata workshopItemMetadata = WorkshopItemMetadata.Load(folder); if (workshopItemMetadata == null) { return; } switch (workshopItemMetadata.itemType) { case WorkshopItemType.Level: break; case WorkshopItemType.Levels: if (source == WorkshopItemSource.Subscription || source == WorkshopItemSource.LocalWorkshop) { levelRepo.AddItem(source, workshopItemMetadata); } break; case WorkshopItemType.Lobbies: if (source == WorkshopItemSource.SubscriptionLobbies || source == WorkshopItemSource.LocalWorkshop) { levelRepo.AddItem(source, workshopItemMetadata); } break; case WorkshopItemType.RagdollPreset: presetRepo.AddItem(source, workshopItemMetadata); break; default: modelRepos[workshopItemMetadata.itemType].AddItem(source, workshopItemMetadata); break; } }