Beispiel #1
0
        void OnMoveHandleHoverEnded(BaseHandle handle, HandleEventData eventData = default(HandleEventData))
        {
            if (m_Dragging || m_Moving)
            {
                return;
            }

            m_WorkspaceUI.frontHighlightVisible = false;
        }
Beispiel #2
0
        void OnScrollPointerDown(BaseHandle handle, HandleEventData eventData = default(HandleEventData))
        {
            m_Scrolling = true;

            m_WorkspaceUI.topHighlight.visible = true;
            m_WorkspaceUI.amplifyTopHighlight  = false;

            m_PolyUI.gridView.OnScrollStarted();
        }
    private void OnHandleDragStarted(BaseHandle handle, HandleEventData eventData)
    {
        foreach (var h in m_AllHandles)
        {
            h.gameObject.SetActive(h == handle);
        }

        m_Dragging = true;
    }
Beispiel #4
0
        void OnScrollDragStarted(BaseHandle handle, HandleEventData eventData = default(HandleEventData))
        {
            m_Scrolling = true;

            m_WorkspaceUI.topHighlight.visible = true;
            m_WorkspaceUI.amplifyTopHighlight  = false;

            m_HierarchyUI.listView.OnBeginScrolling();
        }
Beispiel #5
0
        protected override void UpdateHandleTip(BaseHandle handle, HandleEventData eventData, bool active)
        {
            if (handle == m_UniformHandle)
            {
                return;
            }

            base.UpdateHandleTip(handle, eventData, active);
        }
Beispiel #6
0
        protected virtual void OnHandleDragging(BaseHandle handle, HandleEventData eventData)
        {
            if (handle.IndexOfDragSource(eventData.rayOrigin) != 0)
            {
                return;
            }

            UpdateHandleTip(handle, eventData, true);
        }
Beispiel #7
0
    private void OnHandleDragEnded(BaseHandle handle, HandleEventData eventData)
    {
        foreach (var h in m_AllHandles)
        {
            h.gameObject.SetActive(true);
        }

        m_Dragging = false;
    }
Beispiel #8
0
        protected virtual void OnDragEnded(BaseHandle handle, HandleEventData eventData)
        {
            m_DragObject = null;

            if (dragEnd != null)
            {
                dragEnd(this.RequestNodeFromRayOrigin(eventData.rayOrigin));
            }
        }
        private void OnHandleDragging(BaseHandle handle, HandleEventData eventData)
        {
            var target = m_Target == null ? transform : m_Target;

            var rayOrigin = eventData.rayOrigin;

            translate(rayOrigin.position + rayOrigin.rotation * m_PositionOffset - target.position);
            rotate(Quaternion.Inverse(target.rotation) * rayOrigin.rotation * m_RotationOffset);
        }
Beispiel #10
0
        protected override void OnDragStarted(BaseHandle handle, HandleEventData eventData)
        {
            base.OnDragStarted(handle, eventData);

            var rayOrigin = eventData.rayOrigin;

            this.AddRayVisibilitySettings(rayOrigin, this, m_IncludeRaySelectForDrop, true);

            var clone     = Instantiate(gameObject, transform.position, transform.rotation, transform.parent);
            var cloneItem = clone.GetComponent <AssetGridItem>();

            if (cloneItem.m_PreviewObjectTransform)
            {
                m_PreviewObjectClone = cloneItem.m_PreviewObjectTransform;

#if UNITY_EDITOR
                var originalPosition = m_PreviewObjectClone.position;
                var originalRotation = m_PreviewObjectClone.rotation;
                var originalScale    = m_PreviewObjectClone.localScale;
                var restoreParent    = m_PreviewObjectClone.parent;
                m_PreviewObjectClone.SetParent(null); // HACK: MergePrefab deactivates the root transform when calling ConnectGameObjectToPrefab, which is EditorVR in this case
                m_PreviewObjectClone = PrefabUtility.ConnectGameObjectToPrefab(m_PreviewObjectClone.gameObject, data.preview).transform;
                m_PreviewObjectClone.SetParent(restoreParent);
                m_PreviewObjectClone.position      = originalPosition;
                m_PreviewObjectClone.rotation      = originalRotation;
                m_PreviewObjectClone.localScale    = originalScale;
                cloneItem.m_PreviewObjectTransform = m_PreviewObjectClone;
#endif

                cloneItem.m_Cube.gameObject.SetActive(false);

                if (cloneItem.m_Icon)
                {
                    cloneItem.m_Icon.gameObject.SetActive(false);
                }

                m_PreviewObjectClone.gameObject.SetActive(true);
                m_PreviewObjectClone.localScale = m_PreviewTargetScale;

                // Destroy label
                ObjectUtils.Destroy(cloneItem.m_TextPanel.gameObject);
            }

            m_DragObject = clone.transform;

            // Disable any SmoothMotion that may be applied to a cloned Asset Grid Item now referencing input device p/r/s
            var smoothMotion = clone.GetComponent <SmoothMotion>();
            if (smoothMotion != null)
            {
                smoothMotion.enabled = false;
            }

            // setup our assignment dependency list with any known types
            AssetDropUtils.AssignmentDependencies.TryGetValue(data.type, out m_AssignmentDependencyTypes);

            StartCoroutine(ShowGrabbedObject());
        }
