Beispiel #1
0
        private void OnGUI()
        {
            EditorGUILayout.Space();
            GUILayout.BeginHorizontal(new GUILayoutOption[0]);
            GUILayout.Space(kToolbarPadding);
            DrawRefreshGUI();
            this.ModeToggle();
            GUILayout.FlexibleSpace();
            GUILayout.EndHorizontal();

            switch (m_Mode)
            {
            case Mode.BuildSetting:
                GUILayout.Space(m_TextureRefresh.width + kToolbarPadding);
                buildTab.OnGUI();
                break;

            case Mode.Inspect:
                inspectTab.OnGUI(GetSubWindowArea());
                break;

            case Mode.Configure:
            default:
                manageTab.OnGUI(GetSubWindowArea());
                break;
            }

            if (m_MultiDataSource)
            {
                //GUILayout.BeginArea(r);
                GUILayout.BeginHorizontal();

                using (new EditorGUILayout.HorizontalScope(EditorStyles.toolbar))
                {
                    GUILayout.Label("Bundle Data Source:");
                    GUILayout.FlexibleSpace();
                    var c = new GUIContent(string.Format("{0} ({1})", Model.AssetBundleModel.assetBundleData.name, Model.AssetBundleModel.assetBundleData.providerName), "Select Asset Bundle Set");
                    if (GUILayout.Button(c, EditorStyles.toolbarPopup))
                    {
                        GenericMenu menu = new GenericMenu();

                        for (int index = 0; index < m_AssetBundleDatas.Count; index++)
                        {
                            var assetBundleData = m_AssetBundleDatas[index];
                            if (assetBundleData == null)
                            {
                                continue;
                            }

                            if (index > 0)
                            {
                                menu.AddSeparator("");
                            }

                            var counter = index;
                            menu.AddItem(new GUIContent(string.Format("{0} ({1})", assetBundleData.name, assetBundleData.providerName)), false,
                                         () =>
                            {
                                m_DataSourceIndex = counter;
                                Model.AssetBundleModel.assetBundleData = assetBundleData;
                                manageTab.ForceReloadData();
                            }
                                         );
                        }

                        menu.ShowAsContext();
                    }

                    GUILayout.FlexibleSpace();
                    if (Model.AssetBundleModel.assetBundleData.IsReadOnly())
                    {
                        GUIStyle tbLabel = new GUIStyle(EditorStyles.toolbar)
                        {
                            alignment = TextAnchor.MiddleRight
                        };

                        GUILayout.Label("Read Only", tbLabel);
                    }
                }

                GUILayout.EndHorizontal();
                //GUILayout.EndArea();
            }
        }