Skip to content

Commit 23f2fff

Browse files
committed
Minor refactor changes
1 parent 6e46e00 commit 23f2fff

4 files changed

Lines changed: 30 additions & 30 deletions

File tree

Assets/Editor Toolbox/Editor/ToolboxEditorGui.cs

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -607,29 +607,24 @@ public static void CloseProperty()
607607
}
608608

609609
/// <summary>
610-
/// Displays all visible children associated to the given <see cref="Object"/>.
610+
/// Displays all visible children (except the default script property) associated to the given <see cref="Object"/>.
611611
/// This method doesn't support Toolbox-based features.
612612
/// </summary>
613613
public static void DrawObjectProperties(Object instance)
614614
{
615615
using (SerializedObject serializedObject = new SerializedObject(instance))
616616
{
617-
using (var iterator = serializedObject.GetIterator())
617+
var property = serializedObject.GetIterator();
618+
if (property.NextVisible(true))
618619
{
619-
if (iterator.NextVisible(true))
620+
if (!PropertyUtility.IsDefaultScriptProperty(property))
620621
{
621-
do
622-
{
623-
var name = iterator.name;
624-
SerializedProperty childProperty = serializedObject.FindProperty(name);
625-
if (PropertyUtility.IsDefaultScriptProperty(childProperty))
626-
{
627-
continue;
628-
}
629-
630-
DrawNativeProperty(childProperty);
631-
}
632-
while (iterator.NextVisible(false));
622+
DrawNativeProperty(property.Copy());
623+
}
624+
625+
while (property.NextVisible(false))
626+
{
627+
DrawNativeProperty(property.Copy());
633628
}
634629
}
635630

Assets/Editor Toolbox/Editor/Wizards/ScriptableObjectCreationWizard.cs

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,10 @@ public void Validate()
6565
private static readonly TypeField typeField = new TypeField(sharedConstraint, sharedAppearance);
6666

6767
private readonly CreationData data = new CreationData();
68-
private bool editDefaultObject;
6968

70-
[MenuItem("Assets/Create/Toolbox/ScriptableObject Creation Wizard", priority = 9)]
69+
private bool inspectDefaultObject;
70+
71+
[MenuItem("Assets/Create/Toolbox/ScriptableObject Creation Wizard", priority = 5)]
7172
internal static void Initialize()
7273
{
7374
var window = GetWindow<ScriptableObjectCreationWizard>();
@@ -86,28 +87,28 @@ private void DrawSettingsPanel()
8687
}
8788

8889
EditorGUI.BeginChangeCheck();
89-
data.InstanceName = EditorGUILayout.TextField("Instance Name", data.InstanceName);
90-
data.InstancesCount = EditorGUILayout.IntField("Instances To Create", data.InstancesCount);
91-
var content = new GUIContent("Default Object", "Will be used as a blueprint for all created ScriptableObjects.");
92-
var instance = EditorGUILayout.ObjectField(content, data.DefaultObject, data.InstanceType, false);
93-
if (instance != null)
90+
data.InstanceName = EditorGUILayout.TextField(Style.nameContent, data.InstanceName);
91+
data.InstancesCount = EditorGUILayout.IntField(Style.countContent, data.InstancesCount);
92+
var assignedInstance = EditorGUILayout.ObjectField(Style.objectContent, data.DefaultObject, data.InstanceType, false);
93+
if (assignedInstance != null)
9494
{
95-
editDefaultObject = GUILayout.Toggle(editDefaultObject,
95+
inspectDefaultObject = GUILayout.Toggle(inspectDefaultObject,
9696
Style.foldoutContent, Style.foldoutStyle, Style.foldoutOptions);
9797
}
9898
else
9999
{
100-
editDefaultObject = false;
100+
inspectDefaultObject = false;
101101
}
102102

103-
if (editDefaultObject)
103+
if (inspectDefaultObject)
104104
{
105-
EditorGUI.indentLevel++;
106-
ToolboxEditorGui.DrawObjectProperties(instance);
107-
EditorGUI.indentLevel--;
105+
using (new EditorGUILayout.VerticalScope(Style.backgroundStyle))
106+
{
107+
ToolboxEditorGui.DrawObjectProperties(assignedInstance);
108+
}
108109
}
109110

110-
data.DefaultObject = instance;
111+
data.DefaultObject = assignedInstance;
111112
if (EditorGUI.EndChangeCheck())
112113
{
113114
OnWizardUpdate();
@@ -209,6 +210,9 @@ private static class Style
209210
internal static readonly GUIStyle backgroundStyle;
210211
internal static readonly GUIStyle foldoutStyle;
211212

213+
internal static readonly GUIContent nameContent = new GUIContent("Instance Name");
214+
internal static readonly GUIContent countContent = new GUIContent("Instances To Create", "Indicates how many instances will be created.");
215+
internal static readonly GUIContent objectContent = new GUIContent("Default Object", "Will be used as a blueprint for all created ScriptableObjects.");
212216
internal static readonly GUIContent foldoutContent = new GUIContent("Inspect", "Show/Hide Properties");
213217

214218
internal static readonly GUILayoutOption[] foldoutOptions = new GUILayoutOption[]

Assets/Examples/Scripts/SampleBehaviour6.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public class SampleBehaviour6 : MonoBehaviour
1313
public ClassWithInterfaceBase var2;
1414
[SerializeReference, ReferencePicker(ParentType = typeof(ClassWithInterface2))]
1515
public ClassWithInterfaceBase var3;
16-
[SerializeField, SerializeReference, ReferencePicker]
16+
[SerializeReference, ReferencePicker]
1717
public Interface1[] vars;
1818
#endif
1919

Assets/Examples/Scripts/SampleScriptableObject.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,5 @@ public class SampleScriptableObject : ScriptableObject
66
public bool var1;
77
[EnableIf(nameof(var1), true)]
88
public int var2;
9+
public string[] vars;
910
}

0 commit comments

Comments
 (0)