using System; using System.Collections.Generic; namespace Utils { /// /// Capture types for different photo contexts /// public enum CaptureType { StatueMinigame, DivingMinigame } /// /// Configuration for a specific capture type /// [Serializable] public class CaptureConfig { public string subFolder; public string photoPrefix; public CaptureConfig(string subFolder, string photoPrefix) { this.subFolder = subFolder; this.photoPrefix = photoPrefix; } } /// /// Static configuration registry for all capture types /// public static class PhotoCaptureConfigs { private static readonly Dictionary Configs = new Dictionary { [CaptureType.StatueMinigame] = new CaptureConfig( subFolder: "StatueMinigame", photoPrefix: "Statue_" ), [CaptureType.DivingMinigame] = new CaptureConfig( subFolder: "DivingMinigame", photoPrefix: "Diving_" ) }; /// /// Get configuration for a specific capture type /// public static CaptureConfig GetConfig(CaptureType type) { if (Configs.TryGetValue(type, out CaptureConfig config)) { return config; } throw new ArgumentException($"No configuration found for CaptureType: {type}"); } } }