private static void DrawAdvancedSpriteField(AtlasTexture atlas, string spriteName)
        {
            if (atlas == null)
            {
                return;
            }

            if (atlas.Sprites.Count == 0)
            {
                EditorGUILayout.HelpBox("No sprites found", MessageType.Warning);
                return;
            }

            GUILayout.BeginHorizontal();
            {
                if (EditorLayoutTools.DrawPrefixButton("Sprite"))
                {
                    EditorAtlasPrefs.atlas          = atlas;
                    EditorAtlasPrefs.selectedSprite = spriteName;
                    AtlasSpriteSelector.Show(SelectSprite);
                }

                EditorGUILayout.SelectableLabel(spriteName, new GUIStyle("TextArea"), GUILayout.Height(18f));
            }
            GUILayout.EndHorizontal();
        }
        // オプションの描画.
        protected virtual void DrawBuildOptions()
        {
            var originLabelWidth = EditorLayoutTools.SetLabelWidth(130f);

            if (selectionBuildParam != null && selectionBuildParam.buildParam != null)
            {
                var buildParam = selectionBuildParam.buildParam;

                EditorGUI.BeginChangeCheck();

                // Version.
                buildParam.Version = EditorGUILayout.DelayedTextField("Version", buildParam.Version);

                GUILayout.Space(2f);

                // BuildVersion.
                buildParam.BuildVersion = EditorGUILayout.DelayedIntField("BuildVersion", buildParam.BuildVersion);

                if (EditorGUI.EndChangeCheck())
                {
                    UnityEditorUtility.SaveAsset(buildParam);
                }
            }

            GUILayout.Space(2f);

            EditorLayoutTools.SetLabelWidth(originLabelWidth);
        }
Exemple #3
0
        private bool DrawCharInfoGUI(FontKerningSetting.CharInfo info)
        {
            var delete = false;

            using (new EditorGUILayout.HorizontalScope())
            {
                EditorGUI.BeginChangeCheck();

                var text = EditorGUILayout.DelayedTextField(info.character.ToString(), GUILayout.Width(50f));

                if (EditorGUI.EndChangeCheck())
                {
                    info.character = text.FirstOrDefault();
                }

                var originLabelWidth = EditorLayoutTools.SetLabelWidth(30f);

                info.leftSpace = EditorGUILayout.FloatField("◀▶", info.leftSpace, GUILayout.ExpandWidth(true));

                info.rightSpace = EditorGUILayout.FloatField("◀▶", info.rightSpace, GUILayout.ExpandWidth(true));

                EditorLayoutTools.SetLabelWidth(originLabelWidth);

                if (GUILayout.Button("-", EditorStyles.miniButton, GUILayout.Width(25f)))
                {
                    delete = true;
                }
            }

            return(delete);
        }
Exemple #4
0
        public override void OnInspectorGUI()
        {
            instance = target as ManagedAssets;

            Initialize();

            EditorGUILayout.Separator();

            using (var scrollViewScope = new EditorGUILayout.ScrollViewScope(scrollPosition, GUILayout.Height(700f)))
            {
                foreach (var group in manageInfoGroup)
                {
                    EditorLayoutTools.Title(group.Key, new Color(0.2f, 0f, 1f, 1f));

                    using (new EditorGUILayout.HorizontalScope())
                    {
                        GUILayout.Space(8f);

                        using (new EditorGUILayout.VerticalScope())
                        {
                            foreach (var manageInfo in group)
                            {
                                DrawManageInfoGUI(manageInfo);
                            }
                        }

                        GUILayout.Space(8f);
                    }
                }

                scrollPosition = scrollViewScope.scrollPosition;
            }
        }
Exemple #5
0
        protected override void DrawContent(int index, FindDependencyAssetsWindow.AssetReferenceInfo content)
        {
            var count = content.ReferenceAssets.Length;

            if (count < 2)
            {
                return;
            }

            var asset = GetAsset(content.Asset);

            using (new EditorGUILayout.HorizontalScope())
            {
                if (titleGuiStyle == null)
                {
                    titleGuiStyle = new EditorLayoutTools.TitleGUIStyle
                    {
                        backgroundColor = new Color(1f, 0.65f, 0f, 0.5f),
                        alignment       = TextAnchor.MiddleCenter,
                        fontStyle       = FontStyle.Bold,
                        width           = 30f,
                    };
                }

                EditorLayoutTools.Title(count.ToString(), titleGuiStyle);
                EditorGUILayout.ObjectField("", asset, typeof(Object), false, GUILayout.Width(250f));
            }
        }
