ZMWSLI0-SL2021-GR11/Projekt/MWSProjekt/Library/PackageCache/com.unity.visualscripting@1.6.1/Editor/VSSettingsProvider/VSProjectSettingsProviderView.cs

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();
}
}
}