public override void Setup() { base.Setup(); var contentPrefab = U.Object.Instantiate(m_ContentPrefab, m_WorkspaceUI.sceneContainer, false); m_ProjectUI = contentPrefab.GetComponent <ProjectUI>(); var filterPrefab = U.Object.Instantiate(m_FilterPrefab, m_WorkspaceUI.frontPanel, false); m_FilterUI = filterPrefab.GetComponent <FilterUI>(); var sliderPrefab = U.Object.Instantiate(m_SliderPrefab, m_WorkspaceUI.frontPanel, false); var zoomSlider = sliderPrefab.GetComponent <ZoomSliderUI>(); zoomSlider.zoomSlider.minValue = kMinScale; zoomSlider.zoomSlider.maxValue = kMaxScale; zoomSlider.zoomSlider.value = m_ProjectUI.assetListView.scaleFactor; zoomSlider.sliding += Scale; m_ProjectUI.folderListView.selectFolder = SelectFolder; var assetListView = m_ProjectUI.assetListView; assetListView.testFilter = TestFilter; assetListView.placeObject = placeObject; assetListView.getPreviewOriginForRayOrigin = getPreviewOriginForRayOrigin; assetListView.positionPreview = positionPreview; #if UNITY_EDITOR EditorApplication.projectWindowChanged += SetupFolderList; SetupFolderList(); #else Debug.LogWarning("Project workspace does not work in builds"); return; #endif var scrollHandles = new[] { m_ProjectUI.folderScrollHandle, m_ProjectUI.assetScrollHandle }; foreach (var handle in scrollHandles) { // Scroll Handle shouldn't move on bounds change handle.transform.parent = m_WorkspaceUI.sceneContainer; handle.dragStarted += OnScrollDragStarted; handle.dragging += OnScrollDragging; handle.dragEnded += OnScrollDragEnded; handle.hoverStarted += OnScrollHoverStarted; handle.hoverEnded += OnScrollHoverEnded; } // Propagate initial bounds OnBoundsChanged(); }
public override void Setup() { // Initial bounds must be set before the base.Setup() is called minBounds = new Vector3(0.375f, kMinBounds.y, 0.5f); m_CustomStartingBounds = minBounds; base.Setup(); var contentPrefab = U.Object.Instantiate(m_ContentPrefab, m_WorkspaceUI.sceneContainer, false); m_HierarchyUI = contentPrefab.GetComponent <HierarchyUI>(); hierarchyData = m_HierarchyData; m_FilterUI = U.Object.Instantiate(m_FilterPrefab, m_WorkspaceUI.frontPanel, false).GetComponent <FilterUI>(); foreach (var mb in m_FilterUI.GetComponentsInChildren <MonoBehaviour>()) { connectInterfaces(mb); } m_FilterUI.filterList = m_FilterList; var hierarchyListView = m_HierarchyUI.listView; hierarchyListView.selectRow = SelectRow; var handle = m_HierarchyUI.scrollHandle; // Scroll Handle shouldn't move on bounds change handle.transform.parent = m_WorkspaceUI.sceneContainer; handle.dragStarted += OnScrollDragStarted; handle.dragging += OnScrollDragging; handle.dragEnded += OnScrollDragEnded; // Hookup highlighting calls handle.dragStarted += OnScrollPanelDragHighlightBegin; handle.dragEnded += OnScrollPanelDragHighlightEnd; handle.hoverStarted += OnScrollPanelHoverHighlightBegin; handle.hoverEnded += OnScrollPanelHoverHighlightEnd; // Assign highlight references m_HighlightContainer = m_HierarchyUI.highlight.transform.parent.transform; // Propagate initial bounds OnBoundsChanged(); }
private bool TestFilter(string type) { return(FilterUI.TestFilter(m_FilterUI.searchQuery, type)); }
public override void Setup() { // Initial bounds must be set before the base.Setup() is called minBounds = new Vector3(kMinBounds.x, kMinBounds.y, 0.5f); m_CustomStartingBounds = minBounds; base.Setup(); topPanelDividerOffset = -0.2875f; // enable & position the top-divider(mask) slightly to the left of workspace center var contentPrefab = U.Object.Instantiate(m_ContentPrefab, m_WorkspaceUI.sceneContainer, false); m_ProjectUI = contentPrefab.GetComponent <ProjectUI>(); var assetGridView = m_ProjectUI.assetGridView; assetGridView.testFilter = TestFilter; assetGridView.data = new List <AssetData>(); connectInterfaces(assetGridView); var folderListView = m_ProjectUI.folderListView; folderListView.selectFolder = SelectFolder; folderData = m_FolderData; m_FilterUI = U.Object.Instantiate(m_FilterPrefab, m_WorkspaceUI.frontPanel, false).GetComponent <FilterUI>(); foreach (var mb in m_FilterUI.GetComponentsInChildren <MonoBehaviour>()) { connectInterfaces(mb); } filterList = m_FilterList; var sliderPrefab = U.Object.Instantiate(m_SliderPrefab, m_WorkspaceUI.frontPanel, false); var zoomSlider = sliderPrefab.GetComponent <ZoomSliderUI>(); zoomSlider.zoomSlider.minValue = kMinScale; zoomSlider.zoomSlider.maxValue = kMaxScale; zoomSlider.zoomSlider.value = m_ProjectUI.assetGridView.scaleFactor; zoomSlider.sliding += Scale; foreach (var mb in zoomSlider.GetComponentsInChildren <MonoBehaviour>()) { connectInterfaces(mb); } var scrollHandles = new[] { m_ProjectUI.folderScrollHandle, m_ProjectUI.assetScrollHandle }; foreach (var handle in scrollHandles) { // Scroll Handle shouldn't move on bounds change handle.transform.parent = m_WorkspaceUI.sceneContainer; handle.dragStarted += OnScrollDragStarted; handle.dragging += OnScrollDragging; handle.dragEnded += OnScrollDragEnded; } // Hookup highlighting calls m_ProjectUI.assetScrollHandle.dragStarted += OnAssetGridDragHighlightBegin; m_ProjectUI.assetScrollHandle.dragEnded += OnAssetGridDragHighlightEnd; m_ProjectUI.assetScrollHandle.hoverStarted += OnAssetGridHoverHighlightBegin; m_ProjectUI.assetScrollHandle.hoverEnded += OnAssetGridHoverHighlightEnd; m_ProjectUI.folderScrollHandle.dragStarted += OnFolderPanelDragHighlightBegin; m_ProjectUI.folderScrollHandle.dragEnded += OnFolderPanelDragHighlightEnd; m_ProjectUI.folderScrollHandle.hoverStarted += OnFolderPanelHoverHighlightBegin; m_ProjectUI.folderScrollHandle.hoverEnded += OnFolderPanelHoverHighlightEnd; // Assign highlight references m_FolderPanelHighlightContainer = m_ProjectUI.folderPanelHighlight.transform.parent.transform; m_AssetGridHighlightContainer = m_ProjectUI.assetGridHighlight.transform.parent.transform; // Propagate initial bounds OnBoundsChanged(); }