Exemple #6
0
            protected override void DrawContent(int index, AssetGroupInfo content)
            {
                if (textAreaStyle == null)
                {
                    textAreaStyle              = GUI.skin.GetStyle("TextArea");
                    textAreaStyle.alignment    = TextAnchor.MiddleLeft;
                    textAreaStyle.wordWrap     = false;
                    textAreaStyle.stretchWidth = true;
                }

                var opened = openedIds.Contains(index);

                using (new EditorGUILayout.VerticalScope())
                {
                    var open = EditorLayoutTools.DrawHeader(content.GroupName, opened);

                    if (open)
                    {
                        using (new ContentsScope())
                        {
                            DrawGroupContent(content);
                        }
                    }

                    if (!opened && open)
                    {
                        openedIds.Add(index);
                    }

                    if (opened && !open)
                    {
                        openedIds.Remove(index);
                    }
                }
            }
Exemple #7
0
        private void DrawAtlasInfos()
        {
            EditorLayoutTools.DrawLabelWithBackground("Input", EditorLayoutTools.BackgroundColor, EditorLayoutTools.LabelColor);

            var tex = selectAtlas.Texture;

            var labelWidth = 80f;

            using (new EditorGUILayout.HorizontalScope())
            {
                if (tex != null)
                {
                    if (GUILayout.Button("Texture", GUILayout.Width(labelWidth)))
                    {
                        Selection.activeObject = tex;
                    }

                    GUILayout.Label(" " + tex.width + "x" + tex.height);
                }
                else
                {
                    GUI.color = Color.grey;
                    GUILayout.Button("Texture", GUILayout.Width(labelWidth));
                    GUI.color = Color.white;
                    GUILayout.Label(" N/A");
                }
            }
        }
        private void DrawContentGUI(string label, string content)
        {
            EditorLayoutTools.DrawLabelWithBackground(label, new Color(0.3f, 0.3f, 0.5f), new Color(0.8f, 0.8f, 0.8f, 0.8f));

            using (new EditorGUILayout.HorizontalScope())
            {
                using (new EditorGUILayout.VerticalScope())
                {
                    if (GUILayout.Button("copy", GUILayout.Width(45f), GUILayout.Height(18f)))
                    {
                        UniClipboard.SetText(content);
                    }

                    GUILayout.Space(2f);
                }

                var textStyle = new GUIStyle();
                var textSize  = textStyle.CalcSize(new GUIContent(content));

                var originLabelWidth = EditorLayoutTools.SetLabelWidth(textSize.x);

                GUILayout.Label(content, GUILayout.Height(20f));

                EditorLayoutTools.SetLabelWidth(originLabelWidth);

                GUILayout.FlexibleSpace();
            }
        }
Exemple #9
0
        protected override void DrawContent(int index, Content content)
        {
            if (tabNextIconContent == null)
            {
                tabNextIconContent = EditorGUIUtility.IconContent("tab_next");
            }

            using (new EditorGUILayout.HorizontalScope())
            {
                var type  = content.isAssetBundle ? "AssetBundle" : "Other Assets";
                var color = content.isAssetBundle ? new Color(0.3f, 0.3f, 1f) : new Color(0.3f, 1f, 0.3f);

                var originLabelWidth = EditorLayoutTools.SetLabelWidth(75f);

                EditorLayoutTools.DrawLabelWithBackground(type, color, width: 70f, options: GUILayout.Height(15f));

                EditorLayoutTools.SetLabelWidth(content.label);

                EditorGUILayout.SelectableLabel(content.label, GUILayout.Height(18f));

                EditorLayoutTools.SetLabelWidth(originLabelWidth);

                GUILayout.FlexibleSpace();

                if (GUILayout.Button(tabNextIconContent, EditorStyles.label, GUILayout.Width(20f), GUILayout.Height(20f)))
                {
                    if (onRequestDetailView != null)
                    {
                        onRequestDetailView.OnNext(content.label);
                    }
                }
            }
        }
