public static void AddPalette(string paletteName)
 {
     if (!m_palettes.ContainsKey(paletteName))
     {
         m_palettes[paletteName] = new TLMAutoColorPalette(paletteName, new List <Color32> {
             Color.white
         });
     }
 }
 public static TLMAutoColorPalette GetPalette(string paletteName)
 {
     if (m_palettes.ContainsKey(paletteName))
     {
         TLMAutoColorPalette palette = m_palettes[paletteName];
         return(palette);
     }
     return(null);
 }
 public static List <Color32> GetColors(string paletteName)
 {
     if (m_palettes.ContainsKey(paletteName))
     {
         TLMAutoColorPalette palette = m_palettes[paletteName];
         return(palette.Colors);
     }
     return(null);
 }
 private static void Load()
 {
     m_palettes = new Dictionary <string, TLMAutoColorPalette>();
     FileUtils.EnsureFolderCreation(TLMController.PalettesFolder);
     foreach (var filename in Directory.GetFiles(TLMController.PalettesFolder, "*" + TLMAutoColorPalette.EXT_PALETTE).Select(x => x.Split(Path.DirectorySeparatorChar).Last()))
     {
         string fileContents = File.ReadAllText(TLMController.PalettesFolder + Path.DirectorySeparatorChar + filename, Encoding.UTF8);
         var    name         = filename.Substring(0, filename.Length - 4);
         m_palettes[name] = TLMAutoColorPalette.FromFileContent(name, fileContents.Split(TLMAutoColorPalette.ENTRY_SEPARATOR).Select(x => x?.Trim()).Where(x => !string.IsNullOrEmpty(x)).ToArray());
         LogUtils.DoLog("LOADED PALETTE ({0}) QTT: {1}", filename, m_palettes[name].Count);
     }
 }
 public static Color32 GetColor(int number, string[] paletteOrderSearch, bool randomOnPaletteOverflow, bool avoidRandom = false)
 {
     foreach (var paletteName in paletteOrderSearch)
     {
         if (m_palettes.ContainsKey(paletteName))
         {
             TLMAutoColorPalette palette = m_palettes[paletteName];
             if (!randomOnPaletteOverflow || number <= palette.Colors.Count)
             {
                 return(palette[number % palette.Count]);
             }
         }
     }
     return(avoidRandom ? (Color32)Color.clear : gen.GetNext());
 }