private static void Initialize() { if (Layers != null && Palettes != null) { return; } Layers = FileUtils.LoadJsonListFromMultipleSources <Layer>(ContentPaths.dwarf_layers, null, l => l.Type + "&" + l.Asset); foreach (var layer in Layers) { var rawTexture = AssetManager.GetContentTexture(layer.Asset); var memTexture = TextureTool.MemoryTextureFromTexture2D(rawTexture); if (memTexture == null) { continue; } layer.CachedTexture = TextureTool.DecomposeTexture(memTexture, BaseDwarfPalette.CachedPalette); } Palettes = FileUtils.LoadJsonListFromMultipleSources <Palette>(ContentPaths.dwarf_palettes, null, l => l.Asset); foreach (var palette in Palettes) { var rawTexture = AssetManager.GetContentTexture(palette.Asset); palette.CachedPalette = TextureTool.RawPaletteFromTexture2D(rawTexture); } }