Beispiel #11
0
        void OnHandleHoverStarted(BaseHandle handle, HandleEventData eventData)
        {
            if (m_HovereringRayOrigins.Count == 0 && m_DragState == null)
            {
                IncreaseFrameThickness();
            }

            m_HovereringRayOrigins.Add(eventData.rayOrigin);
        }
Beispiel #12
0
 void OnScrollHoverEnded(BaseHandle handle, HandleEventData eventData = default(HandleEventData))
 {
     this.StopCoroutine(ref m_HighlightDelayCoroutine);
     if (!m_Scrolling && m_WorkspaceUI.gameObject.activeInHierarchy) // Check active to prevent errors in OnDestroy
     {
         m_WorkspaceUI.topHighlight.visible = false;
         m_WorkspaceUI.amplifyTopHighlight  = false;
     }
 }
Beispiel #13
0
        void OnMoveHandleDragEnded(BaseHandle handle, HandleEventData eventData = default(HandleEventData))
        {
            if (m_Dragging)
            {
                return;
            }

            m_Moving = false;
            m_WorkspaceUI.highlightsVisible = false;
        }
Beispiel #14
0
 private void OnHoverEnded(BaseHandle baseHandle, HandleEventData eventData)
 {
     if (gameObject.activeInHierarchy)
     {
         if (m_TransitionCoroutine != null)
         {
             StopCoroutine(m_TransitionCoroutine);
         }
         m_TransitionCoroutine = StartCoroutine(AnimatePreview(true));
     }
 }
Beispiel #15
0
 void OnScrollDragStarted(BaseHandle handle, HandleEventData eventData = default(HandleEventData))
 {
     if (handle == m_ProjectUI.folderScrollHandle)
     {
         m_ProjectUI.folderListView.OnBeginScrolling();
     }
     else if (handle == m_ProjectUI.assetScrollHandle)
     {
         m_ProjectUI.assetGridView.OnBeginScrolling();
     }
 }
 void OnScrollPointerDown(BaseHandle handle, HandleEventData eventData)
 {
     if (handle == m_ProjectUI.folderScrollHandle)
     {
         m_ProjectUI.folderListView.OnScrollStarted();
     }
     else if (handle == m_ProjectUI.assetScrollHandle)
     {
         m_ProjectUI.assetGridView.OnScrollStarted();
     }
 }
Beispiel #17
0
 void OnScrollDragEnded(BaseHandle handle, HandleEventData eventData)
 {
     if (handle == m_ProjectUI.folderScrollHandle)
     {
         m_ProjectUI.folderListView.OnScrollEnded();
     }
     else if (handle == m_ProjectUI.assetScrollHandle)
     {
         m_ProjectUI.assetGridView.OnScrollEnded();
     }
 }
Beispiel #18
0
 void OnScrollDragging(BaseHandle handle, HandleEventData eventData)
 {
     if (handle == m_ProjectUI.folderScrollHandle)
     {
         m_ProjectUI.folderListView.scrollOffset -= Vector3.Dot(eventData.deltaPosition, handle.transform.forward) / this.GetViewerScale();
     }
     else if (handle == m_ProjectUI.assetScrollHandle)
     {
         m_ProjectUI.assetGridView.scrollOffset -= Vector3.Dot(eventData.deltaPosition, handle.transform.forward) / this.GetViewerScale();
     }
 }
