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}