public static SettingsProvider CreateSettingsProvider() { return(new SettingsProvider("Project/Custom Script Utils Settings", SettingsScope.Project) { guiHandler = (searchContext) => { var settings = Load(); var serialized = new SerializedObject(settings); EditorGUI.BeginChangeCheck(); EditorGUILayout.PropertyField(serialized.FindProperty("_customScriptPath"), new GUIContent("Custom Script Path")); EditorGUILayout.PropertyField(serialized.FindProperty("_defaultNamespace"), new GUIContent("Default Namespace")); EditorGUILayout.HelpBox("New scripts created directly on GameObjects or in Assets root will automatically move to the Custom Script Path. Leave blank to disable.\n\n" + "Default Namespace requires a custom monobehavior script in `%EDITOR_PATH%\\Data\\Resources\\ScriptTemplates` containing the variable #NAMESPACE#.", MessageType.Info); if (EditorGUI.EndChangeCheck()) { serialized.ApplyModifiedProperties(); WrjSettings.Refresh(settings); } }, keywords = new HashSet <string>(new[] { "Custom scripts path", "Default namespace" }) }); }
public static void Refresh(WrjSettings instance) { CustomScriptPath = instance._customScriptPath; DefaultNamespace = instance._defaultNamespace; }