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 string metadataPrefix;
public string indexKey;
public CaptureConfig(string subFolder, string photoPrefix, string metadataPrefix, string indexKey)
{
this.subFolder = subFolder;
this.photoPrefix = photoPrefix;
this.metadataPrefix = metadataPrefix;
this.indexKey = indexKey;
}
}
///
/// 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_",
metadataPrefix: "StatuePhoto_Meta_",
indexKey: "StatuePhoto_Index"
),
[CaptureType.DivingMinigame] = new CaptureConfig(
subFolder: "DivingMinigame",
photoPrefix: "Diving_",
metadataPrefix: "DivingPhoto_Meta_",
indexKey: "DivingPhoto_Index"
)
};
///
/// 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}");
}
}
}