Exemple #1
0
 internal void SelectAssetsInGroupEditor(IList <AddressableAssetEntry> entries)
 {
     if (m_GroupEditor == null)
     {
         m_GroupEditor = new AddressableAssetsSettingsGroupEditor(this);
     }
     m_GroupEditor.SelectEntries(entries);
 }
Exemple #2
0
        public AddressableAssetEntryTreeView(TreeViewState state, MultiColumnHeaderState mchs, AddressableAssetsSettingsGroupEditor ed) : base(state, new MultiColumnHeader(mchs))
        {
            showBorder = true;
            m_Editor   = ed;
            columnIndexForTreeFoldouts        = 0;
            multiColumnHeader.sortingChanged += OnSortingChanged;

            BuiltinSceneCache.sceneListChanged += OnScenesChanged;
        }
Exemple #3
0
        public void OnGUI()
        {
            if (AddressableAssetSettingsDefaultObject.Settings == null)
            {
                GUILayout.Space(50);
                if (GUILayout.Button("Create Addressables Settings"))
                {
                    m_GroupEditor = null;
                    AddressableAssetSettingsDefaultObject.Settings = AddressableAssetSettings.Create(AddressableAssetSettingsDefaultObject.kDefaultConfigFolder, AddressableAssetSettingsDefaultObject.kDefaultConfigAssetName, true, true);
                }
                //if (GUILayout.Button("Import Addressables Settings"))
                //{
                //    m_GroupEditor = null;
                //    var path = EditorUtility.OpenFilePanel("Addressables Settings Object", AddressableAssetSettingsDefaultObject.kDefaultConfigFolder, "asset");
                //    if (!string.IsNullOrEmpty(path))
                //    {
                //        var i = path.ToLower().IndexOf("/assets/");
                //        if (i > 0)
                //        {
                //            path = path.Substring(i + 1);
                //            Addressables.LogFormat("Loading Addressables Settings from {0}", path);
                //            var obj = AssetDatabase.LoadAssetAtPath<AddressableAssetSettings>(path);
                //            if (obj != null)
                //                AddressableAssetSettingsDefaultObject.Settings = obj;
                //            else
                //                Debug.LogWarning("Unable to load asset settings from: "
                //                                 + path
                //                                 + "\nPlease ensure the location included in the project directory."
                //                );
                //        }
                //    }
                //}
                GUILayout.Space(20);
                GUILayout.BeginHorizontal();
                GUILayout.Space(50);
                UnityEngine.GUI.skin.label.wordWrap = true;
                GUILayout.Label("Click the \"Create\" button above or simply drag an asset into this window to start using Addressables.  Once you begin, the Addressables system will save some assets to your project to keep up with its data");
                GUILayout.Space(50);
                GUILayout.EndHorizontal();
                switch (Event.current.type)
                {
                case EventType.DragPerform:
                    DragAndDrop.visualMode = DragAndDropVisualMode.Copy;
                    foreach (var path in DragAndDrop.paths)
                    {
                        if (AddressableAssetUtility.IsPathValidForEntry(path))
                        {
                            var guid = AssetDatabase.AssetPathToGUID(path);
                            if (!string.IsNullOrEmpty(guid))
                            {
                                if (AddressableAssetSettingsDefaultObject.Settings == null)
                                {
                                    AddressableAssetSettingsDefaultObject.Settings = AddressableAssetSettings.Create(AddressableAssetSettingsDefaultObject.kDefaultConfigFolder, AddressableAssetSettingsDefaultObject.kDefaultConfigAssetName, true, true);
                                }
                                Undo.RecordObject(AddressableAssetSettingsDefaultObject.Settings, "AddressableAssetSettings");
                                AddressableAssetSettingsDefaultObject.Settings.CreateOrMoveEntry(guid, AddressableAssetSettingsDefaultObject.Settings.DefaultGroup);
                            }
                        }
                    }
                    break;

                case EventType.DragUpdated:
                case EventType.DragExited:
                    DragAndDrop.visualMode = DragAndDropVisualMode.Copy;
                    break;
                }
            }
            else
            {
                Rect contentRect = new Rect(0, 0, position.width, position.height);

                if (m_GroupEditor == null)
                {
                    m_GroupEditor = new AddressableAssetsSettingsGroupEditor(this);
                    m_GroupEditor.OnEnable();
                }
                if (m_GroupEditor.OnGUI(contentRect))
                {
                    Repaint();
                }
            }
        }