private void OnScrollEvent(PointerEventData pointerEvent) { if (ItemRadial.TryBeginRotation(pointerEvent.scrollDelta.y)) { ActionRadial.SetActive(false); } }
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); }
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); }
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); }
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); } }
private void OnEndDragEvent(PointerEventData pointerEvent) { ItemRadial.TweenRotation(ItemRadial.NearestItemAngle); ItemRadial.Scroll.enabled = true; }