public void SplashSectionGUI(BuildPlayerWindow.BuildPlatform platform, BuildTargetGroup targetGroup, ISettingEditorExtension settingsExtension)
 {
     GUI.changed = false;
     if (this.m_Owner.BeginSettingsBox(2, PlayerSettingsSplashScreenEditor.k_Texts.title))
     {
         if (targetGroup == BuildTargetGroup.Standalone)
         {
             PlayerSettingsSplashScreenEditor.ObjectReferencePropertyField <Texture2D>(this.m_ResolutionDialogBanner, PlayerSettingsSplashScreenEditor.k_Texts.configDialogBanner);
             EditorGUILayout.Space();
         }
         if (this.m_Owner.m_VRSettings.TargetGroupSupportsVirtualReality(targetGroup))
         {
             PlayerSettingsSplashScreenEditor.ObjectReferencePropertyField <Texture2D>(this.m_VirtualRealitySplashScreen, PlayerSettingsSplashScreenEditor.k_Texts.vrSplashScreen);
         }
         if (PlayerSettingsSplashScreenEditor.TargetSupportsOptionalBuiltinSplashScreen(targetGroup, settingsExtension))
         {
             this.BuiltinCustomSplashScreenGUI();
         }
         if (settingsExtension != null)
         {
             settingsExtension.SplashSectionGUI();
         }
         if (this.m_ShowUnitySplashScreen.boolValue)
         {
             this.m_Owner.ShowSharedNote();
         }
     }
     this.m_Owner.EndSettingsBox();
 }
Пример #2
0
        private BuildPlayerWindow.BuildPlatform[] GetBuildPlayerValidPlatforms()
        {
            List <BuildPlayerWindow.BuildPlatform> validPlatforms = BuildPlayerWindow.GetValidPlatforms();
            List <BuildPlayerWindow.BuildPlatform> list2          = new List <BuildPlayerWindow.BuildPlatform>();

            if (this.m_CompatibleWithEditor > Compatibility.NotCompatible)
            {
                BuildPlayerWindow.BuildPlatform item = new BuildPlayerWindow.BuildPlatform("Editor settings", "Editor Settings", "BuildSettings.Editor", BuildTargetGroup.Unknown, true)
                {
                    name = BuildPipeline.GetEditorTargetName()
                };
                list2.Add(item);
            }
            foreach (BuildPlayerWindow.BuildPlatform platform2 in validPlatforms)
            {
                if (!IgnorePlatform(platform2.DefaultTarget))
                {
                    if (platform2.targetGroup == BuildTargetGroup.Standalone)
                    {
                        if (this.compatibleWithStandalone < Compatibility.Compatible)
                        {
                            continue;
                        }
                    }
                    else if ((this.m_CompatibleWithPlatform[(int)platform2.DefaultTarget] < Compatibility.Compatible) || (ModuleManager.GetPluginImporterExtension(platform2.targetGroup) == null))
                    {
                        continue;
                    }
                    list2.Add(platform2);
                }
            }
            return(list2.ToArray());
        }
        private BuildPlayerWindow.BuildPlatform[] GetBuildPlayerValidPlatforms()
        {
            List <BuildPlayerWindow.BuildPlatform> validPlatforms = BuildPlayerWindow.GetValidPlatforms();
            List <BuildPlayerWindow.BuildPlatform> list2          = new List <BuildPlayerWindow.BuildPlatform>();

            if ((this.m_CompatibleWithAnyPlatform > 0) || (this.m_CompatibleWithEditor > 0))
            {
                BuildPlayerWindow.BuildPlatform item = new BuildPlayerWindow.BuildPlatform("Editor settings", "BuildSettings.Editor", BuildTargetGroup.Unknown, true)
                {
                    name = BuildPipeline.GetEditorTargetName()
                };
                list2.Add(item);
            }
            foreach (BuildPlayerWindow.BuildPlatform platform2 in validPlatforms)
            {
                if (IgnorePlatform(platform2.DefaultTarget))
                {
                    continue;
                }
                if (platform2.targetGroup == BuildTargetGroup.Standalone)
                {
                    if ((this.m_CompatibleWithAnyPlatform >= 1) || (this.compatibleWithStandalone >= 1))
                    {
                        goto Label_00DD;
                    }
                    continue;
                }
                if (((this.m_CompatibleWithAnyPlatform < 1) && (this.m_CompatibleWithPlatform[(int)platform2.DefaultTarget] < 1)) || (ModuleManager.GetPluginImporterExtension(platform2.targetGroup) == null))
                {
                    continue;
                }
Label_00DD:
                list2.Add(platform2);
            }
            return(list2.ToArray());
        }
