Exemple #1
0
        private void DrawLibraryAsset(SceneLibraryAsset asset)
        {
            if (!asset)
            {
                return;
            }

            EditorGUILayout.BeginVertical(EditorStyles.helpBox);
            {
                if (GUILayout.Button(asset.GetLibraryDisplayName(), EditorStyles.boldLabel))
                {
                    EditorGUIUtility.PingObject(asset);
                }

                if (asset.Scenes.IsNullOrEmpty())
                {
                    EditorGUILayout.LabelField("The collection of scenes is empty.");
                }
                else
                {
                    EditorGUILayout.Space();

                    foreach (var info in asset.Scenes)
                    {
                        DrawSceneReferenceMenu(info, info.GetSceneInfoDisplayName(), Color.white);
                    }
                }
            }
            EditorGUILayout.EndVertical();
        }
Exemple #2
0
        internal static string GetLibraryDisplayName(this SceneLibraryAsset libraryAsset)
        {
            if (libraryAsset)
            {
                return(string.IsNullOrWhiteSpace(libraryAsset.Title) ? $"[{libraryAsset.name}]" : $"{libraryAsset.Title} [{libraryAsset.name}]");
            }

            throw new ArgumentNullException(nameof(libraryAsset));
        }
Exemple #3
0
        private static int AssetsComparer(SceneLibraryAsset a, SceneLibraryAsset b)
        {
            var orderCompareResult = a.SortingOrder.CompareTo(b.SortingOrder);

            return(orderCompareResult == default ? string.Compare(a.Title, b.Title, StringComparison.Ordinal) : orderCompareResult);
        }