예제 #1
0
    //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);
    }
        public static AlertPalette ToPaletteColor(AlertPaletteConfig config)
        {
            var tonalOffset = config.TonalOffset ?? 0.2m;

            var contrastThreshold = config.ContrastThreshold ?? 3;

            return(new AlertPalette
            {
                Success = PaletteFactory.AugmentColor(config.Success ?? new PaletteColorConfig
                {
                    Light = PaletteColors.Green.X300,

                    Main = PaletteColors.Green.X500,

                    Dark = PaletteColors.Green.X700
                }, tonalOffset, contrastThreshold),

                Warning = PaletteFactory.AugmentColor(config.Warning ?? new PaletteColorConfig
                {
                    Light = PaletteColors.Orange.X300,

                    Main = PaletteColors.Orange.X500,

                    Dark = PaletteColors.Orange.X700
                }, tonalOffset, contrastThreshold),

                Info = PaletteFactory.AugmentColor(config.Info ?? new PaletteColorConfig
                {
                    Light = PaletteColors.Blue.X300,

                    Main = PaletteColors.Blue.X500,

                    Dark = PaletteColors.Blue.X700
                }, tonalOffset, contrastThreshold),
            });
        }
예제 #3
0
    //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);
    }