Ejemplo n.º 1
0
    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();
    }
Ejemplo n.º 2
0
    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();
    }
Ejemplo n.º 3
0
 private bool TestFilter(string type)
 {
     return(FilterUI.TestFilter(m_FilterUI.searchQuery, type));
 }
Ejemplo n.º 4
0
    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();
    }