Пример #1
0
 internal bool IsTargetEnabled(PluginImporterInspector inspector)
 {
     PluginImporterInspector.Compatibility platformCompatibility = inspector.GetPlatformCompatibility(base.platformName);
     if (platformCompatibility == PluginImporterInspector.Compatibility.Mixed)
     {
         throw new Exception("Unexpected mixed value for '" + inspector.importer.assetPath + "', platform: " + base.platformName);
     }
     return(platformCompatibility == PluginImporterInspector.Compatibility.Compatible);
 }
Пример #2
0
 private void ResetCompatability(ref PluginImporterInspector.Compatibility value, PluginImporterInspector.GetComptability getComptability)
 {
     value = ((!getComptability(this.importer)) ? PluginImporterInspector.Compatibility.NotCompatible : PluginImporterInspector.Compatibility.Compatible);
     PluginImporter[] importers = this.importers;
     for (int i = 0; i < importers.Length; i++)
     {
         PluginImporter imp = importers[i];
         if (value != ((!getComptability(imp)) ? PluginImporterInspector.Compatibility.NotCompatible : PluginImporterInspector.Compatibility.Compatible))
         {
             value = PluginImporterInspector.Compatibility.Mixed;
             break;
         }
     }
 }
Пример #3
0
        internal void SetPlatformCompatibility(string platformName, PluginImporterInspector.Compatibility compatibility)
        {
            if (compatibility == PluginImporterInspector.Compatibility.Mixed)
            {
                throw new ArgumentException("compatibility value cannot be Mixed");
            }
            int buildTargetByName = (int)BuildPipeline.GetBuildTargetByName(platformName);

            if (this.m_CompatibleWithPlatform[buildTargetByName] != compatibility)
            {
                this.m_CompatibleWithPlatform[buildTargetByName] = compatibility;
                this.m_HasModified = true;
            }
        }
            internal bool IsTargetEnabled(PluginImporterInspector inspector)
            {
                PluginImporterInspector.Compatibility compatibililty = inspector.GetPlatformCompatibility(platformName);
                if (compatibililty == PluginImporterInspector.Compatibility.Mixed)
                {
                    throw new Exception("Unexpected mixed value for '" + inspector.importer.assetPath + "', platform: " + platformName);
                }
                if (compatibililty != PluginImporterInspector.Compatibility.Compatible)
                {
                    return(false);
                }

                var pluginCPU = value as DesktopPluginCPUArchitecture ? ?? DesktopPluginCPUArchitecture.None;

                return(pluginCPU == (DesktopPluginCPUArchitecture)defaultValue || pluginCPU == DesktopPluginCPUArchitecture.AnyCPU);
            }
Пример #5
0
        private PluginImporterInspector.Compatibility ToggleWithMixedValue(PluginImporterInspector.Compatibility value, string title)
        {
            EditorGUI.showMixedValue = (value == PluginImporterInspector.Compatibility.Mixed);
            EditorGUI.BeginChangeCheck();
            bool flag = EditorGUILayout.Toggle(title, value == PluginImporterInspector.Compatibility.Compatible, new GUILayoutOption[0]);

            PluginImporterInspector.Compatibility result;
            if (EditorGUI.EndChangeCheck())
            {
                result = ((!flag) ? PluginImporterInspector.Compatibility.NotCompatible : PluginImporterInspector.Compatibility.Compatible);
            }
            else
            {
                EditorGUI.showMixedValue = false;
                result = value;
            }
            return(result);
        }
Пример #6
0
 private void ShowGeneralOptions()
 {
     EditorGUI.BeginChangeCheck();
     this.m_CompatibleWithAnyPlatform = this.ToggleWithMixedValue(this.m_CompatibleWithAnyPlatform, "Any Platform");
     if (this.m_CompatibleWithAnyPlatform == PluginImporterInspector.Compatibility.Compatible)
     {
         GUILayout.Label("Exclude Platforms", EditorStyles.boldLabel, new GUILayoutOption[0]);
         this.ShowPlatforms(new PluginImporterInspector.ValueSwitcher(this.SwitchToExclude));
     }
     else if (this.m_CompatibleWithAnyPlatform == PluginImporterInspector.Compatibility.NotCompatible)
     {
         GUILayout.Label("Include Platforms", EditorStyles.boldLabel, new GUILayoutOption[0]);
         this.ShowPlatforms(new PluginImporterInspector.ValueSwitcher(this.SwitchToInclude));
     }
     if (EditorGUI.EndChangeCheck())
     {
         this.m_HasModified = true;
     }
 }
Пример #7
0
 private void ShowPlatforms(PluginImporterInspector.ValueSwitcher switcher)
 {
     this.m_CompatibleWithEditor = switcher(this.ToggleWithMixedValue(switcher(this.m_CompatibleWithEditor), "Editor"));
     EditorGUI.BeginChangeCheck();
     PluginImporterInspector.Compatibility value = this.ToggleWithMixedValue(switcher(this.compatibleWithStandalone), "Standalone");
     if (EditorGUI.EndChangeCheck())
     {
         this.compatibleWithStandalone = switcher(value);
         if (this.compatibleWithStandalone != PluginImporterInspector.Compatibility.Mixed)
         {
             this.desktopExtension.ValidateSingleCPUTargets(this);
         }
     }
     foreach (BuildTarget current in PluginImporterInspector.GetValidBuildTargets())
     {
         if (!PluginImporterInspector.IsStandaloneTarget(current))
         {
             this.m_CompatibleWithPlatform[(int)current] = switcher(this.ToggleWithMixedValue(switcher(this.m_CompatibleWithPlatform[(int)current]), current.ToString()));
         }
     }
 }
Пример #8
0
        private PluginImporterInspector.Compatibility SwitchToExclude(PluginImporterInspector.Compatibility value)
        {
            PluginImporterInspector.Compatibility result;
            switch (value + 1)
            {
            case PluginImporterInspector.Compatibility.NotCompatible:
                result = PluginImporterInspector.Compatibility.Mixed;
                break;

            case PluginImporterInspector.Compatibility.Compatible:
                result = PluginImporterInspector.Compatibility.Compatible;
                break;

            case (PluginImporterInspector.Compatibility) 2:
                result = PluginImporterInspector.Compatibility.NotCompatible;
                break;

            default:
                throw new InvalidEnumArgumentException("Invalid value: " + value.ToString());
            }
            return(result);
        }
Пример #9
0
 private PluginImporterInspector.Compatibility SwitchToInclude(PluginImporterInspector.Compatibility value)
 {
     return(value);
 }