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(); }
private void OnInspectorGUI_Other(ptTilemap tmp) { GUILayout.Label("Other:"); EditorGUILayout.Space(); EditorGUI.BeginChangeCheck(); tmp.Tag = EditorGUILayout.TagField("Tag:", tmp.Tag); tmp.DisplayChunksInHierarchy = GUILayout.Toggle(tmp.DisplayChunksInHierarchy, "Display chunks in hierarchy"); if (EditorGUI.EndChangeCheck()) { EditorUtility.SetDirty(tmp.gameObject); } }
private void OnInspectorGUI_Collider(ptTilemap tmp) { tmp.ColliderEnabled = GUILayout.Toggle(tmp.ColliderEnabled, "Collider2D"); EditorGUILayout.Space(); EditorGUI.BeginDisabledGroup(!tmp.ColliderEnabled); tmp.ColliderIsTrigger = GUILayout.Toggle(tmp.ColliderIsTrigger, "Is trigger"); tmp.LayerMask = EditorGUILayout.LayerField("Layer", tmp.LayerMask); tmp.PhysicsMaterial2D = (PhysicsMaterial2D)EditorGUILayout.ObjectField("Physics material 2D:", tmp.PhysicsMaterial2D, typeof(PhysicsMaterial2D), false); EditorGUILayout.Space(); if (GUILayout.Button("Update collider")) { tmp.RegenerateCollider(); } EditorGUI.EndDisabledGroup(); }
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(); }
private void OnInspectorGUI_Paint(ptTilemap tmp) { if (paletteElement == null) { paletteElement = new Texture2D(50, 20); var colors = new Color[paletteElement.width * paletteElement.height]; for (int i = 0; i < colors.Length; i++) { colors[i] = Color.white; } paletteElement.SetPixels(colors); paletteElement.Apply(); } GUILayout.Label("Paint:"); EditorGUILayout.Space(); UpdateColorBox(); showHelp = EditorGUILayout.Foldout(showHelp, "Help"); if (showHelp) { GUILayout.Label("RMB - place pixel \nRMB+Shift - erase pixel \nRMB+Control - pick color"); } EditorGUILayout.Space(); DrawColorPicker(tmp); EditorGUILayout.Space(); showHistoryPalette = EditorGUILayout.Foldout(showHistoryPalette, "History of colors"); if (showHistoryPalette) { historyScrollPos = GUILayout.BeginScrollView(historyScrollPos, true, false, GUILayout.Height(50)); GUILayout.BeginHorizontal(); for (int i = history.Count - 1; i >= 0; i--) { GUI.color = history[i]; GUILayout.Box(paletteElement); if (GUILayoutUtility.GetLastRect().Contains(Event.current.mousePosition) && Event.current.type == EventType.MouseDown) { color = history[i]; Repaint(); } } GUI.color = Color.white; GUILayout.EndHorizontal(); GUILayout.EndScrollView(); if (GUILayout.Button("Clear")) { history.Clear(); } } EditorGUILayout.Space(); showCustomPalette = EditorGUILayout.Foldout(showCustomPalette, "Custom palette"); if (showCustomPalette) { palette = (ptPalette)EditorGUILayout.ObjectField("palette:", palette, typeof(ptPalette), false); if (palette != null) { DrawCustomPalette(); } } EditorGUILayout.Space(); showTilemapPalette = EditorGUILayout.Foldout(showTilemapPalette, "Tilemap pallete"); if (showTilemapPalette) { tmpPaletteRows = EditorGUILayout.IntSlider(tmpPaletteRows, 1, 50); tmpPalleteScrollPos = GUILayout.BeginScrollView(tmpPalleteScrollPos, true, false); int end_count = 0; int r_counter = tmpPaletteRows + 1; EditorGUILayout.BeginHorizontal(); EditorGUILayout.BeginVertical(GUILayout.Width(50 * tmpPaletteRows)); for (int i = 0; i < tmp.Palette.Length; i++) { r_counter++; if (r_counter > tmpPaletteRows) { EditorGUILayout.EndVertical(); EditorGUILayout.BeginVertical(); r_counter = 0; end_count++; } GUI.color = tmp.Palette[i]; GUILayout.Box(paletteElement); if (GUILayoutUtility.GetLastRect().Contains(Event.current.mousePosition) && Event.current.type == EventType.MouseDown) { color = tmp.Palette[i]; Repaint(); } } GUI.color = Color.white; EditorGUILayout.EndVertical(); EditorGUILayout.EndHorizontal(); GUILayout.EndScrollView(); } }