private static void DrawAdvancedSpriteField(AtlasTexture atlas, string spriteName) { if (atlas == null) { return; } if (atlas.Sprites.Count == 0) { EditorGUILayout.HelpBox("No sprites found", MessageType.Warning); return; } GUILayout.BeginHorizontal(); { if (EditorLayoutTools.DrawPrefixButton("Sprite")) { EditorAtlasPrefs.atlas = atlas; EditorAtlasPrefs.selectedSprite = spriteName; AtlasSpriteSelector.Show(SelectSprite); } EditorGUILayout.SelectableLabel(spriteName, new GUIStyle("TextArea"), GUILayout.Height(18f)); } GUILayout.EndHorizontal(); }
private void CustomInspector() { EditorGUILayout.Separator(); EditorGUI.BeginChangeCheck(); var atlasTexture = (AtlasTexture)EditorGUILayout.ObjectField("AtlasTexture", atlasTextureImage.Atlas, typeof(AtlasTexture), false); if (EditorGUI.EndChangeCheck()) { UnityEditorUtility.RegisterUndo("AtlasTextureImage Undo", instance.atlasTextureImage); Reflection.SetPrivateField(atlasTextureImage, "atlas", atlasTexture); } if (atlasTextureImage.Atlas != null) { EditorGUILayout.Separator(); if (atlasTextureImage.Atlas.Sprites.Any()) { using (new GUILayout.HorizontalScope()) { if (EditorLayoutTools.DrawPrefixButton("Sprite")) { EditorAtlasPrefs.atlas = atlasTextureImage.Atlas; EditorAtlasPrefs.selectedSprite = atlasTextureImage.SpriteName; AtlasSpriteSelector.Show(SelectSprite); } if (!string.IsNullOrEmpty(atlasTextureImage.SpriteName)) { EditorGUILayout.SelectableLabel(atlasTextureImage.SpriteName, EditorStyles.textArea, GUILayout.Height(18f)); } } } else { EditorGUILayout.HelpBox("No sprites found", MessageType.Warning); } } EditorGUILayout.Separator(); }