Exemple #10
0
        private void DrawSettingsGUI()
        {
            var labelWidth = 80f;

            EditorLayoutTools.DrawLabelWithBackground("Settings", EditorLayoutTools.BackgroundColor, EditorLayoutTools.LabelColor);

            using (new EditorGUILayout.HorizontalScope())
            {
                var labels = BlockSizes.Select(x => x.ToString()).ToArray();

                GUILayout.Label("BlockSize", GUILayout.Width(labelWidth));
                blockSize = EditorGUILayout.IntPopup(blockSize, labels, BlockSizes, GUILayout.Width(75f));
            }

            using (new EditorGUILayout.HorizontalScope())
            {
                GUILayout.Label("Padding", GUILayout.Width(labelWidth));
                padding = Mathf.Clamp(EditorGUILayout.IntField(padding, GUILayout.Width(75f)), 1, 5);
            }

            using (new EditorGUILayout.HorizontalScope())
            {
                GUILayout.Label("AlphaMap", GUILayout.Width(labelWidth));
                hasAlphaMap = EditorGUILayout.Toggle(hasAlphaMap, GUILayout.Width(75f));
            }

            using (new EditorGUILayout.HorizontalScope())
            {
                GUILayout.Label("FilterMode", GUILayout.Width(labelWidth));
                filterMode = (FilterMode)EditorGUILayout.EnumPopup(filterMode, GUILayout.Width(75f));
            }
        }
        protected override void DrawContent(int index, FindDependencyAssetsWindow.AssetBundleInfo content)
        {
            content.IsOpen = EditorLayoutTools.DrawHeader(content.AssetBundleName, content.IsOpen);

            if (content.IsOpen)
            {
                using (new ContentsScope())
                {
                    if (content.Assets.Any())
                    {
                        foreach (var asset in content.Assets)
                        {
                            using (new EditorGUILayout.HorizontalScope())
                            {
                                EditorLayoutTools.DrawLabelWithBackground("Asset", new Color(0.9f, 0.4f, 0.4f, 0.3f), null, TextAnchor.MiddleCenter, 90f);
                                EditorGUILayout.ObjectField("", asset, typeof(Object), false, GUILayout.Width(250f));
                            }
                        }
                    }

                    if (content.DependentAssets.Any())
                    {
                        foreach (var dependentAsset in content.DependentAssets)
                        {
                            using (new EditorGUILayout.HorizontalScope())
                            {
                                EditorLayoutTools.DrawLabelWithBackground("Dependent", new Color(0.4f, 0.4f, 0.9f, 0.5f), null, TextAnchor.MiddleCenter, 90f);
                                EditorGUILayout.ObjectField("", dependentAsset, typeof(Object), false, GUILayout.Width(250f));
                            }
                        }
                    }
                }
            }
        }
Exemple #12
0
        // 生成制御GUI描画.
        private void DrawGenerateGUI()
        {
            var languageManager = LanguageManager.Instance;

            var languageInfo = languageManager.Current;

            EditorLayoutTools.Title("Asset");

            GUILayout.Space(4f);

            // 生成制御.
            using (new DisableScope(languageInfo == null))
            {
                if (GUILayout.Button("Generate"))
                {
                    TextDataGenerator.Generate(contentType, languageInfo);

                    UnityConsole.Info("TextData generate finish.");

                    Repaint();
                }
            }

            GUILayout.Space(4f);
        }
        protected override void DrawContent(int index, Object content)
        {
            if (viewToolZoomIcon == null)
            {
                viewToolZoomIcon = EditorGUIUtility.IconContent("ViewToolZoom");
            }

            if (vcscheckIcon == null)
            {
                vcscheckIcon = EditorGUIUtility.IconContent("vcs_check");
            }

            if (vcsdeleteIcon == null)
            {
                vcsdeleteIcon = EditorGUIUtility.IconContent("vcs_delete");
            }

            using (new EditorGUILayout.HorizontalScope())
            {
                var info = CompressFolderInfos.FirstOrDefault(x => x.folder == content);

                if (info != null)
                {
                    var originLabelWidth = EditorLayoutTools.SetLabelWidth(12f);

                    var icon = info.compress ? vcscheckIcon : vcsdeleteIcon;

                    using (new EditorGUILayout.VerticalScope(GUILayout.Width(12f)))
                    {
                        GUILayout.Space(-1f);

                        EditorGUILayout.LabelField(icon, GUILayout.Width(20f), GUILayout.Height(20f));
                    }

                    EditorLayoutTools.SetLabelWidth(originLabelWidth);
                }

                EditorGUI.BeginChangeCheck();

                switch (AssetViewMode)
                {
                case CompressCheckWindow.AssetViewMode.Asset:
                    EditorGUILayout.ObjectField(content, typeof(Object), false);
                    break;

                case CompressCheckWindow.AssetViewMode.Path:
                    GUILayout.Label(AssetDatabase.GetAssetPath(content), EditorLayoutTools.TextAreaStyle);
                    break;
                }

                if (GUILayout.Button(viewToolZoomIcon, EditorStyles.miniButton, GUILayout.Width(24f), GUILayout.Height(15f)))
                {
                    if (onSearchRequest != null)
                    {
                        onSearchRequest.OnNext(content);
                    }
                }
            }
        }