Beispiel #19
0
        void OnHandleDragEnded(BaseHandle handle, HandleEventData eventData)
        {
            foreach (var h in m_AllHandles)
            {
                h.gameObject.SetActive(true);
            }

            OnDragEnded(eventData.rayOrigin);

            dragging = false;
        }
Beispiel #20
0
 protected override void OnGrabDragging(BaseHandle handle, HandleEventData eventData, Vector3 dragStart)
 {
     if (m_HorizontalDrag)
     {
         OnHorizontalDragging(eventData.rayOrigin);
     }
     else
     {
         OnVerticalDragging(eventData.rayOrigin);
     }
 }
Beispiel #21
0
        void OnDraggingFeedForward(BaseHandle handle, HandleEventData eventData)
        {
            var rayOrigin = eventData.rayOrigin;
            var selection = TryGetSelection(rayOrigin);

            // we've just stopped hovering something, stop any highlights
            if (selection == null && m_CachedDropSelection != null)
            {
                StopHighlight(m_CachedDropSelection, rayOrigin);
                m_CachedDropSelection     = null;
                m_LastDragSelectionChange = Time.time;
                RestoreOriginalSelectionMaterials();
            }
            else if (selection != null)
            {
                var time     = Time.time;
                var previous = PreviouslyFoundResult(selection);

                if (selection != m_CachedDropSelection)
                {
                    StopHighlight(m_CachedDropSelection);
                    // if we've previously checked this object, indicate the result again
                    if (previous > 0f)
                    {
                        SetAssignableHighlight(selection, rayOrigin, true);
                        PreviewMaterialOnSelection(selection);
                    }
                    else if (previous < 0f)
                    {
                        SetAssignableHighlight(selection, rayOrigin, false);
                        RestoreOriginalSelectionMaterials();
                    }

                    m_CachedDropSelection     = selection;
                    m_LastDragSelectionChange = time;
                    return;
                }

                if (previous == 0f)
                {
                    // avoid checking every object the selector passes over with a short delay
                    if (time - m_LastDragSelectionChange > k_CheckAssignDelayTime)
                    {
                        var assignable = CheckAssignable(selection);
                        SetAssignableHighlight(selection, rayOrigin, assignable);

                        if (assignable)
                        {
                            PreviewMaterialOnSelection(selection);
                        }
                    }
                }
            }
        }
Beispiel #22
0
    protected override void OnDragging(BaseHandle baseHandle, HandleEventData eventData)
    {
        base.OnDragging(baseHandle, eventData);

        if (m_ClickedField && m_ClickCount == 0)
        {
            foreach (var button in m_IncrementDecrementButtons)
            {
                button.alternateIconVisible = true;
            }
        }
    }
        void OnHandleDragEnded(BaseHandle handle, HandleEventData eventData)
        {
            if (gameObject.activeSelf)
            {
                foreach (var h in m_AllHandles)
                {
                    h.gameObject.SetActive(true);
                }
            }

            dragging = false;
        }
Beispiel #24
0
        protected virtual void OnHandleHovering(BaseHandle handle, HandleEventData eventData)
        {
            if (handle.IndexOfHoverSource(eventData.rayOrigin) > 0)
            {
                return;
            }

            if (!handle.hasDragSource)
            {
                UpdateHandleTip(handle, eventData, true);
            }
        }
    private void Scroll(BaseHandle handle, HandleEventData eventData)
    {
        var scrollOffset = m_ScrollOffsetStart + Vector3.Dot(m_ScrollStart - eventData.rayOrigin.transform.position, transform.forward);

        if (handle == m_ProjectUI.folderScrollHandle)
        {
            m_ProjectUI.folderListView.scrollOffset = scrollOffset;
        }
        else if (handle == m_ProjectUI.assetScrollHandle)
        {
            m_ProjectUI.assetListView.scrollOffset = scrollOffset;
        }
    }
