private void Start() { m_parentDialog = GetComponentInParent <Dialog>(); m_parentDialog.Ok += OnOk; m_parentDialog.OkText = m_localization.GetString("ID_RTEditor_SaveAssetsDialog_Save", "Save"); m_parentDialog.IsOkVisible = true; m_parentDialog.CancelText = m_localization.GetString("ID_RTEditor_SaveAssetsDialog_Cancel", "Cancel"); m_parentDialog.IsCancelVisible = true; m_treeView = GetComponentInChildren <VirtualizingTreeView>(); m_windowManager = IOC.Resolve <IWindowManager>(); m_treeView.ItemDataBinding += OnItemDataBinding; m_treeView.ItemExpanding += OnItemExpanding; m_treeView.SelectionChanged += OnSelectionChanged; m_treeView.ItemDoubleClick += OnItemDoubleClick; m_treeView.CanDrag = false; m_treeView.CanEdit = false; m_treeView.CanUnselectAll = false; m_treeView.CanRemove = false; m_project = IOC.Resolve <IProject>(); if (m_project == null) { Debug.LogError("ProjectManager.Instance is null"); return; } m_treeView.Items = new[] { m_project.Root }; m_treeView.SelectedItem = m_project.Root; m_treeView.Expand(m_project.Root); Input.ActivateInputField(); }
protected override void AwakeOverride() { base.AwakeOverride(); if (!TreeViewPrefab) { Debug.LogError("Set TreeViewPrefab field"); return; } m_treeView = Instantiate(TreeViewPrefab).GetComponent <VirtualizingTreeView>(); m_treeView.transform.SetParent(transform, false); //m_treeView.RemoveKey = KeyCode.None; m_treeView.ItemDataBinding += OnItemDataBinding; m_treeView.SelectionChanged += OnSelectionChanged; m_treeView.ItemsRemoved += OnItemsRemoved; m_treeView.ItemExpanding += OnItemExpanding; m_treeView.ItemBeginDrag += OnItemBeginDrag; m_treeView.ItemBeginDrop += OnItemBeginDrop; m_treeView.ItemDrop += OnItemDrop; m_treeView.ItemEndDrag += OnItemEndDrag; m_treeView.ItemDoubleClick += OnItemDoubleClicked; m_treeView.ItemBeginEdit += OnItemBeginEdit; m_treeView.ItemEndEdit += OnItemEndEdit; m_project = RTSL2Deps.Get.Project; m_typeMap = RTSL2Deps.Get.TypeMap; }
private void Start() { ExtToIcon(); m_treeView = GetComponentInChildren <VirtualizingTreeView>(); m_windowManager = IOC.Resolve <IWindowManager>(); m_treeView.ItemDataBinding += OnItemDataBinding; m_treeView.SelectionChanged += OnSelectionChanged; m_treeView.ItemDoubleClick += OnItemDoubleClick; m_treeView.CanDrag = false; m_treeView.CanEdit = false; m_treeView.CanUnselectAll = false; m_treeView.CanRemove = false; if (m_allowedExt != null) { m_allowedExtHs = new HashSet <string>(m_allowedExt.Distinct()); } if (string.IsNullOrEmpty(CurrentDir)) { CurrentDir = NormalizePath(Application.persistentDataPath); } else { m_currentDir = NormalizePath(m_currentDir); BindDataItems(m_currentDir); } }
protected override void AwakeOverride() { base.AwakeOverride(); m_project = RTSL2Deps.Get.Project; m_treeView = Instantiate(TreeViewPrefab).GetComponent <VirtualizingTreeView>(); m_treeView.CanReorder = false; m_treeView.CanReparent = ShowRootFolder; m_treeView.CanUnselectAll = false; m_treeView.CanDrag = ShowRootFolder; m_treeView.CanRemove = false; m_treeView.transform.SetParent(transform, false); m_treeView.SelectionChanged += OnSelectionChanged; m_treeView.ItemDataBinding += OnItemDataBinding; m_treeView.ItemExpanding += OnItemExpanding; m_treeView.ItemsRemoving += OnItemsRemoving; m_treeView.ItemsRemoved += OnItemsRemoved; m_treeView.ItemBeginEdit += OnItemBeginEdit; m_treeView.ItemEndEdit += OnItemEndEdit; m_treeView.ItemBeginDrop += OnItemBeginDrop; m_treeView.ItemDrop += OnItemDrop; m_treeView.ItemDoubleClick += OnItemDoubleClick; }
protected override void AwakeOverride() { base.AwakeOverride(); m_typeMap = RTSL2Deps.Get.TypeMap; m_assetDB = RTSL2Deps.Get.AssetDB; m_project = RTSL2Deps.Get.Project; if (!ListBoxPrefab) { Debug.LogError("Set ListBoxPrefab field"); return; } m_listBox = GetComponentInChildren <VirtualizingTreeView>(); if (m_listBox == null) { m_listBox = Instantiate(ListBoxPrefab).GetComponent <VirtualizingTreeView>(); m_listBox.CanDrag = true; m_listBox.CanReorder = false; //m_listBox.MultiselectKey = KeyCode.None; // m_listBox.RangeselectKey = KeyCode.None; //m_listBox.RemoveKey = KeyCode.None; m_listBox.transform.SetParent(transform, false); } m_listBox.ItemDataBinding += OnItemDataBinding; }
protected override void AwakeOverride() { WindowType = RuntimeWindowType.ProjectFolder; base.AwakeOverride(); if (!ListBoxPrefab) { Debug.LogError("Set ListBoxPrefab field"); return; } m_project = IOC.Resolve <IProject>(); m_listBox = GetComponentInChildren <VirtualizingTreeView>(); if (m_listBox == null) { m_listBox = Instantiate(ListBoxPrefab).GetComponent <VirtualizingTreeView>(); m_listBox.CanDrag = true; m_listBox.CanReorder = false; //m_listBox.MultiselectKey = KeyCode.None; // m_listBox.RangeselectKey = KeyCode.None; //m_listBox.RemoveKey = KeyCode.None; m_listBox.transform.SetParent(transform, false); } m_listBox.ItemDataBinding += OnItemDataBinding; m_listBox.ItemBeginDrag += OnItemBeginDrag; m_listBox.ItemDragEnter += OnItemDragEnter; m_listBox.ItemDrag += OnItemDrag; m_listBox.ItemDragExit += OnItemDragExit; m_listBox.ItemDrop += OnItemDrop; m_listBox.ItemEndDrag += OnItemEndDrag; }
private void Start() { m_parentPopup = GetComponentInParent <PopupWindow>(); if (m_parentPopup != null) { m_parentPopup.OK.AddListener(OnOK); } m_treeView = GetComponentInChildren <VirtualizingTreeView>(); if (m_treeView == null) { m_treeView = Instantiate(TreeViewPrefab); m_treeView.transform.SetParent(transform, false); } m_treeView.ItemDataBinding += OnItemDataBinding; m_treeView.ItemDoubleClick += OnItemDoubleClick; m_treeView.CanDrag = false; m_treeView.CanEdit = false; m_treeView.CanUnselectAll = false; m_project = IOC.Resolve <IProject>(); m_treeView.Items = m_project.AssetLibraries; m_treeView.SelectedIndex = 0; }
protected virtual void Awake() { m_localization = IOC.Resolve <ILocalization>(); m_hierarchyView = GetComponent <HierarchyView>(); if (!m_hierarchyView.TreeViewPrefab) { Debug.LogError("Set TreeViewPrefab field"); return; } m_project = IOC.Resolve <IProject>(); m_editor = IOC.Resolve <IRuntimeEditor>(); m_filterInput = m_hierarchyView.FilterInput; if (m_filterInput != null) { m_filterInput.onValueChanged.AddListener(OnFiltering); } Transform parent = m_hierarchyView.TreePanel != null ? m_hierarchyView.TreePanel : transform; m_treeView = Instantiate(m_hierarchyView.TreeViewPrefab, parent).GetComponent <VirtualizingTreeView>(); m_treeView.name = "HierarchyTreeView"; m_treeView.CanSelectAll = false; m_treeView.SelectOnPointerUp = true; RectTransform rt = (RectTransform)m_treeView.transform; rt.Stretch(); m_treeView.ItemDataBinding += OnItemDataBinding; m_treeView.SelectionChanged += OnSelectionChanged; m_treeView.ItemsRemoving += OnItemRemoving; m_treeView.ItemsRemoved += OnItemsRemoved; m_treeView.ItemExpanding += OnItemExpanding; m_treeView.ItemBeginDrag += OnItemBeginDrag; m_treeView.ItemBeginDrop += OnItemBeginDrop; m_treeView.ItemDrag += OnItemDrag; m_treeView.ItemDrop += OnItemDrop; m_treeView.ItemEndDrag += OnItemEndDrag; m_treeView.ItemDragEnter += OnItemDragEnter; m_treeView.ItemDragExit += OnItemDragExit; m_treeView.ItemDoubleClick += OnItemDoubleClicked; m_treeView.ItemClick += OnItemClick; m_treeView.ItemBeginEdit += OnItemBeginEdit; m_treeView.ItemEndEdit += OnItemEndEdit; m_treeView.PointerEnter += OnTreeViewPointerEnter; m_treeView.PointerExit += OnTreeViewPointerExit; m_window = GetComponent <RuntimeWindow>(); m_window.DragEnterEvent += OnDragEnter; m_window.DragLeaveEvent += OnDragLeave; m_window.DragEvent += OnDrag; m_window.DropEvent += OnDrop; }
private void UpdateDetailsList(Terrain terrain) { VirtualizingTreeView detailsList = m_detailsList; detailsList.Items = terrain.terrainData.detailPrototypes; if (detailsList.Items == null || !detailsList.Items.OfType <DetailPrototype>().Contains(detailsList.SelectedItem)) { detailsList.SelectedItem = null; } }
private void UpdateTreeList(Terrain terrain) { VirtualizingTreeView treeList = m_treeList; treeList.Items = terrain.terrainData.treePrototypes; if (treeList.Items == null || !treeList.Items.OfType <TreePrototype>().Contains(treeList.SelectedItem)) { treeList.SelectedItem = null; } }
private void Start() { m_treeViewItem = GetComponentInParent <VirtualizingTreeViewItem>(); m_treeView = GetComponentInParent <VirtualizingTreeView>(); m_toggle = GetComponent <Toggle>(); m_toggle.isOn = m_treeView.IsItemSelected(m_treeViewItem.Item); m_toggle.onValueChanged.AddListener(OnValueChanged); VirtualizingItemContainer.Selected += OnSelected; VirtualizingItemContainer.Unselected += OnUnselected; }
protected override void AwakeOverride() { WindowType = RuntimeWindowType.ProjectTree; base.AwakeOverride(); if (Editor == null) { Debug.LogError("Editor is null"); return; } if (TreeViewPrefab == null) { Debug.LogError("TreeViewPrefab is null"); return; } m_project = IOC.Resolve <IProject>(); m_wm = IOC.Resolve <IWindowManager>(); m_localization = IOC.Resolve <ILocalization>(); m_treeView = Instantiate(TreeViewPrefab, transform).GetComponent <VirtualizingTreeView>(); m_treeView.name = "ProjectTreeView"; m_treeView.CanReorder = false; m_treeView.CanReparent = ShowRootFolder; m_treeView.CanUnselectAll = false; m_treeView.CanDrag = ShowRootFolder; m_treeView.CanRemove = false; m_treeView.CanSelectAll = false; m_treeView.SelectionChanged += OnSelectionChanged; m_treeView.ItemDataBinding += OnItemDataBinding; m_treeView.ItemExpanding += OnItemExpanding; m_treeView.ItemsRemoving += OnItemsRemoving; m_treeView.ItemsRemoved += OnItemsRemoved; m_treeView.ItemBeginEdit += OnItemBeginEdit; m_treeView.ItemEndEdit += OnItemEndEdit; m_treeView.ItemBeginDrag += OnItemBeginDrag; m_treeView.ItemBeginDrop += OnItemBeginDrop; m_treeView.ItemDragEnter += OnItemDragEnter; m_treeView.ItemDrag += OnItemDrag; m_treeView.ItemDragExit += OnItemDragExit; m_treeView.ItemDrop += OnItemDrop; m_treeView.ItemEndDrag += OnItemEndDrag; m_treeView.ItemDoubleClick += OnItemDoubleClick; m_treeView.ItemClick += OnItemClick; if (!GetComponent <ProjectTreeViewInput>()) { gameObject.AddComponent <ProjectTreeViewInput>(); } IOC.RegisterFallback <IProjectTree>(this); }
protected override void AwakeOverride() { WindowType = RuntimeWindowType.ProjectFolder; base.AwakeOverride(); if (!ListBoxPrefab) { Debug.LogError("Set ListBoxPrefab field"); return; } m_project = IOC.Resolve <IProject>(); m_windowManager = IOC.Resolve <IWindowManager>(); m_localization = IOC.Resolve <ILocalization>(); m_listBox = GetComponentInChildren <VirtualizingTreeView>(); if (m_listBox == null) { m_listBox = Instantiate(ListBoxPrefab, transform).GetComponent <VirtualizingTreeView>(); m_listBox.name = "AssetsListBox"; } m_listBox.CanDrag = true; m_listBox.CanReorder = false; m_listBox.SelectOnPointerUp = true; m_listBox.CanRemove = false; m_listBox.CanSelectAll = false; m_listBox.ItemDataBinding += OnItemDataBinding; m_listBox.ItemBeginDrag += OnItemBeginDrag; m_listBox.ItemDragEnter += OnItemDragEnter; m_listBox.ItemDrag += OnItemDrag; m_listBox.ItemDragExit += OnItemDragExit; m_listBox.ItemDrop += OnItemDrop; m_listBox.ItemEndDrag += OnItemEndDrag; m_listBox.ItemsRemoving += OnItemRemoving; m_listBox.ItemsRemoved += OnItemRemoved; m_listBox.ItemDoubleClick += OnItemDoubleClick; m_listBox.ItemBeginEdit += OnItemBeginEdit; m_listBox.ItemEndEdit += OnItemEndEdit; m_listBox.SelectionChanged += OnSelectionChanged; m_listBox.ItemClick += OnItemClick; m_listBox.Click += OnListBoxClick; Editor.Selection.SelectionChanged += EditorSelectionChanged; Editor.Object.NameChanged += OnNameChanged; if (!GetComponent <ProjectFolderViewInput>()) { gameObject.AddComponent <ProjectFolderViewInput>(); } IOC.RegisterFallback <IProjectFolder>(this); }
protected virtual void Awake() { m_projectTreeView = GetComponent <ProjectTreeView>(); m_showRootFolder = m_projectTreeView.ShowRootFolder; m_folderIcon = m_projectTreeView.FolderIcon; m_editor = IOC.Resolve <IRuntimeEditor>(); if (Editor == null) { Debug.LogError("Editor is null"); return; } m_project = IOC.Resolve <IProject>(); m_wm = IOC.Resolve <IWindowManager>(); m_localization = IOC.Resolve <ILocalization>(); m_treeView = Instantiate(m_projectTreeView.TreeViewPrefab, transform).GetComponent <VirtualizingTreeView>(); m_treeView.name = "ProjectTreeView"; m_treeView.CanReorder = false; m_treeView.CanReparent = ShowRootFolder; m_treeView.CanUnselectAll = false; m_treeView.CanDrag = ShowRootFolder; m_treeView.CanRemove = false; m_treeView.CanSelectAll = false; m_treeView.SelectionChanged += OnSelectionChanged; m_treeView.ItemDataBinding += OnItemDataBinding; m_treeView.ItemExpanding += OnItemExpanding; m_treeView.ItemsRemoving += OnItemsRemoving; m_treeView.ItemsRemoved += OnItemsRemoved; m_treeView.ItemBeginEdit += OnItemBeginEdit; m_treeView.ItemEndEdit += OnItemEndEdit; m_treeView.ItemBeginDrag += OnItemBeginDrag; m_treeView.ItemBeginDrop += OnItemBeginDrop; m_treeView.ItemDragEnter += OnItemDragEnter; m_treeView.ItemDrag += OnItemDrag; m_treeView.ItemDragExit += OnItemDragExit; m_treeView.ItemDrop += OnItemDrop; m_treeView.ItemEndDrag += OnItemEndDrag; m_treeView.ItemDoubleClick += OnItemDoubleClick; m_treeView.ItemClick += OnItemClick; m_projectTreeView.DragEnterEvent += OnDragEnter; m_projectTreeView.DragLeaveEvent += OnDragLeave; m_projectTreeView.DragEvent += OnDrag; m_projectTreeView.DropEvent += OnDrop; IOC.RegisterFallback <IProjectTree>(this); }
public static void UpdateLayersList(Terrain terrain) { TerrainLayerEditor layerEditor = IOC.Resolve <TerrainLayerEditor>("TerrainLayerEditor"); if (layerEditor != null) { VirtualizingTreeView layerList = layerEditor.m_layersList; layerList.Items = terrain.terrainData.terrainLayers; if (layerList.Items == null || !layerList.Items.OfType <TerrainLayer>().Contains(layerList.SelectedItem)) { layerList.SelectedItem = null; } } }
private void Start() { m_editor = IOC.Resolve <IRTE>(); m_parentPopup = GetComponentInParent <PopupWindow>(); if (m_parentPopup != null) { m_parentPopup.OK.AddListener(OnOK); } m_treeView = GetComponentInChildren <VirtualizingTreeView>(); if (m_treeView == null) { m_treeView = Instantiate(TreeViewPrefab); m_treeView.transform.SetParent(transform, false); } m_treeView.ItemDataBinding += OnItemDataBinding; m_treeView.ItemDoubleClick += OnItemDoubleClick; m_treeView.ItemExpanding += OnItemExpanding; m_treeView.CanDrag = false; m_treeView.CanEdit = false; m_project = IOC.Resolve <IProject>(); m_editor.IsBusy = true; m_project.LoadAssetLibrary(Array.IndexOf(m_project.AssetLibraries, m_selectedAssetLibrary), (error, root) => { m_editor.IsBusy = false; if (error.HasError) { PopupWindow.Show("Unable to load AssetLibrary", error.ErrorText, "OK", arg => { m_parentPopup.Close(false); }); } else { m_treeView.Items = new[] { root }; m_treeView.SelectedItems = root.Flatten(false); ExpandAll(root); IResourcePreviewUtility resourcePreview = IOC.Resolve <IResourcePreviewUtility>(); StartCoroutine(ProjectItemView.CoCreatePreviews(root.Flatten(false), m_project, resourcePreview)); } }); }
protected virtual void Awake() { m_projectFolderView = GetComponent <ProjectFolderView>(); m_editor = IOC.Resolve <IRuntimeEditor>(); m_project = IOC.Resolve <IProject>(); m_windowManager = IOC.Resolve <IWindowManager>(); m_localization = IOC.Resolve <ILocalization>(); m_listBox = GetComponentInChildren <VirtualizingTreeView>(); if (m_listBox == null) { m_listBox = Instantiate(m_projectFolderView.ListBoxPrefab, transform).GetComponent <VirtualizingTreeView>(); m_listBox.name = "AssetsListBox"; } m_listBox.CanDrag = true; m_listBox.CanReorder = false; m_listBox.SelectOnPointerUp = true; m_listBox.CanRemove = false; m_listBox.CanSelectAll = false; m_listBox.ItemDataBinding += OnItemDataBinding; m_listBox.ItemBeginDrag += OnItemBeginDrag; m_listBox.ItemDragEnter += OnItemDragEnter; m_listBox.ItemDrag += OnItemDrag; m_listBox.ItemDragExit += OnItemDragExit; m_listBox.ItemDrop += OnItemDrop; m_listBox.ItemEndDrag += OnItemEndDrag; m_listBox.ItemsRemoving += OnItemRemoving; m_listBox.ItemsRemoved += OnItemRemoved; m_listBox.ItemDoubleClick += OnItemDoubleClick; m_listBox.ItemBeginEdit += OnItemBeginEdit; m_listBox.ItemEndEdit += OnItemEndEdit; m_listBox.SelectionChanged += OnSelectionChanged; m_listBox.ItemClick += OnItemClick; m_listBox.Click += OnListBoxClick; Editor.Selection.SelectionChanged += EditorSelectionChanged; Editor.Object.NameChanged += OnNameChanged; m_projectFolderView.DragEnterEvent += OnDragEnter; m_projectFolderView.DragLeaveEvent += OnDragLeave; m_projectFolderView.DragEvent += OnDrag; m_projectFolderView.DropEvent += OnDrop; IOC.RegisterFallback <IProjectFolder>(this); }
private void OnOpened() { Type[] editableTypes = IOC.Resolve <IEditorsMap>().GetEditableTypes(); m_filter = GetComponentInChildren <InputField>(); if (m_filter != null) { m_filter.onValueChanged.AddListener(OnFilterValueChanged); m_filter.text = m_filterText; m_filter.Select(); } m_treeView = GetComponentInChildren <VirtualizingTreeView>(); m_treeView.ItemDataBinding += OnItemDataBinding; m_treeView.SelectionChanged += OnSelectionChanged; m_cache = editableTypes.Where(t => t.IsSubclassOf(typeof(Component))).OrderBy(t => t.Name).ToArray(); InstantApply(m_filterText); }
protected override void AwakeOverride() { WindowType = RuntimeWindowType.Hierarchy; base.AwakeOverride(); if (!TreeViewPrefab) { Debug.LogError("Set TreeViewPrefab field"); return; } m_project = IOC.Resolve <IProject>(); m_editor = IOC.Resolve <IRuntimeEditor>(); m_treeView = Instantiate(TreeViewPrefab, transform).GetComponent <VirtualizingTreeView>(); m_treeView.name = "HierarchyTreeView"; m_treeView.CanSelectAll = false; m_treeView.SelectOnPointerUp = true; RectTransform rt = (RectTransform)m_treeView.transform; rt.Stretch(); m_treeView.ItemDataBinding += OnItemDataBinding; m_treeView.SelectionChanged += OnSelectionChanged; m_treeView.ItemsRemoved += OnItemsRemoved; m_treeView.ItemExpanding += OnItemExpanding; m_treeView.ItemBeginDrag += OnItemBeginDrag; m_treeView.ItemBeginDrop += OnItemBeginDrop; m_treeView.ItemDrag += OnItemDrag; m_treeView.ItemDrop += OnItemDrop; m_treeView.ItemEndDrag += OnItemEndDrag; m_treeView.ItemDragEnter += OnItemDragEnter; m_treeView.ItemDragExit += OnItemDragExit; m_treeView.ItemDoubleClick += OnItemDoubleClicked; m_treeView.ItemBeginEdit += OnItemBeginEdit; m_treeView.ItemEndEdit += OnItemEndEdit; m_treeView.PointerEnter += OnTreeViewPointerEnter; m_treeView.PointerExit += OnTreeViewPointerExit; if (!GetComponent <HierarchyViewInput>()) { gameObject.AddComponent <HierarchyViewInput>(); } }
protected override void AwakeOverride() { WindowType = RuntimeWindowType.ProjectTree; base.AwakeOverride(); if (Editor == null) { Debug.LogError("Editor is null"); return; } if (TreeViewPrefab == null) { Debug.LogError("TreeViewPrefab is null"); return; } m_project = IOC.Resolve <IProject>(); m_treeView = Instantiate(TreeViewPrefab).GetComponent <VirtualizingTreeView>(); m_treeView.CanReorder = false; m_treeView.CanReparent = ShowRootFolder; m_treeView.CanUnselectAll = false; m_treeView.CanDrag = ShowRootFolder; m_treeView.CanRemove = false; m_treeView.transform.SetParent(transform, false); m_treeView.SelectionChanged += OnSelectionChanged; m_treeView.ItemDataBinding += OnItemDataBinding; m_treeView.ItemExpanding += OnItemExpanding; m_treeView.ItemsRemoving += OnItemsRemoving; m_treeView.ItemsRemoved += OnItemsRemoved; m_treeView.ItemBeginEdit += OnItemBeginEdit; m_treeView.ItemEndEdit += OnItemEndEdit; m_treeView.ItemBeginDrop += OnItemBeginDrop; m_treeView.ItemDrop += OnItemDrop; m_treeView.ItemDoubleClick += OnItemDoubleClick; }
private void Start() { m_parentDialog = GetComponentInParent <Dialog>(); m_parentDialog.IsOkVisible = true; m_parentDialog.OkText = "Import"; m_parentDialog.IsCancelVisible = true; m_parentDialog.CancelText = "Cancel"; m_parentDialog.Ok += OnOk; m_parentDialog.Cancel += OnCancel; m_windowManager = IOC.Resolve <IWindowManager>(); m_treeView = GetComponentInChildren <VirtualizingTreeView>(); if (m_treeView == null) { m_treeView = Instantiate(TreeViewPrefab, transform); m_treeView.name = "ImportAssetsTreeView"; } m_treeView.ItemDataBinding += OnItemDataBinding; m_treeView.ItemExpanding += OnItemExpanding; m_treeView.CanDrag = false; m_treeView.CanEdit = false; m_project = IOC.Resolve <IProject>(); Editor.IsBusy = true; m_project.LoadImportItems(m_selectedLibrary, m_isBuiltIn, (error, root) => { m_root = root; if (error.HasError) { Editor.IsBusy = false; m_windowManager.MessageBox("Unable to load AssetLibrary", error.ErrorText, (sender, arg) => { m_parentDialog.Close(false); }); } else { if (root.Children != null && root.Children.Count > 0) { if (m_txtNoItemsToImport != null) { m_txtNoItemsToImport.SetActive(false); } m_treeView.gameObject.SetActive(true); m_treeView.Items = new[] { root }; m_treeView.SelectedItems = root.Flatten(false); ExpandAll(root); Editor.IsBusy = true; IResourcePreviewUtility resourcePreview = IOC.Resolve <IResourcePreviewUtility>(); m_coCreatePreviews = ProjectItemView.CoCreatePreviews(root.Flatten(false), m_project, resourcePreview, () => { m_project.UnloadImportItems(root); Editor.IsBusy = false; m_coCreatePreviews = null; }); StartCoroutine(m_coCreatePreviews); } else { Editor.IsBusy = false; m_parentDialog.IsOkInteractable = false; if (m_txtNoItemsToImport != null) { m_txtNoItemsToImport.SetActive(true); } m_treeView.gameObject.SetActive(false); } } }); }
private void Start() { ExtToIcon(); m_treeView = GetComponentInChildren <VirtualizingTreeView>(); m_windowManager = IOC.Resolve <IWindowManager>(); m_treeView.ItemDataBinding += OnItemDataBinding; m_treeView.SelectionChanged += OnSelectionChanged; m_treeView.ItemDoubleClick += OnItemDoubleClick; m_treeView.CanDrag = false; m_treeView.CanEdit = false; m_treeView.CanUnselectAll = false; m_treeView.CanRemove = false; if (m_allowedExt != null) { m_allowedExtHs = new HashSet <string>(m_allowedExt.Distinct()); } if (string.IsNullOrEmpty(CurrentDir)) { CurrentDir = PlayerPrefs.GetString("Battlehub.FileBrowser.CurrentDir"); } if (string.IsNullOrEmpty(CurrentDir)) { CurrentDir = NormalizePath(Application.persistentDataPath); } else { m_currentDir = NormalizePath(m_currentDir); BindDataItems(m_currentDir); } FileInfo f = new FileInfo(m_currentDir); string currentDrive = Path.GetPathRoot(f.FullName); DriveInfo[] drives = DriveInfo.GetDrives(); List <TMP_Dropdown.OptionData> options = new List <TMP_Dropdown.OptionData>(); int driveIndex = 0; for (int i = 0; i < drives.Length; ++i) { DriveInfo drive = drives[i]; if (!drive.IsReady) { continue; } if (drive.DriveType != DriveType.Fixed && drive.DriveType != DriveType.Removable) { continue; } options.Add(new TMP_Dropdown.OptionData(drive.VolumeLabel)); if (currentDrive == drive.VolumeLabel) { driveIndex = i; } } Drives.onValueChanged.RemoveListener(OnDriveChanged); Drives.options = options; Drives.value = driveIndex; Drives.onValueChanged.AddListener(OnDriveChanged); Input.onValueChanged.AddListener(OnPathChanged); Input.onSubmit.AddListener(OnSubmit); m_started = true; }