Exemple #14
0
        // エクセル制御GUI描画.
        private void DrawExcelControlGUI()
        {
            TextDataConfig.GenerateAssetSetting setting = null;

            switch (contentType)
            {
            case ContentType.Embedded:
                setting = config.Embedded;
                break;

            case ContentType.Distribution:
                setting = config.Distribution;
                break;
            }

            EditorLayoutTools.Title("Excel");

            GUILayout.Space(4f);

            var excelFilePath = setting.GetExcelPath();

            var excelFileExists = File.Exists(excelFilePath);

            using (new DisableScope(!excelFileExists))
            {
                if (GUILayout.Button("Open"))
                {
                    TextDataExcel.Open(setting);
                }
            }

            GUILayout.Space(4f);

            var isLock = TextDataExcel.IsExcelFileLocked(setting);

            using (new DisableScope(isLock))
            {
                if (GUILayout.Button("Import"))
                {
                    var nowait = TextDataExcel.Import(contentType, true);

                    UnityConsole.Info("TextData import record finish.");
                }
            }

            GUILayout.Space(4f);

            using (new DisableScope(!excelFileExists))
            {
                if (GUILayout.Button("Export"))
                {
                    var nowait = TextDataExcel.Export(contentType, true);

                    UnityConsole.Info("TextData export record finish.");
                }
            }

            GUILayout.Space(4f);
        }
Exemple #15
0
        public override void OnPreviewGUI(Rect r, GUIStyle background)
        {
            if (instance == null || instance.Current == null)
            {
                return;
            }

            var current = instance.Current;

            if (previewTexture == null || previewGuid != current.Guid)
            {
                var assetPath = AssetDatabase.GUIDToAssetPath(current.Guid);
                previewTexture = AssetDatabase.LoadMainAssetAtPath(assetPath) as Texture2D;

                previewGuid = current.Guid;
            }

            if (previewTexture == null)
            {
                return;
            }

            if (previewBackdrop == null)
            {
                var c1 = new Color(1f, 1f, 1f, 0.8f);
                var c2 = new Color(1f, 1f, 1f, 1f);

                previewBackdrop = TextureUtility.CreateCheckerTex(c1, c2, 32);
            }

            var uv = new Rect(0f, 0f, 1f, 1f);

            var scaleX = r.width / uv.width;
            var scaleY = r.height / uv.height;

            var aspect   = (scaleY / scaleX) / ((float)previewTexture.height / previewTexture.width);
            var clipRect = r;

            if (aspect != 1f)
            {
                if (aspect < 1f)
                {
                    var padding = r.width * (1f - aspect) * 0.5f;
                    clipRect.xMin += padding;
                    clipRect.xMax -= padding;
                }
                else
                {
                    var padding = r.height * (1f - 1f / aspect) * 0.5f;
                    clipRect.yMin += padding;
                    clipRect.yMax -= padding;
                }
            }

            EditorLayoutTools.DrawTiledTexture(clipRect, previewBackdrop);

            GUI.DrawTextureWithTexCoords(clipRect, previewTexture, uv);
        }
