private void ShowPlatformSettings() { BuildPlatform[] validPlatforms = GetBuildPlayerValidPlatforms(); if (validPlatforms.Length > 0) { GUILayout.Label("Platform settings", EditorStyles.boldLabel); int platformIndex = EditorGUILayout.BeginPlatformGrouping(validPlatforms, null); if (validPlatforms[platformIndex].name == BuildPipeline.GetEditorTargetName()) { ShowEditorSettings(); } else { BuildTargetGroup targetGroup = validPlatforms[platformIndex].targetGroup; if (targetGroup == BuildTargetGroup.Standalone) { desktopExtension.OnPlatformSettingsGUI(this); } else { IPluginImporterExtension extension = ModuleManager.GetPluginImporterExtension(targetGroup); if (extension != null) { extension.OnPlatformSettingsGUI(this); } } } EditorGUILayout.EndPlatformGrouping(); } }
internal override void ResetValues() { base.ResetValues(); this.m_HasModified = false; this.ResetCompatability(ref this.m_CompatibleWithAnyPlatform, (PluginImporter imp) => imp.GetCompatibleWithAnyPlatform()); this.ResetCompatability(ref this.m_CompatibleWithEditor, (PluginImporter imp) => imp.GetCompatibleWithEditor()); foreach (BuildTarget platform in PluginImporterInspector.GetValidBuildTargets()) { this.ResetCompatability(ref this.m_CompatibleWithPlatform[(int)platform], (PluginImporter imp) => imp.GetCompatibleWithPlatform(platform)); } if (!this.IsEditingPlatformSettingsSupported()) { return; } IPluginImporterExtension[] additionalExtensions = this.additionalExtensions; for (int i = 0; i < additionalExtensions.Length; i++) { IPluginImporterExtension pluginImporterExtension = additionalExtensions[i]; pluginImporterExtension.ResetValues(this); } foreach (BuildTarget current in PluginImporterInspector.GetValidBuildTargets()) { IPluginImporterExtension pluginImporterExtension2 = ModuleManager.GetPluginImporterExtension(current); if (pluginImporterExtension2 != null) { pluginImporterExtension2.ResetValues(this); } } }
public static bool CheckFileCollisions(BuildTarget buildTarget) { // Checks that plugins don't collide with each other IPluginImporterExtension pluginImporterExtension = null; if (ModuleManager.IsPlatformSupported(buildTarget)) { pluginImporterExtension = ModuleManager.GetPluginImporterExtension(buildTarget); } if (pluginImporterExtension == null) { // Some platforms don't have platform specific settings for plugins, but we still wan't to check that plugins don't collide, use default path in this case if (BuildPipeline.GetBuildTargetGroup(buildTarget) == BuildTargetGroup.Standalone) { pluginImporterExtension = new DesktopPluginImporterExtension(); } else { pluginImporterExtension = new DefaultPluginImporterExtension(null); } } if (pluginImporterExtension.CheckFileCollisions(BuildPipeline.GetBuildTargetName(buildTarget))) { return(true); } return(false); }
private void ShowPlatformSettings() { BuildPlayerWindow.BuildPlatform[] buildPlayerValidPlatforms = this.GetBuildPlayerValidPlatforms(); if (buildPlayerValidPlatforms.Length > 0) { GUILayout.Label("Platform settings", EditorStyles.boldLabel, new GUILayoutOption[0]); int num = EditorGUILayout.BeginPlatformGrouping(buildPlayerValidPlatforms, null); if (buildPlayerValidPlatforms[num].name == BuildPipeline.GetEditorTargetName()) { this.ShowEditorSettings(); } else { BuildTargetGroup targetGroup = buildPlayerValidPlatforms[num].targetGroup; if (targetGroup == BuildTargetGroup.Standalone) { this.desktopExtension.OnPlatformSettingsGUI(this); } else { IPluginImporterExtension pluginImporterExtension = ModuleManager.GetPluginImporterExtension(targetGroup); if (pluginImporterExtension != null) { pluginImporterExtension.OnPlatformSettingsGUI(this); } } } EditorGUILayout.EndPlatformGrouping(); } }
internal override bool HasModified() { bool flag = this.m_HasModified || base.HasModified(); bool result; if (!this.IsEditingPlatformSettingsSupported()) { result = flag; } else { IPluginImporterExtension[] additionalExtensions = this.additionalExtensions; for (int i = 0; i < additionalExtensions.Length; i++) { IPluginImporterExtension pluginImporterExtension = additionalExtensions[i]; flag |= pluginImporterExtension.HasModified(this); } foreach (BuildTarget current in PluginImporterInspector.GetValidBuildTargets()) { IPluginImporterExtension pluginImporterExtension2 = ModuleManager.GetPluginImporterExtension(current); if (pluginImporterExtension2 != null) { flag |= pluginImporterExtension2.HasModified(this); } } result = flag; } return(result); }
private void OnEnable() { if (!this.IsEditingPlatformSettingsSupported()) { return; } foreach (IPluginImporterExtension additionalExtension in this.additionalExtensions) { additionalExtension.OnEnable(this); } using (List <BuildTarget> .Enumerator enumerator = PluginImporterInspector.GetValidBuildTargets().GetEnumerator()) { while (enumerator.MoveNext()) { IPluginImporterExtension importerExtension = ModuleManager.GetPluginImporterExtension(enumerator.Current); if (importerExtension != null) { importerExtension.OnEnable(this); importerExtension.ResetValues(this); } } } this.m_PluginInformation = new Dictionary <string, string>(); this.m_PluginInformation["Path"] = this.importer.assetPath; this.m_PluginInformation["Type"] = !this.importer.isNativePlugin ? "Managed" : "Native"; }
private void ShowPlatformSettings() { BuildPlayerWindow.BuildPlatform[] playerValidPlatforms = this.GetBuildPlayerValidPlatforms(); if (playerValidPlatforms.Length <= 0) { return; } GUILayout.Label("Platform settings", EditorStyles.boldLabel, new GUILayoutOption[0]); int index = EditorGUILayout.BeginPlatformGrouping(playerValidPlatforms, (GUIContent)null); if (playerValidPlatforms[index].name == BuildPipeline.GetEditorTargetName()) { this.ShowEditorSettings(); } else { BuildTargetGroup targetGroup = playerValidPlatforms[index].targetGroup; if (targetGroup == BuildTargetGroup.Standalone) { this.m_DesktopExtension.OnPlatformSettingsGUI(this); } else { IPluginImporterExtension importerExtension = ModuleManager.GetPluginImporterExtension(targetGroup); if (importerExtension != null) { importerExtension.OnPlatformSettingsGUI(this); } } } EditorGUILayout.EndPlatformGrouping(); }
internal override bool HasModified() { bool flag = this.m_HasModified || base.HasModified(); if (!this.IsEditingPlatformSettingsSupported()) { return(flag); } foreach (IPluginImporterExtension additionalExtension in this.additionalExtensions) { flag |= additionalExtension.HasModified(this); } using (List <BuildTarget> .Enumerator enumerator = PluginImporterInspector.GetValidBuildTargets().GetEnumerator()) { while (enumerator.MoveNext()) { IPluginImporterExtension importerExtension = ModuleManager.GetPluginImporterExtension(enumerator.Current); if (importerExtension != null) { flag |= importerExtension.HasModified(this); } } } return(flag); }
public override void OnEnable() { base.OnEnable(); m_DefineConstraints = new ReorderableList(m_DefineConstraintState, typeof(DefineConstraint), false, false, true, true); m_DefineConstraints.drawElementCallback = DrawDefineConstraintListElement; m_DefineConstraints.onRemoveCallback = RemoveDefineConstraintListElement; m_DefineConstraints.elementHeight = EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing; m_DefineConstraints.headerHeight = 3; if (!IsEditingPlatformSettingsSupported()) { return; } foreach (var extension in additionalExtensions) { extension.OnEnable(this); } foreach (BuildTarget platform in GetValidBuildTargets()) { IPluginImporterExtension extension = ModuleManager.GetPluginImporterExtension(platform); if (extension != null) { extension.OnEnable(this); extension.ResetValues(this); } } m_PluginInformation = new Dictionary <string, string>(); m_PluginInformation["Path"] = importer.assetPath; m_PluginInformation["Type"] = importer.isNativePlugin ? "Native" : "Managed"; if (!importer.isNativePlugin) { string info; switch (importer.dllType) { case DllType.ManagedNET35: info = "Targets .NET 3.5"; break; case DllType.ManagedNET40: info = "Targets .NET 4.x"; break; case DllType.UnknownManaged: info = "Targets Unknown .NET"; break; case DllType.WinMDNET40: info = "Managed WinMD"; break; case DllType.WinMDNative: info = "Native WinMD"; break; default: throw new Exception("Unknown managed dll type: " + importer.dllType.ToString()); } m_PluginInformation["Assembly Info"] = info; } m_ReferencesUnityEngineModule = importer.HasDiscouragedReferences(); ResetCompatability(ref m_Preload, (imp => imp.isPreloaded)); }
public override bool HasModified() { bool modified = m_HasModified || base.HasModified(); if (!IsEditingPlatformSettingsSupported()) { return(modified); } foreach (var extension in additionalExtensions) { modified |= extension.HasModified(this); } foreach (BuildTarget platform in GetValidBuildTargets()) { IPluginImporterExtension extension = ModuleManager.GetPluginImporterExtension(platform); if (extension != null) { modified |= extension.HasModified(this); } } return(modified); }
private void OnEnable() { if (!this.IsEditingPlatformSettingsSupported()) { return; } IPluginImporterExtension[] additionalExtensions = this.additionalExtensions; for (int i = 0; i < additionalExtensions.Length; i++) { IPluginImporterExtension pluginImporterExtension = additionalExtensions[i]; pluginImporterExtension.OnEnable(this); } foreach (BuildTarget current in PluginImporterInspector.GetValidBuildTargets()) { IPluginImporterExtension pluginImporterExtension2 = ModuleManager.GetPluginImporterExtension(current); if (pluginImporterExtension2 != null) { pluginImporterExtension2.OnEnable(this); pluginImporterExtension2.ResetValues(this); } } this.m_PluginInformation = new Dictionary <string, string>(); this.m_PluginInformation["Path"] = this.importer.assetPath; this.m_PluginInformation["Type"] = ((!this.importer.isNativePlugin) ? "Managed" : "Native"); }
public static PluginImporter[] GetImporters(string platformName) { // The final list of importers that will be returned List <PluginImporter> finalImporters = new List <PluginImporter>(); // Contains all unique finalPaths. Used to remove overridable plugins from the finalImporters list Dictionary <string, PluginImporter> uniqueFinalPathToImporterMap = new Dictionary <string, PluginImporter>(); PluginImporter[] allImporters = GetAllImporters().Where(imp => imp.GetCompatibleWithPlatformOrAnyPlatformBuildTarget(platformName)).ToArray(); IPluginImporterExtension pluginImporterExtension = ModuleManager.GetPluginImporterExtension(platformName); if (pluginImporterExtension == null) { pluginImporterExtension = ModuleManager.GetPluginImporterExtension(BuildPipeline.GetBuildTargetByName(platformName)); } if (pluginImporterExtension == null) { return(allImporters); } // Go through all of the Importers for the specified platform and determine if any of the natively included Unity Plugins should be removed. // Removal should only happen if the user has included a plugin of the same name and they are copying to the same finalPath for (int i = 0; i < allImporters.Length; ++i) { PluginImporter currentImporter = allImporters[i]; string finalPluginPath = pluginImporterExtension.CalculateFinalPluginPath(platformName, currentImporter); // Only compare overridables if the plugin has a calculated finalPluginPath if (!string.IsNullOrEmpty(finalPluginPath)) { PluginImporter tempImporter; if (!uniqueFinalPathToImporterMap.TryGetValue(finalPluginPath, out tempImporter)) { // Unique Plugin found, add it to the list for comparing overridable plugins // The first overridable plugin of it's kind should be added to the return list here. uniqueFinalPathToImporterMap.Add(finalPluginPath, currentImporter); } else if (tempImporter.GetIsOverridable() && !currentImporter.GetIsOverridable()) { // finalPluginPath isn't unique and the finalImporter already in the list is overriden by the new one, // remove the overridable one. uniqueFinalPathToImporterMap[finalPluginPath] = currentImporter; finalImporters.Remove(tempImporter); } else if (currentImporter.GetIsOverridable()) { // The current importer is going to the same final location as another, but // this plugin is overridable, so don't include it. continue; } } finalImporters.Add(currentImporter); } return(finalImporters.ToArray()); }
public static PluginImporter[] GetImporters(string platformName) { List <PluginImporter> list = new List <PluginImporter>(); Dictionary <string, PluginImporter> dictionary = new Dictionary <string, PluginImporter>(); PluginImporter[] array = (from imp in PluginImporter.GetAllImporters() where PluginImporter.IsCompatible(imp, platformName) select imp).ToArray <PluginImporter>(); IPluginImporterExtension pluginImporterExtension = ModuleManager.GetPluginImporterExtension(platformName); if (pluginImporterExtension == null) { pluginImporterExtension = ModuleManager.GetPluginImporterExtension(BuildPipeline.GetBuildTargetByName(platformName)); } PluginImporter[] result; if (pluginImporterExtension == null) { result = array; } else { int i = 0; while (i < array.Length) { PluginImporter pluginImporter = array[i]; string text = pluginImporterExtension.CalculateFinalPluginPath(platformName, pluginImporter); if (!string.IsNullOrEmpty(text)) { PluginImporter pluginImporter2; if (!dictionary.TryGetValue(text, out pluginImporter2)) { dictionary.Add(text, pluginImporter); } else if (pluginImporter2.GetIsOverridable() && !pluginImporter.GetIsOverridable()) { dictionary[text] = pluginImporter; list.Remove(pluginImporter2); } else if (pluginImporter.GetIsOverridable()) { goto IL_106; } goto IL_FD; } goto IL_FD; IL_106: i++; continue; IL_FD: list.Add(pluginImporter); goto IL_106; } result = list.ToArray(); } return(result); }
public static bool CheckFileCollisions(BuildTarget buildTarget) { IPluginImporterExtension pluginImporterExtension = null; if (ModuleManager.IsPlatformSupported(buildTarget)) { pluginImporterExtension = ModuleManager.GetPluginImporterExtension(buildTarget); } return(pluginImporterExtension?.CheckFileCollisions(BuildPipeline.GetBuildTargetName(buildTarget))); }
protected override void Apply() { base.Apply(); foreach (var imp in importers) { if (m_CompatibleWithAnyPlatform > Compatibility.Mixed) { imp.SetCompatibleWithAnyPlatform(m_CompatibleWithAnyPlatform == Compatibility.Compatible); } if (m_CompatibleWithEditor > Compatibility.Mixed) { imp.SetCompatibleWithEditor(m_CompatibleWithEditor == Compatibility.Compatible); } foreach (BuildTarget platform in GetValidBuildTargets()) { if (m_CompatibleWithPlatform[(int)platform] > Compatibility.Mixed) { imp.SetCompatibleWithPlatform(platform, m_CompatibleWithPlatform[(int)platform] == Compatibility.Compatible); } } if (m_CompatibleWithEditor > Compatibility.Mixed) { imp.SetExcludeEditorFromAnyPlatform(m_CompatibleWithEditor == Compatibility.NotCompatible); } foreach (BuildTarget platform in GetValidBuildTargets()) { if (m_CompatibleWithPlatform[(int)platform] > Compatibility.Mixed) { imp.SetExcludeFromAnyPlatform(platform, m_CompatibleWithPlatform[(int)platform] == Compatibility.NotCompatible); } } } if (!IsEditingPlatformSettingsSupported()) { return; } foreach (var extension in additionalExtensions) { extension.Apply(this); } foreach (BuildTarget platform in GetValidBuildTargets()) { IPluginImporterExtension extension = ModuleManager.GetPluginImporterExtension(platform); if (extension != null) { extension.Apply(this); } } }
public override void OnEnable() { if (this.IsEditingPlatformSettingsSupported()) { IPluginImporterExtension[] additionalExtensions = this.additionalExtensions; for (int i = 0; i < additionalExtensions.Length; i++) { IPluginImporterExtension pluginImporterExtension = additionalExtensions[i]; pluginImporterExtension.OnEnable(this); } foreach (BuildTarget current in PluginImporterInspector.GetValidBuildTargets()) { IPluginImporterExtension pluginImporterExtension2 = ModuleManager.GetPluginImporterExtension(current); if (pluginImporterExtension2 != null) { pluginImporterExtension2.OnEnable(this); pluginImporterExtension2.ResetValues(this); } } this.m_PluginInformation = new Dictionary <string, string>(); this.m_PluginInformation["Path"] = this.importer.assetPath; this.m_PluginInformation["Type"] = ((!this.importer.isNativePlugin) ? "Managed" : "Native"); if (!this.importer.isNativePlugin) { string value; switch (this.importer.dllType) { case DllType.UnknownManaged: value = "Targets Unknown .NET"; break; case DllType.ManagedNET35: value = "Targets .NET 3.5"; break; case DllType.ManagedNET40: value = "Targets .NET 4.x"; break; case DllType.WinMDNative: value = "Native WinMD"; break; case DllType.WinMDNET40: value = "Managed WinMD"; break; default: throw new Exception("Unknown managed dll type: " + this.importer.dllType.ToString()); } this.m_PluginInformation["Assembly Info"] = value; } this.m_ReferencesUnityEngineModule = this.importer.HasDiscouragedReferences(); } }
internal override void Apply() { base.Apply(); PluginImporter[] importers = this.importers; for (int i = 0; i < importers.Length; i++) { PluginImporter pluginImporter = importers[i]; if (this.m_CompatibleWithAnyPlatform > PluginImporterInspector.Compatibility.Mixed) { pluginImporter.SetCompatibleWithAnyPlatform(this.m_CompatibleWithAnyPlatform == PluginImporterInspector.Compatibility.Compatible); } if (this.m_CompatibleWithEditor > PluginImporterInspector.Compatibility.Mixed) { pluginImporter.SetCompatibleWithEditor(this.m_CompatibleWithEditor == PluginImporterInspector.Compatibility.Compatible); } foreach (BuildTarget current in PluginImporterInspector.GetValidBuildTargets()) { if (this.m_CompatibleWithPlatform[(int)current] > PluginImporterInspector.Compatibility.Mixed) { pluginImporter.SetCompatibleWithPlatform(current, this.m_CompatibleWithPlatform[(int)current] == PluginImporterInspector.Compatibility.Compatible); } } if (this.m_CompatibleWithEditor > PluginImporterInspector.Compatibility.Mixed) { pluginImporter.SetExcludeEditorFromAnyPlatform(this.m_CompatibleWithEditor == PluginImporterInspector.Compatibility.NotCompatible); } foreach (BuildTarget current2 in PluginImporterInspector.GetValidBuildTargets()) { if (this.m_CompatibleWithPlatform[(int)current2] > PluginImporterInspector.Compatibility.Mixed) { pluginImporter.SetExcludeFromAnyPlatform(current2, this.m_CompatibleWithPlatform[(int)current2] == PluginImporterInspector.Compatibility.NotCompatible); } } } if (this.IsEditingPlatformSettingsSupported()) { IPluginImporterExtension[] additionalExtensions = this.additionalExtensions; for (int j = 0; j < additionalExtensions.Length; j++) { IPluginImporterExtension pluginImporterExtension = additionalExtensions[j]; pluginImporterExtension.Apply(this); } foreach (BuildTarget current3 in PluginImporterInspector.GetValidBuildTargets()) { IPluginImporterExtension pluginImporterExtension2 = ModuleManager.GetPluginImporterExtension(current3); if (pluginImporterExtension2 != null) { pluginImporterExtension2.Apply(this); } } } }
private void OnEnable() { if (this.IsEditingPlatformSettingsSupported()) { foreach (IPluginImporterExtension extension in this.additionalExtensions) { extension.OnEnable(this); } foreach (BuildTarget target in GetValidBuildTargets()) { IPluginImporterExtension pluginImporterExtension = ModuleManager.GetPluginImporterExtension(target); if (pluginImporterExtension != null) { pluginImporterExtension.OnEnable(this); pluginImporterExtension.ResetValues(this); } } this.m_PluginInformation = new Dictionary <string, string>(); this.m_PluginInformation["Path"] = this.importer.assetPath; this.m_PluginInformation["Type"] = !this.importer.isNativePlugin ? "Managed" : "Native"; if (!this.importer.isNativePlugin) { string str; switch (this.importer.dllType) { case DllType.UnknownManaged: str = "Targets Unknown .NET"; break; case DllType.ManagedNET35: str = "Targets .NET 3.5"; break; case DllType.ManagedNET40: str = "Targets .NET 4.x"; break; case DllType.WinMDNative: str = "Native WinMD"; break; case DllType.WinMDNET40: str = "Managed WinMD"; break; default: throw new Exception("Unknown managed dll type: " + this.importer.dllType.ToString()); } this.m_PluginInformation["Assembly Info"] = str; } } }
public static bool CheckFileCollisions(BuildTarget buildTarget) { IPluginImporterExtension importerExtension = (IPluginImporterExtension)null; if (ModuleManager.IsPlatformSupported(buildTarget)) { importerExtension = ModuleManager.GetPluginImporterExtension(buildTarget); } if (importerExtension == null) { importerExtension = BuildPipeline.GetBuildTargetGroup(buildTarget) != BuildTargetGroup.Standalone ? (IPluginImporterExtension) new DefaultPluginImporterExtension((DefaultPluginImporterExtension.Property[])null) : (IPluginImporterExtension) new DesktopPluginImporterExtension(); } return(importerExtension.CheckFileCollisions(BuildPipeline.GetBuildTargetName(buildTarget))); }
public override void OnEnable() { if (!IsEditingPlatformSettingsSupported()) { return; } foreach (var extension in additionalExtensions) { extension.OnEnable(this); } foreach (BuildTarget platform in GetValidBuildTargets()) { IPluginImporterExtension extension = ModuleManager.GetPluginImporterExtension(platform); if (extension != null) { extension.OnEnable(this); extension.ResetValues(this); } } m_PluginInformation = new Dictionary <string, string>(); m_PluginInformation["Path"] = importer.assetPath; m_PluginInformation["Type"] = importer.isNativePlugin ? "Native" : "Managed"; if (!importer.isNativePlugin) { string info; switch (importer.dllType) { case DllType.ManagedNET35: info = "Targets .NET 3.5"; break; case DllType.ManagedNET40: info = "Targets .NET 4.x"; break; case DllType.UnknownManaged: info = "Targets Unknown .NET"; break; case DllType.WinMDNET40: info = "Managed WinMD"; break; case DllType.WinMDNative: info = "Native WinMD"; break; default: throw new Exception("Unknown managed dll type: " + importer.dllType.ToString()); } m_PluginInformation["Assembly Info"] = info; } m_ReferencesUnityEngineModule = importer.HasDiscouragedReferences(); }
protected override void ResetValues() { base.ResetValues(); m_HasModified = false; ResetCompatability(ref m_CompatibleWithAnyPlatform, (imp => { return(imp.GetCompatibleWithAnyPlatform()); })); ResetCompatability(ref m_CompatibleWithEditor, (imp => { return(imp.GetCompatibleWithEditor()); })); // If Any Platform is selected, initialize m_Compatible* variables using compatability function // If Any Platform is unselected, initialize m_Compatible* variables using exclude function // This gives correct initialization in case when plugin is imported for the first time, and only "Any Platform" is selected if (m_CompatibleWithAnyPlatform < Compatibility.Compatible) { ResetCompatability(ref m_CompatibleWithEditor, (imp => { return(imp.GetCompatibleWithEditor("", "")); })); foreach (BuildTarget platform in GetValidBuildTargets()) { ResetCompatability(ref m_CompatibleWithPlatform[(int)platform], (imp => { return(imp.GetCompatibleWithPlatform(platform)); })); } } else { ResetCompatability(ref m_CompatibleWithEditor, (imp => { return(!imp.GetExcludeEditorFromAnyPlatform()); })); foreach (BuildTarget platform in GetValidBuildTargets()) { ResetCompatability(ref m_CompatibleWithPlatform[(int)platform], (imp => { return(!imp.GetExcludeFromAnyPlatform(platform)); })); } } if (!IsEditingPlatformSettingsSupported()) { return; } foreach (var extension in additionalExtensions) { extension.ResetValues(this); } foreach (BuildTarget platform in GetValidBuildTargets()) { IPluginImporterExtension extension = ModuleManager.GetPluginImporterExtension(platform); if (extension != null) { extension.ResetValues(this); } } }
internal override void ResetValues() { base.ResetValues(); this.m_HasModified = false; this.ResetCompatability(ref this.m_CompatibleWithAnyPlatform, (PluginImporter imp) => imp.GetCompatibleWithAnyPlatform()); this.ResetCompatability(ref this.m_CompatibleWithEditor, (PluginImporter imp) => imp.GetCompatibleWithEditor()); if (this.m_CompatibleWithAnyPlatform < PluginImporterInspector.Compatibility.Compatible) { this.ResetCompatability(ref this.m_CompatibleWithEditor, (PluginImporter imp) => imp.GetCompatibleWithEditor("", "")); using (List <BuildTarget> .Enumerator enumerator = PluginImporterInspector.GetValidBuildTargets().GetEnumerator()) { while (enumerator.MoveNext()) { BuildTarget platform = enumerator.Current; this.ResetCompatability(ref this.m_CompatibleWithPlatform[(int)platform], (PluginImporter imp) => imp.GetCompatibleWithPlatform(platform)); } } } else { this.ResetCompatability(ref this.m_CompatibleWithEditor, (PluginImporter imp) => !imp.GetExcludeEditorFromAnyPlatform()); using (List <BuildTarget> .Enumerator enumerator2 = PluginImporterInspector.GetValidBuildTargets().GetEnumerator()) { while (enumerator2.MoveNext()) { BuildTarget platform = enumerator2.Current; this.ResetCompatability(ref this.m_CompatibleWithPlatform[(int)platform], (PluginImporter imp) => !imp.GetExcludeFromAnyPlatform(platform)); } } } if (this.IsEditingPlatformSettingsSupported()) { IPluginImporterExtension[] additionalExtensions = this.additionalExtensions; for (int i = 0; i < additionalExtensions.Length; i++) { IPluginImporterExtension pluginImporterExtension = additionalExtensions[i]; pluginImporterExtension.ResetValues(this); } foreach (BuildTarget current in PluginImporterInspector.GetValidBuildTargets()) { IPluginImporterExtension pluginImporterExtension2 = ModuleManager.GetPluginImporterExtension(current); if (pluginImporterExtension2 != null) { pluginImporterExtension2.ResetValues(this); } } } }
internal override void Apply() { base.Apply(); foreach (PluginImporter importer in this.importers) { if (this.m_CompatibleWithAnyPlatform > Compatibility.Mixed) { importer.SetCompatibleWithAnyPlatform(this.m_CompatibleWithAnyPlatform == Compatibility.Compatible); } if (this.m_CompatibleWithEditor > Compatibility.Mixed) { importer.SetCompatibleWithEditor(this.m_CompatibleWithEditor == Compatibility.Compatible); } foreach (BuildTarget target in GetValidBuildTargets()) { if (this.m_CompatibleWithPlatform[(int)target] > Compatibility.Mixed) { importer.SetCompatibleWithPlatform(target, this.m_CompatibleWithPlatform[(int)target] == Compatibility.Compatible); } } if (this.m_CompatibleWithEditor > Compatibility.Mixed) { importer.SetExcludeEditorFromAnyPlatform(this.m_CompatibleWithEditor == Compatibility.NotCompatible); } foreach (BuildTarget target2 in GetValidBuildTargets()) { if (this.m_CompatibleWithPlatform[(int)target2] > Compatibility.Mixed) { importer.SetExcludeFromAnyPlatform(target2, this.m_CompatibleWithPlatform[(int)target2] == Compatibility.NotCompatible); } } } if (this.IsEditingPlatformSettingsSupported()) { foreach (IPluginImporterExtension extension in this.additionalExtensions) { extension.Apply(this); } foreach (BuildTarget target3 in GetValidBuildTargets()) { IPluginImporterExtension pluginImporterExtension = ModuleManager.GetPluginImporterExtension(target3); if (pluginImporterExtension != null) { pluginImporterExtension.Apply(this); } } } }
internal override void Apply() { base.Apply(); foreach (PluginImporter importer in this.importers) { if (this.m_CompatibleWithAnyPlatform > -1) { importer.SetCompatibleWithAnyPlatform(this.m_CompatibleWithAnyPlatform == 1); } if (this.m_CompatibleWithEditor > -1) { importer.SetCompatibleWithEditor(this.m_CompatibleWithEditor == 1); } using (List <BuildTarget> .Enumerator enumerator = PluginImporterInspector.GetValidBuildTargets().GetEnumerator()) { while (enumerator.MoveNext()) { BuildTarget current = enumerator.Current; if (this.m_CompatibleWithPlatform[(int)current] > -1) { importer.SetCompatibleWithPlatform(current, this.m_CompatibleWithPlatform[(int)current] == 1); } } } } if (!this.IsEditingPlatformSettingsSupported()) { return; } foreach (IPluginImporterExtension additionalExtension in this.additionalExtensions) { additionalExtension.Apply(this); } using (List <BuildTarget> .Enumerator enumerator = PluginImporterInspector.GetValidBuildTargets().GetEnumerator()) { while (enumerator.MoveNext()) { IPluginImporterExtension importerExtension = ModuleManager.GetPluginImporterExtension(enumerator.Current); if (importerExtension != null) { importerExtension.Apply(this); } } } }
private new void OnDisable() { base.OnDisable(); IPluginImporterExtension[] additionalExtensions = this.additionalExtensions; for (int i = 0; i < additionalExtensions.Length; i++) { IPluginImporterExtension pluginImporterExtension = additionalExtensions[i]; pluginImporterExtension.OnDisable(this); } foreach (BuildTarget current in PluginImporterInspector.GetValidBuildTargets()) { IPluginImporterExtension pluginImporterExtension2 = ModuleManager.GetPluginImporterExtension(current); if (pluginImporterExtension2 != null) { pluginImporterExtension2.OnDisable(this); } } }
private BuildPlatform[] GetBuildPlayerValidPlatforms() { List <BuildPlatform> validPlatforms = BuildPlatforms.instance.GetValidPlatforms(); List <BuildPlatform> filtered = new List <BuildPlatform>(); if (m_CompatibleWithEditor > Compatibility.NotCompatible) { BuildPlatform editorPlatform = new BuildPlatform("Editor settings", "Editor Settings", "BuildSettings.Editor", BuildTargetGroup.Unknown, BuildTarget.NoTarget, true); editorPlatform.name = BuildPipeline.GetEditorTargetName(); filtered.Add(editorPlatform); } foreach (BuildPlatform bp in validPlatforms) { if (IgnorePlatform(bp.defaultTarget)) { continue; } if (bp.targetGroup == BuildTargetGroup.Standalone) { if (compatibleWithStandalone < Compatibility.Compatible) { continue; } } else { if (m_CompatibleWithPlatform[(int)bp.defaultTarget] < Compatibility.Compatible) { continue; } IPluginImporterExtension extension = ModuleManager.GetPluginImporterExtension(bp.targetGroup); if (extension == null) { continue; } } filtered.Add(bp); } return(filtered.ToArray()); }
private void OnDisable() { base.OnDisable(); if (this.IsEditingPlatformSettingsSupported()) { foreach (IPluginImporterExtension extension in this.additionalExtensions) { extension.OnDisable(this); } foreach (BuildTarget target in GetValidBuildTargets()) { IPluginImporterExtension pluginImporterExtension = ModuleManager.GetPluginImporterExtension(target); if (pluginImporterExtension != null) { pluginImporterExtension.OnDisable(this); } } } }
internal override bool HasModified() { bool flag = this.hasModified || base.HasModified(); IPluginImporterExtension[] additionalExtensions = this.additionalExtensions; for (int i = 0; i < additionalExtensions.Length; i++) { IPluginImporterExtension pluginImporterExtension = additionalExtensions[i]; flag |= pluginImporterExtension.HasModified(this); } foreach (BuildTarget current in PluginImporterInspector.GetValidBuildTargets()) { IPluginImporterExtension pluginImporterExtension2 = ModuleManager.GetPluginImporterExtension(current); if (pluginImporterExtension2 != null) { flag |= pluginImporterExtension2.HasModified(this); } } return(flag); }
internal override bool HasModified() { bool flag = this.m_HasModified || base.HasModified(); if (this.IsEditingPlatformSettingsSupported()) { foreach (IPluginImporterExtension extension in this.additionalExtensions) { flag |= extension.HasModified(this); } foreach (BuildTarget target in GetValidBuildTargets()) { IPluginImporterExtension pluginImporterExtension = ModuleManager.GetPluginImporterExtension(target); if (pluginImporterExtension != null) { flag |= pluginImporterExtension.HasModified(this); } } } return(flag); }
public static bool CheckFileCollisions(BuildTarget buildTarget) { IPluginImporterExtension pluginImporterExtension = null; if (ModuleManager.IsPlatformSupported(buildTarget)) { pluginImporterExtension = ModuleManager.GetPluginImporterExtension(buildTarget); } if (pluginImporterExtension == null) { if (BuildPipeline.GetBuildTargetGroup(buildTarget) == BuildTargetGroup.Standalone) { pluginImporterExtension = new DesktopPluginImporterExtension(); } else { pluginImporterExtension = new DefaultPluginImporterExtension(null); } } return(pluginImporterExtension.CheckFileCollisions(BuildPipeline.GetBuildTargetName(buildTarget))); }