Exemple #1
0
        private void OnInspectorGUI_Renderer(ptTilemap tmp)
        {
            GUILayout.Label("Renderer:");
            EditorGUILayout.Space();

            EditorGUI.BeginChangeCheck();
            tmp.CellSize     = EditorGUILayout.Vector2Field("Cell size:", tmp.CellSize);
            tmp.ColorTint    = EditorGUILayout.ColorField("Color tint:", tmp.ColorTint);
            tmp.SortingOrder = EditorGUILayout.IntField("Sorting order:", tmp.SortingOrder);
            tmp.Material     = (Material)EditorGUILayout.ObjectField("Material:", tmp.Material, typeof(Material), false);
            tmp.AutoTrim     = EditorGUILayout.Toggle("Auto trim:", tmp.AutoTrim);

            EditorGUILayout.Space();
            if (GUILayout.Button("Clear"))
            {
                tmp.Clear();
                tmp.UpdateMap();
            }

            if (GUILayout.Button("Refresh mesh"))
            {
                tmp.UpdateMap();
            }

            if (EditorGUI.EndChangeCheck())
            {
                EditorUtility.SetDirty(tmp.gameObject);
            }
        }
        private void Start()
        {
            tilemap = GetComponent <ptTilemap>();

            tilemap.SetPixel(1, 1, Color.green);
            tilemap.SetPixel(1, 50, Color.red);

            tilemap.UpdateMap();
        }
Exemple #3
0
        private void DrawColorPicker(ptTilemap tmp)
        {
            color = EditorGUILayout.ColorField("Paint color:", color);

            blendMode = (BlendMode)EditorGUILayout.EnumPopup("Blend mode:", blendMode);

            GUILayout.BeginHorizontal();
            GUILayout.Box(colorBox, GUILayout.Width(100), GUILayout.Height(100));

            if (Event.current.type == EventType.MouseDrag || Event.current.type == EventType.MouseDown)
            {
                if (GUILayoutUtility.GetLastRect().Contains(Event.current.mousePosition))
                {
                    var pickerRect = GUILayoutUtility.GetLastRect();
                    var gui        = Event.current.mousePosition;

                    Xpicker = Mathf.Abs((pickerRect.x - gui.x) / pickerRect.width);
                    Ypicker = Mathf.Abs((pickerRect.y - gui.y) / pickerRect.height);

                    UpdateColor();

                    Repaint();
                }
            }

            GUILayout.BeginVertical();

            if (GUILayout.Button(isRGB ? "RGB" : "HSV"))
            {
                isRGB = !isRGB;
            }

            if (isRGB)
            {
                color.r = EditorGUILayout.Slider(color.r, 0f, 1f);
                color.g = EditorGUILayout.Slider(color.g, 0f, 1f);
                color.b = EditorGUILayout.Slider(color.b, 0f, 1f);
                color.a = EditorGUILayout.Slider(color.a, 0f, 1f);
            }
            else
            {
                var a   = color.a;
                var hsv = color.toHSV();
                hsv.h   = EditorGUILayout.Slider(hsv.h, 0f, 1f);
                hsv.s   = EditorGUILayout.Slider(hsv.s, 0f, 1f);
                hsv.v   = EditorGUILayout.Slider(hsv.v, 0f, 1f);
                color   = hsv.toRGB();
                color.a = a;
            }

            alphaLock = EditorGUILayout.Toggle("Alpha lock", alphaLock);

            if (GUILayout.Button("Clear map to color"))
            {
                tmp.Fill(color);
                tmp.UpdateMap();
            }

            GUILayout.EndVertical();
            GUILayout.EndHorizontal();
        }