//save json public PaletteContainer CreatePalettes() { PaletteContainer paletteContainer = new PaletteContainer(); paletteContainer.Palettes = Palettes; if (PaletteManager.Palettes != null) { PaletteManager.Palettes.Clear(); } foreach (Palette palette in paletteContainer.Palettes) { Palette _palette = PaletteFactory.CreatePalette(palette.name, palette.Colors, palette.Textures, palette.Shaders); PaletteManager.AddPalete(_palette); } string patch = "data.json"; string filePath = Path.Combine(Application.streamingAssetsPath, patch); string dataAsJson = JsonUtility.ToJson(paletteContainer); File.WriteAllText(filePath, dataAsJson); Debug.Log("Palette saved"); return(paletteContainer); }
//load from json public PaletteContainer LoadPalette() { string patch = "data.json"; string filePath = Path.Combine(Application.streamingAssetsPath, patch); string dataAsJson = File.ReadAllText(filePath); PaletteContainer loadedData = JsonUtility.FromJson <PaletteContainer>(dataAsJson); Palettes = loadedData.Palettes; if (PaletteManager.Palettes != null) { PaletteManager.Palettes.Clear(); } foreach (Palette palette in loadedData.Palettes) { Palette _palette = PaletteFactory.CreatePalette(palette.name, palette.Colors, palette.Textures, palette.Shaders); PaletteManager.AddPalete(_palette); } Debug.Log("Palette loaded"); return(loadedData); }