Exemple #16
0
        private void DrawManageInfoGUI(ManageInfo manageInfo)
        {
            if (manageInfo == null)
            {
                return;
            }

            var guid = manageInfo.guid;

            Object asset;

            if (!assetCacheByGuid.ContainsKey(guid))
            {
                asset = UnityEditorUtility.FindMainAsset(guid);

                assetCacheByGuid[guid] = asset;
            }
            else
            {
                asset = assetCacheByGuid.GetValueOrDefault(guid);
            }

            var assetPath = AssetDatabase.GUIDToAssetPath(guid);

            EditorLayoutTools.ContentTitle(assetPath, new Color(0.2f, 1f, 0f, 1f));

            using (new ContentsScope())
            {
                using (new DisableScope(true))
                {
                    EditorGUILayout.ObjectField("Asset", asset, typeof(Object), false);

                    EditorGUILayout.TextField("Category", manageInfo.category);

                    if (!string.IsNullOrEmpty(manageInfo.tag))
                    {
                        EditorGUILayout.TextField("Tag", manageInfo.tag);
                    }

                    if (!string.IsNullOrEmpty(manageInfo.comment))
                    {
                        EditorGUILayout.TextField("Comment", manageInfo.comment);
                    }

                    if (manageInfo.isAssetBundle)
                    {
                        EditorGUILayout.EnumPopup("NamingRule", manageInfo.assetBundleNamingRule);

                        if (!string.IsNullOrEmpty(manageInfo.assetBundleNameStr))
                        {
                            EditorGUILayout.TextField("NameStr", manageInfo.assetBundleNameStr);
                        }
                    }
                }
            }

            EditorGUILayout.Space(3f);
        }
Exemple #17
0
        public override void OnInspectorGUI()
        {
            instance = target as AnimationPlayer;

            var animatorController = Reflection.GetPrivateField <AnimationPlayer, RuntimeAnimatorController>(instance, "animatorController") as AnimatorController;
            var endActionType      = Reflection.GetPrivateField <AnimationPlayer, EndActionType>(instance, "endActionType");
            var ignoreTimeScale    = Reflection.GetPrivateField <AnimationPlayer, bool>(instance, "ignoreTimeScale");

            if (animator != null)
            {
                animator.runtimeAnimatorController = animatorController;
            }

            EditorGUILayout.Separator();

            EditorGUI.BeginChangeCheck();

            animatorController = EditorGUILayout.ObjectField("Controller", animatorController, typeof(AnimatorController), false) as AnimatorController;

            if (EditorGUI.EndChangeCheck())
            {
                UnityEditorUtility.RegisterUndo("AnimationPlayerInspector Undo", instance);

                Reflection.SetPrivateField(instance, "animatorController", animatorController);
            }

            if (animator != null && animatorController != null)
            {
                EditorGUILayout.Separator();

                if (EditorLayoutTools.DrawHeader("Option", "AnimationPlayerInspector-Option"))
                {
                    using (new ContentsScope())
                    {
                        EditorGUI.BeginChangeCheck();

                        var originLabelWidth = EditorLayoutTools.SetLabelWidth(150f);

                        endActionType   = (EndActionType)EditorGUILayout.EnumPopup("End Action", endActionType);
                        ignoreTimeScale = EditorGUILayout.Toggle("Ignore TimeScale", ignoreTimeScale);

                        if (EditorGUI.EndChangeCheck())
                        {
                            UnityEditorUtility.RegisterUndo("AnimationPlayerInspector Undo", instance);

                            Reflection.SetPrivateField(instance, "endActionType", endActionType);
                            Reflection.SetPrivateField(instance, "ignoreTimeScale", ignoreTimeScale);
                        }

                        EditorLayoutTools.SetLabelWidth(originLabelWidth);
                    }
                }

                EditorGUILayout.Separator();
            }
        }
Exemple #18
0
        private void DrawRegisterIgnoreFolderNameGUI(FolderNameRegisterScrollView scrollView, string title)
        {
            var scrollViewHeight = Mathf.Min(scrollView.Contents.Length * 18f, 150f);

            if (EditorLayoutTools.DrawHeader(title, string.Format("TextureAssetTunerConfigInspector-{0}", title)))
            {
                using (new ContentsScope())
                {
                    scrollView.DrawGUI(GUILayout.Height(scrollViewHeight));
                }
            }
        }
