public ColorPaletteCollection ToCollection()
        {
            ColorPaletteCollection result = ScriptableObject.CreateInstance <ColorPaletteCollection>();

            result.Name     = Name;
            result.Palettes = new List <ColorPalette>(Palettes);
            return(result);
        }
Beispiel #2
0
        public void LoadFile()
        {
            var path = EditorUtility.OpenFilePanel("Import color palette collection ...", "", "json");

            if (path.Length > 0)
            {
                string json = File.ReadAllText(path);
                ColorPaletteCollection asset = JsonUtility.FromJson <JsonCollection>(json).ToCollection();

                _colorTesterHidden.ColorPaletteCollection = asset;
                _colorPaletteCollection = asset;
                AssetDatabase.CreateAsset(asset, "Assets/ColorPaletteTester/" + asset.Name + ".asset");
                AssetDatabase.SaveAssets();
            }
        }
Beispiel #3
0
        private void OnGUI()
        {
            if (_colorTesterHidden == null)
            {
                return;
            }
            GUIStyle header = new GUIStyle();

            header.fontStyle = FontStyle.Bold;
            header.alignment = TextAnchor.MiddleCenter;
            EditorGUILayout.LabelField("Color Palette Collection", header);
            _colorTesterHidden.ColorPaletteCollection = (ColorPaletteCollection)EditorGUILayout.ObjectField("Color Palette Collection", _colorTesterHidden.ColorPaletteCollection, typeof(ColorPaletteCollection), true);
            _colorPaletteCollection = _colorTesterHidden.ColorPaletteCollection;
            if (_colorTesterHidden.ColorPaletteCollection != null)
            {
                _colorTesterHidden.ColorPaletteCollection.Name = EditorGUILayout.TextField("Name", _colorTesterHidden.ColorPaletteCollection.Name);
            }
            if (GUILayout.Button("Create Color Palette"))
            {
                ColorPaletteCollection asset = CreateInstance <ColorPaletteCollection>();

                _colorTesterHidden.ColorPaletteCollection = asset;
                _colorPaletteCollection = asset;
                AssetDatabase.CreateAsset(asset, "Assets/ColorPaletteTester/NewColorPaletteCollection.asset");
                AssetDatabase.SaveAssets();
            }
            if (_colorTesterHidden.ColorPaletteCollection == null)
            {
                return;
            }

            EditorGUILayout.Space();
            string[] options = new string[_colorPaletteCollection.Count + 1];
            options[0] = "None";
            string o = "\u2800";

            for (int i = 0; i < options.Length - 1; i++)
            {
                options[i + 1] = _colorPaletteCollection[i].Name + o;
                o += '\u2800';
            }
            EditorGUILayout.Space();
            if (options.Length > 1)
            {
                _currentColorPalette = EditorGUILayout.Popup("Color Palette", _currentColorPalette + 1, options) - 1;
            }
            else
            {
                _currentColorPalette = EditorGUILayout.Popup("Color Palette", 0, options) - 1;
            }
            if (_currentColorPalette >= 0)
            {
                EditorGUILayout.Space();
                EditorGUILayout.LabelField("Color Palette", header);
                _colorPaletteCollection[_currentColorPalette].Name        = EditorGUILayout.TextField("Name", _colorPaletteCollection[_currentColorPalette].Name);
                _colorPaletteCollection[_currentColorPalette].MainColor   = EditorGUILayout.ColorField(new GUIContent("Main Color"), _colorPaletteCollection[_currentColorPalette].MainColor, true, true, true);
                _colorPaletteCollection[_currentColorPalette].SecondColor = EditorGUILayout.ColorField(new GUIContent("Second Color"), _colorPaletteCollection[_currentColorPalette].SecondColor, true, true, true);
                _colorTesterHidden.ColorTestMaterial.SetColor("_MainColor", _colorPaletteCollection[_currentColorPalette].MainColor);
                _colorTesterHidden.ColorTestMaterial.SetColor("_SecondColor", _colorPaletteCollection[_currentColorPalette].SecondColor);
                if (GUILayout.Button("Remove Color Palette"))
                {
                    _colorPaletteCollection.RemoveAt(_currentColorPalette);
                    _currentColorPalette--;
                }
            }
            EditorGUILayout.Space();
            if (GUILayout.Button("Add Color Palette"))
            {
                _colorPaletteCollection.Add(new ColorPalette());
                _currentColorPalette = _colorPaletteCollection.Count - 1;
            }
            EditorGUILayout.Space();
            if (GUILayout.Button("Export Color Palette Collection..."))
            {
                SaveFile();
            }
            EditorGUILayout.Space();
            if (GUILayout.Button("Import Color Palette Collection..."))
            {
                LoadFile();
            }
            EditorGUILayout.Space();
            EditorGUILayout.LabelField("Scene Settings", header);
            _gridThickness       = EditorGUILayout.Slider("Grid Thickness", _gridThickness, 0, 1);
            _bloomValue          = EditorGUILayout.Slider("Bloom", _bloomValue, 0, 1);
            _lensDistortionValue = EditorGUILayout.Slider("Lens Distortion", _lensDistortionValue, 0, 1);
            _colorTesterHidden.Grid.SetFloat("_Thickness", _gridThickness);
            _bloom.intensity.value          = _bloomValue * 0.4f;
            _lensDistortion.intensity.value = _lensDistortionValue * 0.4f;
        }
 public JsonCollection FromCollection(ColorPaletteCollection collection)
 {
     Name     = collection.Name;
     Palettes = collection.Palettes.ToArray();
     return(this);
 }