Beispiel #26
0
        void OnDrag(BaseHandle handle, HandleEventData handleEventData)
        {
            if (m_EligibleForDrag)
            {
                var horizontal = IsHorizontal();
                if (m_CurrentlyHorizontal != horizontal)
                {
                    this.StopCoroutine(ref m_MoveKeysCoroutine);
                    m_MoveKeysCoroutine = StartCoroutine(MoveKeysToLayoutPositions(k_KeyExpandCollapseTime));

                    m_CurrentlyHorizontal = horizontal;
                }
            }
        }
 protected override void OnGrabDragging(BaseHandle handle, HandleEventData eventData, Vector3 dragStart)
 {
     if (m_DragObject)
     {
         var fieldGrabOrigin = this.GetFieldGrabOriginForRayOrigin(eventData.rayOrigin);
         MagnetizeTransform(fieldGrabOrigin, m_DragObject);
         var offset = 0f;
         foreach (var child in m_VisibleChildren)
         {
             offset += m_CubeRenderer.bounds.size.y * m_StackingFraction;
             MagnetizeTransform(fieldGrabOrigin, child.transform, offset);
         }
     }
 }
        protected override void OnHandleDragEnded(BaseHandle handle, HandleEventData eventData)
        {
            base.OnHandleDragEnded(handle, eventData);

            if (handle.IndexOfDragSource(eventData.rayOrigin) > 0)
            {
                return;
            }

            if (handle is SphereHandle)
            {
                handle.transform.localScale /= m_SphereHandleHideScale;
            }
        }
Beispiel #29
0
        protected override void OnDragStarted(BaseHandle handle, HandleEventData eventData)
        {
            base.OnDragStarted(handle, eventData);

            var clone     = (GameObject)Instantiate(gameObject, transform.position, transform.rotation, transform.parent);
            var cloneItem = clone.GetComponent <AssetGridItem>();

            if (cloneItem.m_PreviewObjectTransform)
            {
                m_PreviewObjectClone = cloneItem.m_PreviewObjectTransform;

#if UNITY_EDITOR
                var originalPosition = m_PreviewObjectClone.position;
                var originalRotation = m_PreviewObjectClone.rotation;
                var originalScale    = m_PreviewObjectClone.localScale;
                var restoreParent    = m_PreviewObjectClone.parent;
                m_PreviewObjectClone.SetParent(null);                 // HACK: MergePrefab deactivates the root transform when calling ConnectGameObjectToPrefab, which is EditorVR in this case
                m_PreviewObjectClone = PrefabUtility.ConnectGameObjectToPrefab(m_PreviewObjectClone.gameObject, data.preview).transform;
                m_PreviewObjectClone.SetParent(restoreParent);
                m_PreviewObjectClone.position      = originalPosition;
                m_PreviewObjectClone.rotation      = originalRotation;
                m_PreviewObjectClone.localScale    = originalScale;
                cloneItem.m_PreviewObjectTransform = m_PreviewObjectClone;
#endif

                cloneItem.m_Cube.gameObject.SetActive(false);

                if (cloneItem.m_Icon)
                {
                    cloneItem.m_Icon.gameObject.SetActive(false);
                }

                m_PreviewObjectClone.gameObject.SetActive(true);
                m_PreviewObjectClone.localScale = m_PreviewTargetScale;

                // Destroy label
                ObjectUtils.Destroy(cloneItem.m_TextPanel.gameObject);
            }

            m_DragObject = clone.transform;

            // Disable any SmoothMotion that may be applied to a cloned Asset Grid Item now referencing input device p/r/s
            var smoothMotion = clone.GetComponent <SmoothMotion>();
            if (smoothMotion != null)
            {
                smoothMotion.enabled = false;
            }

            StartCoroutine(ShowGrabbedObject());
        }
 private void OnScrollDragEnded(BaseHandle handle, HandleEventData eventData = default(HandleEventData))
 {
     Scroll(handle, eventData);
     if (handle == m_ProjectUI.folderScrollHandle)
     {
         m_ScrollOffsetStart = m_ProjectUI.folderListView.scrollOffset;
         m_ProjectUI.folderListView.OnScrollEnded();
     }
     else if (handle == m_ProjectUI.assetScrollHandle)
     {
         m_ScrollOffsetStart = m_ProjectUI.assetListView.scrollOffset;
         m_ProjectUI.assetListView.OnScrollEnded();
     }
 }