private static void InitializePalettes() { if (PalettesInitialized) { return; } PalettesInitialized = true; PaletteTypes = FileUtils.LoadJsonListFromMultipleSources <PaletteType>("Entities/Dwarf/Layers/palette-types.json", null, p => p.Name); Palettes = FileUtils.LoadJsonListFromMultipleSources <Palette>("Entities/Dwarf/Layers/palettes.json", null, p => p.Name); foreach (var palette in Palettes) { var asset = AssetManager.GetContentTexture(palette.Asset); palette.CachedPalette = new DwarfCorp.Palette(TextureTool.RawPaletteFromMemoryTextureRow(TextureTool.MemoryTextureFromTexture2D(asset), palette.Row)); } if (Palettes.Count == 0) { throw new InvalidProgramException("No palettes?"); } _BasePalette = Palettes.FirstOrDefault(p => p.Type == "Base"); if (_BasePalette == null) { _BasePalette = Palettes[0]; } }