Exemple #19
0
        void OnGUI()
        {
            if (connector == null)
            {
                Initialize();
                Repaint();
            }

            EditorGUI.BeginDisabledGroup(EditorApplication.isCompiling);
            {
                var originLabelWidth = EditorLayoutTools.SetLabelWidth(85f);

                GUILayout.Space(5f);

                switch (connector.State)
                {
                case SpreadsheetConnector.AuthenticationState.SignIn:

                    DrawGUI();

                    break;

                case SpreadsheetConnector.AuthenticationState.SignOut:

                    if (GUILayout.Button("Get Access Code"))
                    {
                        connector.OpenAccessCodeURL();
                    }

                    break;

                case SpreadsheetConnector.AuthenticationState.WaitingAccessCode:

                    accessCode = EditorGUILayout.TextField("Access Code", accessCode);

                    GUILayout.Space(5f);

                    if (GUILayout.Button("SignIn"))
                    {
                        connector.SignIn(accessCode);
                        GUI.FocusControl("");
                    }

                    break;
                }

                GUILayout.Space(5f);

                EditorLayoutTools.SetLabelWidth(originLabelWidth);
            }
            EditorGUI.EndDisabledGroup();
        }
Exemple #20
0
        void OnGUI()
        {
            Initialize();

            GUILayout.Space(2f);

            EditorLayoutTools.ContentTitle("Current");

            using (new ContentsScope())
            {
                var defineSymbols = defineSymbolInfos.Where(x => x.enable).Select(x => x.symbol).ToArray();

                var defineSymbolStr = string.Join(";", defineSymbols);

                EditorGUILayout.SelectableLabel(defineSymbolStr, EditorStyles.miniTextField, GUILayout.Height(16f), GUILayout.ExpandWidth(true));
            }

            EditorLayoutTools.ContentTitle("Define");

            using (new ContentsScope())
            {
                using (var scrollView = new EditorGUILayout.ScrollViewScope(scrollPosition, GUILayout.ExpandWidth(true)))
                {
                    foreach (var defineSymbolInfo in defineSymbolInfos)
                    {
                        using (new ContentsScope())
                        {
                            DrawInfoGUI(defineSymbolInfo);
                        }

                        GUILayout.Space(2f);
                    }

                    scrollPosition = scrollView.scrollPosition;
                }
            }

            GUILayout.Space(2f);

            using (new EditorGUILayout.HorizontalScope())
            {
                GUILayout.FlexibleSpace();

                if (GUILayout.Button("Apply", GUILayout.Width(100f)))
                {
                    var defineSymbols = defineSymbolInfos.Where(x => x.enable).Select(x => x.symbol).ToArray();

                    DefineSymbol.Set(defineSymbols, true);
                }
            }
        }
Exemple #21
0
        //----- property -----

        //----- method -----

        public override void OnInspectorGUI()
        {
            var patternTexture = target as PatternTexture;

            EditorLayoutTools.ContentTitle("Contents");

            using (new ContentsScope())
            {
                using (var scrollViewScope = new EditorGUILayout.ScrollViewScope(scrollPosition, GUILayout.Height(350f)))
                {
                    var sourceData = patternTexture.GetAllPatternData();

                    for (var i = 0; i < sourceData.Count; i++)
                    {
                        var data = sourceData[i];

                        using (new EditorGUILayout.HorizontalScope())
                        {
                            using (new LabelWidthScope(20f))
                            {
                                EditorGUILayout.PrefixLabel(i.ToString(), EditorStyles.miniLabel);
                            }

                            EditorGUILayout.SelectableLabel(data.TextureName, EditorStyles.textArea, GUILayout.Height(18f));

                            using (new DisableScope(previewGuid == data.Guid))
                            {
                                using (new EditorGUILayout.VerticalScope(GUILayout.Width(50f)))
                                {
                                    GUILayout.Space(3f);

                                    if (GUILayout.Button("select", EditorStyles.miniButton, GUILayout.Width(50f)))
                                    {
                                        previewGuid = data.Guid;

                                        var assetPath = AssetDatabase.GUIDToAssetPath(previewGuid);

                                        previewTexture = AssetDatabase.LoadMainAssetAtPath(assetPath) as Texture;

                                        Repaint();
                                    }
                                }
                            }
                        }
                    }

                    scrollPosition = scrollViewScope.scrollPosition;
                }
            }
        }
