88 lines
2.4 KiB
C#
88 lines
2.4 KiB
C#
using UnityEngine;
|
|
using UnityEditor;
|
|
|
|
namespace Unity.VisualScripting
|
|
{
|
|
class VSProjectSettingsProviderView : SettingsProvider
|
|
{
|
|
private const string path = "Project/Visual Scripting";
|
|
private const string title = "Visual Scripting";
|
|
private const string titleGroup = "Generate Units";
|
|
|
|
VSSettingsAssembly vsSettingsAssembly;
|
|
VSSettingsTypeOption vsSettingsTypeOption;
|
|
VSSettingsCustomProperty vsSettingsCustomProperty;
|
|
VSSettingsBackup vsSettingsBackup;
|
|
VSSettingsScriptReferenceResolver vsSettingsScriptReferenceResolver;
|
|
|
|
public VSProjectSettingsProviderView() : base(path, SettingsScope.Project)
|
|
{
|
|
label = title;
|
|
}
|
|
|
|
private void CreateOptionsIfNeeded()
|
|
{
|
|
if (vsSettingsAssembly == null)
|
|
{
|
|
vsSettingsAssembly = new VSSettingsAssembly();
|
|
}
|
|
|
|
if (vsSettingsTypeOption == null)
|
|
{
|
|
vsSettingsTypeOption = new VSSettingsTypeOption();
|
|
}
|
|
|
|
if (vsSettingsCustomProperty == null)
|
|
{
|
|
vsSettingsCustomProperty = new VSSettingsCustomProperty();
|
|
}
|
|
|
|
if (vsSettingsBackup == null)
|
|
{
|
|
vsSettingsBackup = new VSSettingsBackup();
|
|
}
|
|
|
|
if (vsSettingsScriptReferenceResolver == null)
|
|
{
|
|
vsSettingsScriptReferenceResolver = new VSSettingsScriptReferenceResolver();
|
|
}
|
|
}
|
|
|
|
public override void OnGUI(string searchContext)
|
|
{
|
|
GUILayout.Space(5f);
|
|
|
|
GUILayout.Label(titleGroup, EditorStyles.boldLabel);
|
|
|
|
GUILayout.Space(10f);
|
|
|
|
// happens when opening unity with the settings window already opened. there's a delay until the singleton is assigned
|
|
if (BoltCore.instance == null)
|
|
{
|
|
EditorGUILayout.HelpBox("Loading Configuration...", MessageType.Info);
|
|
return;
|
|
}
|
|
|
|
CreateOptionsIfNeeded();
|
|
|
|
vsSettingsTypeOption.OnGUI();
|
|
|
|
GUILayout.Space(10f);
|
|
|
|
vsSettingsAssembly.OnGUI();
|
|
|
|
GUILayout.Space(10f);
|
|
|
|
vsSettingsCustomProperty.OnGUI();
|
|
|
|
GUILayout.Space(10f);
|
|
|
|
vsSettingsBackup.OnGUI();
|
|
|
|
GUILayout.Space(10f);
|
|
|
|
vsSettingsScriptReferenceResolver.OnGUI();
|
|
}
|
|
}
|
|
}
|