Example #1
0
        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];
            }
        }