private static void UpdateCodebase(IEnumerable <Type> typeSet = null) { if (typeSet == null) { typeSet = Codebase.settingsTypes; } else { typeSet = typeSet.Where(t => Codebase.settingsTypes.Contains(t)); } Codebase.UpdateSettings(); codebase = Codebase.Subset(typeSet, TypeFilter.Any.Configured(), MemberFilter.Any.Configured(), TypeFilter.Any.Configured(false)); codebase.Cache(); }
private static void BuildBoltUnitOptions() { #if (UNITY_BOLT_EXIST) DictionaryAsset projectSettings = AssetDatabase.LoadAssetAtPath(PathUtility.FromProject(LudiqCore.Paths.projectSettings), typeof(DictionaryAsset)) as DictionaryAsset; List <LooseAssemblyName> assemblyOptions = projectSettings.dictionary["assemblyOptions"] as List <LooseAssemblyName>; #else List <LooseAssemblyName> assemblyOptions = BoltCore.Configuration.assemblyOptions; #endif if (!assemblyOptions.Contains("FMODUnity")) { assemblyOptions.Add("FMODUnity"); } if (!assemblyOptions.Contains("FMODUnityResonance")) { assemblyOptions.Add("FMODUnityResonance"); } #if (UNITY_BOLT_EXIST) List <Type> typeOptions = projectSettings.dictionary["typeOptions"] as List <Type>; #else List <Type> typeOptions = BoltCore.Configuration.typeOptions; #endif Assembly fmodUnityAssembly = Assembly.Load("FMODUnity"); Assembly fmodUnityResonanceAssembly = Assembly.Load("FMODUnityResonance"); List <Type> allTypes = new List <Type>(GetTypesForNamespace(fmodUnityAssembly, "FMOD")); allTypes.AddRange(GetTypesForNamespace(fmodUnityAssembly, "FMOD.Studio")); foreach (Type type in allTypes) { if (!typeOptions.Contains(type)) { typeOptions.Add(type); } } Codebase.UpdateSettings(); #if (UNITY_BOLT_EXIST) UnitBase.Build(); #else UnitBase.Rebuild(); #endif }
protected override void OnContentGUI() { GUILayout.BeginVertical(Styles.background, GUILayout.ExpandHeight(true)); LudiqGUI.FlexibleSpace(); LudiqGUI.BeginHorizontal(); LudiqGUI.FlexibleSpace(); var text = "Choose the assemblies in which you want to look for units.\n" + "By default, all project and Unity assemblies are included.\n" + "Unless you use a third-party plugin distributed as a DLL, you shouldn't need to change this."; GUILayout.Label(text, LudiqStyles.centeredLabel, GUILayout.MaxWidth(370)); LudiqGUI.FlexibleSpace(); LudiqGUI.EndHorizontal(); LudiqGUI.Space(10); var height = LudiqGUI.GetInspectorHeight(null, assemblyOptionsMetadata, Styles.optionsWidth, GUIContent.none); LudiqGUI.BeginHorizontal(); LudiqGUI.FlexibleSpace(); EditorGUI.BeginChangeCheck(); var position = GUILayoutUtility.GetRect(Styles.optionsWidth, height); LudiqGUI.Inspector(assemblyOptionsMetadata, position, GUIContent.none); if (EditorGUI.EndChangeCheck()) { assemblyOptionsMetadata.Save(); Codebase.UpdateSettings(); } LudiqGUI.FlexibleSpace(); LudiqGUI.EndHorizontal(); LudiqGUI.Space(10); LudiqGUI.BeginHorizontal(); LudiqGUI.FlexibleSpace(); if (GUILayout.Button("Reset to Defaults", Styles.defaultsButton)) { assemblyOptionsMetadata.Reset(true); assemblyOptionsMetadata.Save(); } LudiqGUI.FlexibleSpace(); LudiqGUI.EndHorizontal(); LudiqGUI.FlexibleSpace(); LudiqGUI.Space(10); LudiqGUI.BeginHorizontal(); LudiqGUI.FlexibleSpace(); if (GUILayout.Button(completeLabel, Styles.completeButton)) { Complete(); } LudiqGUI.FlexibleSpace(); LudiqGUI.EndHorizontal(); LudiqGUI.FlexibleSpace(); LudiqGUI.EndVertical(); }
protected override void OnContentGUI() { GUILayout.BeginVertical(Styles.background, GUILayout.ExpandHeight(true)); LudiqGUI.FlexibleSpace(); LudiqGUI.BeginHorizontal(); LudiqGUI.FlexibleSpace(); var text = "Choose the types you want to use for variables and units.\n" + "MonoBehaviour types are always included."; GUILayout.Label(text, LudiqStyles.centeredLabel, GUILayout.MaxWidth(370)); LudiqGUI.FlexibleSpace(); LudiqGUI.EndHorizontal(); LudiqGUI.Space(10); var height = LudiqGUI.GetInspectorHeight(null, typeOptionsMetadata, Styles.optionsWidth, GUIContent.none); LudiqGUI.BeginHorizontal(); LudiqGUI.FlexibleSpace(); EditorGUI.BeginChangeCheck(); var position = GUILayoutUtility.GetRect(Styles.optionsWidth, height); LudiqGUI.Inspector(typeOptionsMetadata, position, GUIContent.none); if (EditorGUI.EndChangeCheck()) { typeOptionsMetadata.Save(); Codebase.UpdateSettings(); } LudiqGUI.FlexibleSpace(); LudiqGUI.EndHorizontal(); LudiqGUI.Space(10); LudiqGUI.BeginHorizontal(); LudiqGUI.FlexibleSpace(); if (GUILayout.Button("Reset to Defaults", Styles.defaultsButton)) { typeOptionsMetadata.Reset(true); typeOptionsMetadata.Save(); } LudiqGUI.FlexibleSpace(); LudiqGUI.EndHorizontal(); LudiqGUI.FlexibleSpace(); LudiqGUI.Space(10); LudiqGUI.BeginHorizontal(); LudiqGUI.FlexibleSpace(); if (GUILayout.Button("Generate", Styles.completeButton)) { Complete(); } LudiqGUI.FlexibleSpace(); LudiqGUI.EndHorizontal(); LudiqGUI.FlexibleSpace(); LudiqGUI.EndVertical(); }