namespace VeloBrawl.Supercell.Titan.CommonUtils.Utils; public enum CsvHelperTable { Accessories, Locales, Globals, Resources, Projectiles, Regions, GameModeVariation, Locations, LocationThemes, Music, Emotes, Milestones, Messages, BillingPackages, Sounds, Effects, ParticleEmitters, HealthBars, ClientGlobals, Credits, Characters, AreaEffects, Items, Maps, Skills, Campaign, Bosses, Cards, Animations, Faces, AllianceRoles, AllianceBadges, Tutorial, Tiles, NameColors, PlayerThumbnails, Skins, Themes, SkinConfs } public static class CsvHelperTableExtensions { public static string GetFileName(this CsvHelperTable fileId) { return fileId switch { CsvHelperTable.Accessories => "accessories.csv", CsvHelperTable.Locales => "locales.csv", CsvHelperTable.Globals => "globals.csv", CsvHelperTable.Resources => "resources.csv", CsvHelperTable.Projectiles => "projectiles.csv", CsvHelperTable.Regions => "regions.csv", CsvHelperTable.Locations => "locations.csv", CsvHelperTable.Music => "music.csv", CsvHelperTable.Emotes => "emotes.csv", CsvHelperTable.Milestones => "milestones.csv", CsvHelperTable.Messages => "messages.csv", CsvHelperTable.LocationThemes => "location_themes.csv", CsvHelperTable.BillingPackages => "billing_packages.csv", CsvHelperTable.Sounds => "sounds.csv", CsvHelperTable.Effects => "effects.csv", CsvHelperTable.ParticleEmitters => "particle_emitters.csv", CsvHelperTable.HealthBars => "health_bars.csv", CsvHelperTable.ClientGlobals => "client_globals.csv", CsvHelperTable.Credits => "credits.csv", CsvHelperTable.Characters => "characters.csv", CsvHelperTable.AreaEffects => "area_effects.csv", CsvHelperTable.Items => "items.csv", CsvHelperTable.GameModeVariation => "game_mode_variations.csv", CsvHelperTable.Maps => "maps.csv", CsvHelperTable.Skills => "skills.csv", CsvHelperTable.Campaign => "campaign.csv", CsvHelperTable.Bosses => "bosses.csv", CsvHelperTable.Cards => "cards.csv", CsvHelperTable.Animations => "animations.csv", CsvHelperTable.Faces => "faces.csv", CsvHelperTable.AllianceRoles => "alliance_roles.csv", CsvHelperTable.AllianceBadges => "alliance_badges.csv", CsvHelperTable.Tutorial => "tutorial.csv", CsvHelperTable.Tiles => "tiles.csv", CsvHelperTable.NameColors => "name_colors.csv", CsvHelperTable.PlayerThumbnails => "player_thumbnails.csv", CsvHelperTable.Skins => "skins.csv", CsvHelperTable.Themes => "themes.csv", CsvHelperTable.SkinConfs => "skin_confs.csv", _ => throw new ArgumentOutOfRangeException(nameof(fileId), fileId, null) }; } public static int GetId(this CsvHelperTable fileId) { return fileId switch { CsvHelperTable.Locales => 1, CsvHelperTable.Globals => 3, CsvHelperTable.Resources => 5, CsvHelperTable.Projectiles => 6, CsvHelperTable.Regions => 14, CsvHelperTable.Locations => 15, CsvHelperTable.Music => 12, CsvHelperTable.Emotes => 52, CsvHelperTable.Milestones => 39, CsvHelperTable.Messages => 40, CsvHelperTable.BillingPackages => 2, CsvHelperTable.Sounds => 4, CsvHelperTable.LocationThemes => 56, CsvHelperTable.Effects => 7, CsvHelperTable.ParticleEmitters => 10, CsvHelperTable.HealthBars => 11, CsvHelperTable.ClientGlobals => 9, CsvHelperTable.Credits => 13, CsvHelperTable.Characters => 16, CsvHelperTable.AreaEffects => 17, CsvHelperTable.Items => 18, CsvHelperTable.Maps => 19, CsvHelperTable.Skills => 20, CsvHelperTable.Campaign => 21, CsvHelperTable.Bosses => 22, CsvHelperTable.Cards => 23, CsvHelperTable.Animations => 24, CsvHelperTable.Faces => 30, CsvHelperTable.AllianceRoles => 25, CsvHelperTable.AllianceBadges => 8, CsvHelperTable.Tutorial => 26, CsvHelperTable.Tiles => 27, CsvHelperTable.NameColors => 43, CsvHelperTable.PlayerThumbnails => 28, CsvHelperTable.Skins => 29, CsvHelperTable.GameModeVariation => 33, CsvHelperTable.Themes => 41, CsvHelperTable.SkinConfs => 44, CsvHelperTable.Accessories => 50, _ => throw new ArgumentOutOfRangeException(nameof(fileId), fileId, null) }; } }