Beispiel #1
0
 private void OnScrollEvent(PointerEventData pointerEvent)
 {
     if (ItemRadial.TryBeginRotation(pointerEvent.scrollDelta.y))
     {
         ActionRadial.SetActive(false);
     }
 }
Beispiel #2
0
 private void OnBeginDragEvent(PointerEventData pointerEvent)
 {
     ItemRadial.Selected.OrNull()?.FadeOut(pointerEvent);
     ItemRadial.SetItemsInteractable(false);
     ActionRadial.SetActive(false);
     ItemRadial.Scroll.enabled = false;
 }
 private void OnDisable()
 {
     // These need to be disabled for the next time the controller is reactivated
     ItemRadial.SetActive(false);
     ActionRadial.SetActive(false);
     radialBranch.SetActive(false);
 }
        private void OnHoverItem(PointerEventData eventData, RightClickRadialButton button)
        {
            var index = button.Index;

            if (eventData.dragging || index > Items.Count)
            {
                return;
            }

            var item = Items[index];

            ItemRadial.ChangeLabel(item.Label);
            var itemRadialPosition = ItemRadial.transform.position;
            var actions            = item.SubMenus;

            if (actions == null)
            {
                ActionRadial.SetActive(false);
                radialBranch.UpdateLineSize(ActionRadial, itemRadialPosition);
                return;
            }

            ActionRadial.SetupWithActions(actions);
            ActionRadial.UpdateRotation(index, ItemRadial.ItemArcMeasure);
            radialBranch.UpdateLineSize(ActionRadial, itemRadialPosition);
        }
Beispiel #5
0
 private void OnDisable()
 {
     // These need to be disabled for the next time the controller is reactivated
     ItemRadial.SetActive(false);
     ActionRadial.SetActive(false);
     radialBranch.SetActive(false);
     UpdateManager.Remove(CallbackType.UPDATE, UpdateMe);
 }
Beispiel #6
0
        public void SetupMenu(List <RightClickMenuItem> items, IBranchPosition branchPosition)
        {
            Items = items;
            radialBranch.SetupAndEnable((RectTransform)ItemRadial.transform, ItemRadial.OuterRadius, ItemRadial.Scale, branchPosition);
            ItemRadial.SetupWithItems(items);
            ItemRadial.CenterItemsTowardsAngle(Items.Count, radialBranch.GetBranchToTargetAngle());

            this.SetActive(true);
            ItemRadial.SetActive(true);

            ActionRadial.Setup(0);
            ActionRadial.SetActive(false);
        }
        public void SetupMenu(List <RightClickMenuItem> items, Vector3 worldPosition, bool followWorldPosition)
        {
            Items = items;
            radialBranch.Setup(worldPosition, itemRadialPrefab.OuterRadius, itemRadialPrefab.Scale, followWorldPosition);
            ItemRadial.SetupWithItems(items);
            ItemRadial.transform.localPosition = radialBranch.MenuPosition;
            UpdateItemRadialRotation();

            this.SetActive(true);
            ItemRadial.SetActive(true);

            ActionRadial.Setup(0);
            ActionRadial.SetActive(false);
        }
Beispiel #8
0
        public void UpdateMe()
        {
            radialBranch.UpdateLines(ActionRadial, ItemRadial.OuterRadius);
            ItemRadial.UpdateArrows();

            if (IsAnyPointerDown() == false)
            {
                return;
            }

            // Deactivate the menu if there was a mouse click outside of the menu.
            var mousePos = CommonInput.mousePosition;

            if (ItemRadial.IsPositionWithinRadial(mousePos) == false && ActionRadial.IsPositionWithinRadial(mousePos) == false)
            {
                this.SetActive(false);
            }
        }
        public void Update()
        {
            radialBranch.UpdateDirection();
            ItemRadial.transform.localPosition = radialBranch.MenuPosition;
            ItemRadial.UpdateArrows();
            radialBranch.UpdateLineSize(ActionRadial, ItemRadial.transform.position);
            UpdateItemRadialRotation();

            if (IsAnyPointerDown() == false)
            {
                return;
            }

            // Deactivate the menu if there was a mouse click outside of the menu.
            var mousePos = CommonInput.mousePosition;

            if (ItemRadial.IsPositionWithinRadial(mousePos) == false && ActionRadial.IsPositionWithinRadial(mousePos) == false)
            {
                this.SetActive(false);
            }
        }
Beispiel #10
0
 private void OnEndDragEvent(PointerEventData pointerEvent)
 {
     ItemRadial.TweenRotation(ItemRadial.NearestItemAngle);
     ItemRadial.Scroll.enabled = true;
 }