using System.Collections.Generic; using System.Linq; namespace Funique { public enum StereoMode { Unknown, THREEDV, THREEDH, FUNIQUELIVE, MONO, THREEDHFOURDOF, THREEDHDAVINCI, THREEDHSQUAREPLANE, FUNIQUE8K, OBS } public static class StereoModeUtility { public static Dictionary StereoModeDict = new Dictionary() { { StereoMode.Unknown, "Unknown" }, { StereoMode.THREEDV, "3dv" }, { StereoMode.THREEDH, "3dh" }, { StereoMode.FUNIQUELIVE, "flive" }, { StereoMode.MONO, "mono" }, { StereoMode.THREEDHFOURDOF, "3dhf" }, { StereoMode.THREEDHDAVINCI, "3dhd" }, { StereoMode.THREEDHSQUAREPLANE, "3dhp" }, { StereoMode.OBS, "obs" }, { StereoMode.FUNIQUE8K, "8k"} }; public static string[] AllStereoType => StereoModeDict.Values.ToArray(); public static bool CheckinType(string mode) => StereoModeDict.Values.ToList().Contains(mode); public static StereoMode ReverseSearch(string mode) { if (StereoModeDict.ContainsValue(mode)) { var r = StereoModeDict.Where(x => x.Value == mode).ToArray(); return r[0].Key; } else { return StereoMode.Unknown; } } public static KeyValuePair ReverseSearchPair(string mode) { if (StereoModeDict.ContainsValue(mode)) { var r = StereoModeDict.Where(x => x.Value == mode).ToArray(); return r[0]; } else { return new KeyValuePair(StereoMode.Unknown, string.Empty); } } } }