A game about forced loneliness, made by TACStudios
1using UnityEditor; 2using UnityEngine; 3 4namespace Unity.VisualScripting 5{ 6 public class CustomPropertyProviderSettings 7 { 8 private const string Title = "Custom Inspector Properties"; 9 private const string ButtonLabel = "Generate"; 10 11 public void OnGUI() 12 { 13 GUILayout.Space(5f); 14 15 GUILayout.Label(Title, EditorStyles.boldLabel); 16 17 GUILayout.Space(5f); 18 19 string label = "Inspectors in Visual Scripting plugins can handle many custom types besides Unity primites and objects. "; 20 label += "However, to be compatible with your custom editor drawers, some additional property provider scripts must be generated. "; 21 22 GUILayout.BeginHorizontal(EditorStyles.helpBox); 23 GUILayout.Label(EditorGUIUtility.IconContent("console.infoicon"), GUILayout.ExpandWidth(true)); 24 GUILayout.Box(label, EditorStyles.wordWrappedLabel); 25 GUILayout.EndHorizontal(); 26 27 if (GUILayout.Button(ButtonLabel, Styles.defaultsButton)) 28 { 29 SerializedPropertyProviderProvider.instance.GenerateProviderScripts(); 30 EditorUtility.DisplayDialog("Custom Inspector Generation", "Custom inspector generation has completed successfully.", "OK"); 31 } 32 } 33 34 private static class Styles 35 { 36 static Styles() 37 { 38 defaultsButton = new GUIStyle("Button"); 39 defaultsButton.padding = new RectOffset(10, 10, 4, 4); 40 } 41 42 public static readonly GUIStyle defaultsButton; 43 } 44 } 45}