Пример #4
0
        private BuildPlayerWindow.BuildPlatform[] GetBuildPlayerValidPlatforms()
        {
            List <BuildPlayerWindow.BuildPlatform> validPlatforms    = BuildPlayerWindow.GetValidPlatforms();
            List <BuildPlayerWindow.BuildPlatform> buildPlatformList = new List <BuildPlayerWindow.BuildPlatform>();

            if (this.m_CompatibleWithAnyPlatform > 0 || this.m_CompatibleWithEditor > 0)
            {
                buildPlatformList.Add(new BuildPlayerWindow.BuildPlatform("Editor settings", "BuildSettings.Editor", BuildTargetGroup.Unknown, true)
                {
                    name = BuildPipeline.GetEditorTargetName()
                });
            }
            using (List <BuildPlayerWindow.BuildPlatform> .Enumerator enumerator = validPlatforms.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    BuildPlayerWindow.BuildPlatform current = enumerator.Current;
                    if (!PluginImporterInspector.IgnorePlatform(current.DefaultTarget))
                    {
                        if (current.targetGroup == BuildTargetGroup.Standalone)
                        {
                            if (this.m_CompatibleWithAnyPlatform < 1 && this.compatibleWithStandalone < 1)
                            {
                                continue;
                            }
                        }
                        else if (this.m_CompatibleWithAnyPlatform < 1 && this.m_CompatibleWithPlatform[(int)current.DefaultTarget] < 1 || ModuleManager.GetPluginImporterExtension(current.targetGroup) == null)
                        {
                            continue;
                        }
                        buildPlatformList.Add(current);
                    }
                }
            }
            return(buildPlatformList.ToArray());
        }
        private int DoQualityLevelSelection(int currentQualitylevel, IList <QualitySettingsEditor.QualitySetting> qualitySettings, Dictionary <string, int> platformDefaultQualitySettings)
        {
            GUILayout.BeginHorizontal();
            GUILayout.FlexibleSpace();
            GUILayout.BeginVertical();
            int num = currentQualitylevel;

            GUILayout.BeginHorizontal();
            Rect rect1 = GUILayoutUtility.GetRect(GUIContent.none, QualitySettingsEditor.Styles.kToggle, new GUILayoutOption[3] {
                GUILayout.ExpandWidth(false), GUILayout.Width(80f), GUILayout.Height(20f)
            });

            rect1.x     += EditorGUI.indent;
            rect1.width -= EditorGUI.indent;
            GUI.Label(rect1, "Levels", EditorStyles.boldLabel);
            using (List <BuildPlayerWindow.BuildPlatform> .Enumerator enumerator = this.m_ValidPlatforms.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    BuildPlayerWindow.BuildPlatform current = enumerator.Current;
                    Rect rect2 = GUILayoutUtility.GetRect(GUIContent.none, QualitySettingsEditor.Styles.kToggle, new GUILayoutOption[3] {
                        GUILayout.MinWidth(15f), GUILayout.MaxWidth(20f), GUILayout.Height(20f)
                    });
                    GUIContent content = EditorGUIUtility.TempContent((Texture)current.smallIcon);
                    content.tooltip = current.name;
                    GUI.Label(rect2, content);
                    content.tooltip = string.Empty;
                }
            }
            GUILayoutUtility.GetRect(GUIContent.none, QualitySettingsEditor.Styles.kToggle, new GUILayoutOption[3]
            {
                GUILayout.MinWidth(15f),
                GUILayout.MaxWidth(20f),
                GUILayout.Height(20f)
            });
            GUILayout.EndHorizontal();
            Event current1 = Event.current;

            for (int index = 0; index < qualitySettings.Count; ++index)
            {
                GUILayout.BeginHorizontal();
                GUIStyle guiStyle = index % 2 != 0 ? QualitySettingsEditor.Styles.kListOddBg : QualitySettingsEditor.Styles.kListEvenBg;
                bool     on       = num == index;
                Rect     rect2    = GUILayoutUtility.GetRect(GUIContent.none, QualitySettingsEditor.Styles.kToggle, new GUILayoutOption[2] {
                    GUILayout.ExpandWidth(false), GUILayout.Width(80f)
                });
                switch (current1.type)
                {
                case EventType.MouseDown:
                    if (rect2.Contains(current1.mousePosition))
                    {
                        num = index;
                        GUIUtility.keyboardControl = 0;
                        GUIUtility.hotControl      = this.m_QualityElementHash;
                        this.m_Dragging            = new QualitySettingsEditor.Dragging()
                        {
                            m_StartPosition = index,
                            m_Position      = index
                        };
                        current1.Use();
                        break;
                    }
                    break;

                case EventType.MouseUp:
                    if (GUIUtility.hotControl == this.m_QualityElementHash)
                    {
                        GUIUtility.hotControl = 0;
                        current1.Use();
                        break;
                    }
                    break;

                case EventType.MouseDrag:
                    if (GUIUtility.hotControl == this.m_QualityElementHash && rect2.Contains(current1.mousePosition))
                    {
                        this.m_Dragging.m_Position = index;
                        current1.Use();
                        break;
                    }
                    break;

                case EventType.KeyDown:
                    if (current1.keyCode == KeyCode.UpArrow || current1.keyCode == KeyCode.DownArrow)
                    {
                        num = Mathf.Clamp(num + (current1.keyCode != KeyCode.UpArrow ? 1 : -1), 0, qualitySettings.Count - 1);
                        GUIUtility.keyboardControl = 0;
                        current1.Use();
                        break;
                    }
                    break;

                case EventType.Repaint:
                    guiStyle.Draw(rect2, GUIContent.none, false, false, on, false);
                    GUI.Label(rect2, EditorGUIUtility.TempContent(qualitySettings[index].m_Name));
                    break;
                }
                using (List <BuildPlayerWindow.BuildPlatform> .Enumerator enumerator = this.m_ValidPlatforms.GetEnumerator())
                {
                    while (enumerator.MoveNext())
                    {
                        BuildPlayerWindow.BuildPlatform current2 = enumerator.Current;
                        bool flag1 = false;
                        if (platformDefaultQualitySettings.ContainsKey(current2.name) && platformDefaultQualitySettings[current2.name] == index)
                        {
                            flag1 = true;
                        }
                        Rect rect3 = GUILayoutUtility.GetRect(QualitySettingsEditor.Styles.kPlatformTooltip, QualitySettingsEditor.Styles.kToggle, new GUILayoutOption[2] {
                            GUILayout.MinWidth(15f), GUILayout.MaxWidth(20f)
                        });
                        if (Event.current.type == EventType.Repaint)
                        {
                            guiStyle.Draw(rect3, GUIContent.none, false, false, on, false);
                        }
                        Color backgroundColor = GUI.backgroundColor;
                        if (flag1 && !EditorApplication.isPlayingOrWillChangePlaymode)
                        {
                            GUI.backgroundColor = Color.green;
                        }
                        bool flag2 = !qualitySettings[index].m_ExcludedPlatforms.Contains(current2.name);
                        bool flag3 = GUI.Toggle(rect3, flag2, QualitySettingsEditor.Styles.kPlatformTooltip, !flag1 ? QualitySettingsEditor.Styles.kToggle : QualitySettingsEditor.Styles.kDefaultToggle);
                        if (flag2 != flag3)
                        {
                            if (flag3)
                            {
                                qualitySettings[index].m_ExcludedPlatforms.Remove(current2.name);
                            }
                            else
                            {
                                qualitySettings[index].m_ExcludedPlatforms.Add(current2.name);
                            }
                        }
                        GUI.backgroundColor = backgroundColor;
                    }
                }
                Rect rect4 = GUILayoutUtility.GetRect(GUIContent.none, QualitySettingsEditor.Styles.kToggle, new GUILayoutOption[2] {
                    GUILayout.MinWidth(15f), GUILayout.MaxWidth(20f)
                });
                if (Event.current.type == EventType.Repaint)
                {
                    guiStyle.Draw(rect4, GUIContent.none, false, false, on, false);
                }
                if (GUI.Button(rect4, QualitySettingsEditor.Styles.kIconTrash, GUIStyle.none))
                {
                    this.m_DeleteLevel = index;
                }
                GUILayout.EndHorizontal();
            }
            GUILayout.BeginHorizontal();
            GUILayoutUtility.GetRect(GUIContent.none, QualitySettingsEditor.Styles.kToggle, new GUILayoutOption[3]
            {
                GUILayout.MinWidth(15f),
                GUILayout.MaxWidth(20f),
                GUILayout.Height(1f)
            });
            QualitySettingsEditor.DrawHorizontalDivider();
            GUILayout.EndHorizontal();
            GUILayout.BeginHorizontal();
            Rect rect5 = GUILayoutUtility.GetRect(GUIContent.none, QualitySettingsEditor.Styles.kToggle, new GUILayoutOption[3] {
                GUILayout.ExpandWidth(false), GUILayout.Width(80f), GUILayout.Height(20f)
            });

            rect5.x     += EditorGUI.indent;
            rect5.width -= EditorGUI.indent;
            GUI.Label(rect5, "Default", EditorStyles.boldLabel);
            using (List <BuildPlayerWindow.BuildPlatform> .Enumerator enumerator = this.m_ValidPlatforms.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    BuildPlayerWindow.BuildPlatform current2 = enumerator.Current;
                    Rect rect2 = GUILayoutUtility.GetRect(GUIContent.none, QualitySettingsEditor.Styles.kToggle, new GUILayoutOption[3] {
                        GUILayout.MinWidth(15f), GUILayout.MaxWidth(20f), GUILayout.Height(20f)
                    });
                    int selectedIndex;
                    if (!platformDefaultQualitySettings.TryGetValue(current2.name, out selectedIndex))
                    {
                        platformDefaultQualitySettings.Add(current2.name, 0);
                    }
                    selectedIndex = EditorGUI.Popup(rect2, selectedIndex, qualitySettings.Select <QualitySettingsEditor.QualitySetting, string>((Func <QualitySettingsEditor.QualitySetting, string>)(x => x.m_Name)).ToArray <string>(), QualitySettingsEditor.Styles.kDefaultDropdown);
                    platformDefaultQualitySettings[current2.name] = selectedIndex;
                }
            }
            GUILayout.EndHorizontal();
            GUILayout.Space(10f);
            GUILayout.BeginHorizontal();
            GUILayoutUtility.GetRect(GUIContent.none, QualitySettingsEditor.Styles.kToggle, new GUILayoutOption[3]
            {
                GUILayout.MinWidth(15f),
                GUILayout.MaxWidth(20f),
                GUILayout.Height(20f)
            });
            if (GUI.Button(GUILayoutUtility.GetRect(GUIContent.none, QualitySettingsEditor.Styles.kToggle, new GUILayoutOption[1] {
                GUILayout.ExpandWidth(true)
            }), EditorGUIUtility.TempContent("Add Quality Level")))
            {
                this.m_ShouldAddNewLevel = true;
            }
            GUILayout.EndHorizontal();
            GUILayout.EndVertical();
            GUILayout.FlexibleSpace();
            GUILayout.EndHorizontal();
            return(num);
        }