Exemple #22
0
        private void DrawInspector()
        {
            if (!string.IsNullOrEmpty(instance.VersionHash))
            {
                EditorGUILayout.LabelField("Version:", GUILayout.Width(50f));

                GUILayout.Space(-5f);

                EditorGUILayout.SelectableLabel(instance.VersionHash, hashGuiStyle, GUILayout.Height(14f));
            }

            EditorGUILayout.LabelField(totalAssetCountText, GUILayout.Width(150f));

            EditorGUILayout.Separator();

            using (new EditorGUILayout.HorizontalScope())
            {
                Action <string> onChangeSearchText = x =>
                {
                    searchText = x;

                    var searchKeywords = BuildSearchKeywords();

                    searchedInfos = currentInfos.Where(info => info.IsSearchedHit(searchKeywords)).ToArray();
                    asstInfoScrollView.ScrollPosition = Vector2.zero;
                    asstInfoScrollView.Contents       = searchedInfos;

                    Repaint();
                };

                Action onSearchCancel = () =>
                {
                    searchText    = string.Empty;
                    searchedInfos = null;

                    currentInfos.ForEach(x => x.ResetSearch());

                    asstInfoScrollView.ScrollPosition = Vector2.zero;
                    asstInfoScrollView.Contents       = currentInfos;

                    Repaint();
                };

                EditorLayoutTools.DrawSearchTextField(searchText, onChangeSearchText, onSearchCancel);
            }

            GUILayout.Space(3f);

            asstInfoScrollView.Draw();
        }
        protected override void DrawContent(int index, FindDependencyAssetsWindow.AssetReferenceInfo content)
        {
            var count = content.ReferenceAssets.Length;

            if (count < 2)
            {
                return;
            }

            using (new EditorGUILayout.HorizontalScope())
            {
                EditorLayoutTools.DrawLabelWithBackground(count.ToString(), new Color(1f, 0.65f, 0f, 0.5f), null, TextAnchor.MiddleCenter, 30f);
                EditorGUILayout.ObjectField("", content.Asset, typeof(Object), false, GUILayout.Width(250f));
            }
        }
        void OnGUI()
        {
            EditorLayoutTools.SetLabelWidth(120f);

            EditorGUILayout.Separator();

            using (new EditorGUILayout.HorizontalScope())
            {
                var sceneName = Path.GetFileName(targetScenePath);

                if (EditorLayoutTools.DrawPrefixButton("Scene", GUILayout.Width(65f)))
                {
                    SceneSelectorPrefs.selectedScenePath = targetScenePath;
                    SceneSelector.Open().Subscribe(OnSelectScene);
                }

                var sceneNameStyle = GUI.skin.GetStyle("TextArea");
                sceneNameStyle.alignment = TextAnchor.MiddleLeft;

                EditorGUILayout.SelectableLabel(sceneName, sceneNameStyle, GUILayout.Height(18f));

                GUILayout.Space(5f);
            }

            GUILayout.Space(5f);

            using (new EditorGUILayout.HorizontalScope())
            {
                GUILayout.Space(5f);

                // 下記条件時は再生ボタンを非アクティブ:.
                // ・実行中.
                // ・ビルド中.
                // ・遷移先シーンが未選択.
                GUI.enabled = !(EditorApplication.isPlaying ||
                                EditorApplication.isCompiling ||
                                string.IsNullOrEmpty(targetScenePath));

                if (GUILayout.Button("Launch"))
                {
                    Launch().Subscribe();
                }

                GUI.enabled = true;

                GUILayout.Space(5f);
            }
        }
        void OnGUI()
        {
            EditorGUILayout.Separator();

            var backgroundColor = new Color(0.8f, 1.0f, 0.3f);
            var labelColor      = new Color(0.8f, 0.8f, 0.8f, 0.8f);

            EditorLayoutTools.DrawLabelWithBackground("Import from AtomCraft folder", backgroundColor, labelColor);

            if (GUILayout.Button("Import"))
            {
                CriAssetUpdater.Execute();
            }

            EditorGUILayout.Separator();
        }
