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()); }