Exemple #26
0
        void OnGUI()
        {
            EditorLayoutTools.SetLabelWidth(80f);

            GUILayout.Space(6f);

            if (objects == null || objects.Length == 0)
            {
                EditorGUILayout.HelpBox("No " + GetTypeName(type) + " components found.\nTry creating a new one.", MessageType.Info);
            }
            else
            {
                Object sel = null;
                scroll = GUILayout.BeginScrollView(scroll);

                foreach (Object o in objects)
                {
                    if (DrawObject(o))
                    {
                        sel = o;
                    }
                }

                GUILayout.EndScrollView();

                if (sel != null)
                {
                    callback(sel);
                    Close();
                }
            }

            if (!searched)
            {
                GUILayout.Space(6f);
                GUILayout.BeginHorizontal();
                GUILayout.FlexibleSpace();
                bool search = GUILayout.Button("Show All", "LargeButton", GUILayout.Width(120f));
                GUILayout.FlexibleSpace();
                GUILayout.EndHorizontal();
                if (search)
                {
                    Search();
                }
            }
        }
Exemple #27
0
        public override void DrawGUI(params GUILayoutOption[] option)
        {
            if (EditorLayoutTools.DrawHeader(title, headerKey))
            {
                using (new ContentsScope())
                {
                    var scrollViewHeight = Mathf.Min(Contents.Length * 18f, 150f);

                    var options = new List <GUILayoutOption>();

                    options.Add(GUILayout.Height(scrollViewHeight));
                    options.AddRange(option);

                    base.DrawGUI(options.ToArray());
                }
            }
        }
        private static void DrawSprite(Texture2D tex, Rect drawRect, SpriteData sprite, Color color, bool hasLabel)
        {
            if (!tex || sprite == null)
            {
                return;
            }

            EditorLayoutTools.DrawSprite(
                tex,
                drawRect,
                color,
                null,
                sprite.x, sprite.y,
                sprite.width, sprite.height,
                sprite.borderLeft, sprite.borderBottom, sprite.borderRight, sprite.borderTop,
                hasLabel);
        }
        protected void DrawMaterialSelector <T>(T instance) where T : TextEffectBase
        {
            var textEffectBase = instance as TextEffectBase;

            var reference = Reflection.GetPrivateField <TextEffectBase, Dictionary <Material, List <TextEffectBase> > >(textEffectBase, "reference", BindingFlags.Static);

            if (reference == null || reference.IsEmpty())
            {
                return;
            }

            var targets = reference.Values
                          .Select(x => x.Select(y => y as T).Where(y => y != null))
                          .Select(x => x.FirstOrDefault())
                          .Where(x => x != null)
                          .Cast <TextEffectBase>()
                          .ToArray();

            // 1つしかない時は自身のみなので不要.
            if (targets.Length <= 1)
            {
                return;
            }

            GUILayout.Space(2f);

            if (EditorLayoutTools.DrawHeader("MaterialSelector", "TextEffectBaseInspector.MaterialSelector"))
            {
                using (new ContentsScope())
                {
                    if (4 <= targets.Length)
                    {
                        using (var scrollViewScope = new EditorGUILayout.ScrollViewScope(scrollPosition, GUILayout.Height(130f)))
                        {
                            DrawSelectorContents(targets);

                            scrollPosition = scrollViewScope.scrollPosition;
                        }
                    }
                    else
                    {
                        DrawSelectorContents(targets);
                    }
                }
            }
        }
Exemple #30
0
        //---------------------------------------
        // Movie.
        //---------------------------------------

        #if ENABLE_CRIWARE_SOFDEC
        private void DrawMovieAssetConfigGUI(CriAssetConfig instance)
        {
            if (EditorLayoutTools.Header("Movie", "CriAssetConfigInspector-Movie"))
            {
                using (new ContentsScope())
                {
                    var change = DrawAssetImportInfoGUI(instance.MovieImportInfo);

                    if (change)
                    {
                        UnityEditorUtility.RegisterUndo("CriAssetConfigInspector Undo", instance);
                    }
                }
            }

            GUILayout.Space(4f);
        }