/*public void SetupAsDropdown(float maxHeight) { * * this.scrollRect.SetupAsDropdown(maxHeight); * * }*/ public override bool IsNavigationControlSide(NavigationSide side) { if (this.scrollRect != null) { if (this.scrollRect.vertical == true || this.navigateVertical == true) { if (side == NavigationSide.Down || side == NavigationSide.Up) { return(true); } } if (this.scrollRect.horizontal == true || this.navigateHorizontal == true) { if (side == NavigationSide.Left || side == NavigationSide.Right) { return(true); } } } return(false); }
public override void OnNavigate(NavigationSide side) { base.OnNavigate(side); var slider = this.GetSelectable() as Slider; var horizontal = (slider.direction == Slider.Direction.LeftToRight || slider.direction == Slider.Direction.RightToLeft); if (horizontal == true) { if (side == NavigationSide.Left) { this.MovePrev(); } if (side == NavigationSide.Right) { this.MoveNext(); } } else { if (side == NavigationSide.Up) { this.MoveNext(); } if (side == NavigationSide.Down) { this.MovePrev(); } } }
public override void OnNavigate(NavigationSide side) { base.OnNavigate(side); var slider = this.GetSelectable() as Slider; var horizontal = (slider.direction == Slider.Direction.LeftToRight || slider.direction == Slider.Direction.RightToLeft); if (UnityEngine.UI.Windows.Constants.LOGS_ENABLED == true) { UnityEngine.Debug.Log("OnNavigate: " + side + " :: " + horizontal + " :: " + slider.direction); } if (horizontal == true) { if (side == NavigationSide.Left) { this.MovePrev(); } if (side == NavigationSide.Right) { this.MoveNext(); } } else { if (side == NavigationSide.Up) { this.MoveNext(); } if (side == NavigationSide.Down) { this.MovePrev(); } } }
public WindowComponentNavigation NavigationFind(NavigationSide side, bool interactableOnly = false) { WindowComponentNavigation result = null; switch (side) { case NavigationSide.Left: result = this.GetNavigation(interactableOnly, WindowComponentNavigation.GetNavigationLeft_INTERNAL); break; case NavigationSide.Right: result = this.GetNavigation(interactableOnly, WindowComponentNavigation.GetNavigationRight_INTERNAL); break; case NavigationSide.Up: result = this.GetNavigation(interactableOnly, WindowComponentNavigation.GetNavigationUp_INTERNAL); break; case NavigationSide.Down: result = this.GetNavigation(interactableOnly, WindowComponentNavigation.GetNavigationDown_INTERNAL); break; } return(result); }
public bool NavigateSendEvents(WindowComponentNavigation source, NavigationSide side) { if (this.customContainer != null) { this.customContainer.NavigateSendEvents(this, side); if (this.customContainer.IsNavigationPreventChildEvents(side) == true) { return(false); } } else { if (this.rootComponent != null && this.rootComponent is IWindowNavigation) { var nav = (this.rootComponent as IWindowNavigation); nav.NavigateSendEvents(this, side); if (nav.IsNavigationPreventChildEvents(side) == true) { return(false); } } } if (this.IsNavigationPreventEvents(side) == false) { if (this.IsNavigationControlSide(side) == true) { this.OnNavigate(side); this.OnNavigate(source, side); this.NavigationScrollRect_INTERNAL(source, side); switch (side) { case NavigationSide.Down: this.OnNavigateDown(); break; case NavigationSide.Up: this.OnNavigateUp(); break; case NavigationSide.Left: this.OnNavigateLeft(); break; case NavigationSide.Right: this.OnNavigateRight(); break; } } return(true); } return(false); }
private void NavigationScrollRect_INTERNAL(WindowComponentNavigation source, NavigationSide side) { var scrollRect = this.NavigationScrollRect(); if (scrollRect == null) { return; } var next = source.GetNavigation(side); if (next == null) { if (side == NavigationSide.Up) { scrollRect.verticalNormalizedPosition = 1f; } else if (side == NavigationSide.Down) { scrollRect.verticalNormalizedPosition = 0f; } else if (side == NavigationSide.Left) { scrollRect.horizontalNormalizedPosition = 0f; } else if (side == NavigationSide.Right) { scrollRect.horizontalNormalizedPosition = 1f; } return; } var containerRect = (scrollRect.transform as RectTransform).rect; var from = RectTransformUtility.CalculateRelativeRectTransformBounds(this.GetRectTransform(), source.GetRectTransform()); var to = RectTransformUtility.CalculateRelativeRectTransformBounds(this.GetRectTransform(), next.GetRectTransform()); var nextRect = new Rect(to.center.XY(), to.size.XY()); if (containerRect.Overlaps(nextRect) == true) { return; } var delta = (to.center - from.center).XY(); if (side == NavigationSide.Left || side == NavigationSide.Right) { delta.y = 0f; } else { delta.x = 0f; } scrollRect.content.anchoredPosition -= delta; scrollRect.horizontalNormalizedPosition = Mathf.Clamp01(scrollRect.horizontalNormalizedPosition); scrollRect.verticalNormalizedPosition = Mathf.Clamp01(scrollRect.verticalNormalizedPosition); }
public override bool IsNavigationPreventEvents(NavigationSide side) { var inputField = this.inputField; if (inputField != null) { return(inputField.HasKeyboard()); } return(base.IsNavigationPreventChildEvents(side)); }
public override bool IsNavigationPreventChildEvents(NavigationSide side) { /* if (this.axis == Axis.Horizontal) { if (side == NavigationSide.Left || side == NavigationSide.Right) return true; } else if (this.axis == Axis.Vertical) { if (side == NavigationSide.Up || side == NavigationSide.Down) return true; }*/ return false; }
public override bool IsNavigationPreventChildEvents(NavigationSide side) { /* * if (this.axis == Axis.Horizontal) { * * if (side == NavigationSide.Left || * side == NavigationSide.Right) return true; * * } else if (this.axis == Axis.Vertical) { * * if (side == NavigationSide.Up || * side == NavigationSide.Down) return true; * * }*/ return(false); }
public void SetNavigationInfo(NavigationSide side, NavigationSideInfo info) { switch (side) { case NavigationSide.Down: this.navigateDownInfo = info; break; case NavigationSide.Up: this.navigateUpInfo = info; break; case NavigationSide.Left: this.navigateLeftInfo = info; break; case NavigationSide.Right: this.navigateRightInfo = info; break; } }
public override void OnNavigate(WindowComponentNavigation source, NavigationSide side) { switch (side) { case NavigationSide.Up: this.ListMoveUp(); break; case NavigationSide.Down: this.ListMoveDown(); break; case NavigationSide.Right: this.ListMoveRight(); break; case NavigationSide.Left: this.ListMoveLeft(); break; } }
public override bool IsNavigationControlledSide(NavigationSide side) { if (this.axis == Axis.Horizontal) { if (side == NavigationSide.Left || side == NavigationSide.Right) { return(true); } } else if (this.axis == Axis.Vertical) { if (side == NavigationSide.Up || side == NavigationSide.Down) { return(true); } } return(false); }
public WindowComponentNavigation GetNavigation(NavigationSide side) { var dir = Vector3.zero; var rotation = this.GetRectTransform().rotation; var sideInfo = new NavigationSideInfo(); switch (side) { case NavigationSide.Left: dir = rotation * Vector3.left; sideInfo = this.navigateLeftInfo; break; case NavigationSide.Right: dir = rotation * Vector3.right; sideInfo = this.navigateRightInfo; break; case NavigationSide.Up: dir = rotation * Vector3.up; sideInfo = this.navigateUpInfo; break; case NavigationSide.Down: dir = rotation * Vector3.down; sideInfo = this.navigateDownInfo; break; } if (sideInfo.@explicit == true) { return(sideInfo.next); } return(this.GetNavigation(dir, sideInfo)); }
public override bool IsNavigationControlledSide(NavigationSide side) { var slider = this.GetSelectable() as Slider; var horizontal = (slider.direction == Slider.Direction.LeftToRight || slider.direction == Slider.Direction.RightToLeft); if (horizontal == true) { if (side == NavigationSide.Left || side == NavigationSide.Right) { return(true); } } else { if (side == NavigationSide.Up || side == NavigationSide.Down) { return(true); } } return(false); }
public virtual void OnNavigate(WindowComponentNavigation source, NavigationSide side) {}
public virtual bool IsNavigationControlledSide(NavigationSide side) { return(false); }
public bool NavigateSendEvents(WindowComponentNavigation source, NavigationSide side) { if (this.listContainer != null) { this.listContainer.NavigateSendEvents(this, side); if (this.listContainer.IsNavigationPreventChildEvents(side) == true) { return false; } } else { if (this.rootComponent != null && this.rootComponent is IWindowNavigation) { var nav = (this.rootComponent as IWindowNavigation); nav.NavigateSendEvents(this, side); if (nav.IsNavigationPreventChildEvents(side) == true) { return false; } } } if (this.IsNavigationControlledSide(side) == true) { this.OnNavigate(side); this.OnNavigate(source, side); switch (side) { case NavigationSide.Down: this.OnNavigateDown(); break; case NavigationSide.Up: this.OnNavigateUp(); break; case NavigationSide.Left: this.OnNavigateLeft(); break; case NavigationSide.Right: this.OnNavigateRight(); break; } } return true; }
public virtual void OnNavigate(NavigationSide side) {}
public virtual bool IsNavigationControlledSide(NavigationSide side) { return false; }
public virtual bool IsNavigationPreventChildEvents(NavigationSide side) { return false; }
public override void OnNavigate(NavigationSide side) { base.OnNavigate(side); var slider = this.GetSelectable() as Slider; var horizontal = (slider.direction == Slider.Direction.LeftToRight || slider.direction == Slider.Direction.RightToLeft); if (horizontal == true) { if (side == NavigationSide.Left) this.MovePrev(); if (side == NavigationSide.Right) this.MoveNext(); } else { if (side == NavigationSide.Up) this.MoveNext(); if (side == NavigationSide.Down) this.MovePrev(); } }
public WindowComponentNavigation GetNavigation(NavigationSide side) { var dir = Vector3.zero; var rotation = this.GetRectTransform().rotation; NavigationSideInfo sideInfo = new NavigationSideInfo(); switch (side) { case NavigationSide.Left: dir = rotation * Vector3.left; sideInfo = this.navigateLeftInfo; break; case NavigationSide.Right: dir = rotation * Vector3.right; sideInfo = this.navigateRightInfo; break; case NavigationSide.Up: dir = rotation * Vector3.up; sideInfo = this.navigateUpInfo; break; case NavigationSide.Down: dir = rotation * Vector3.down; sideInfo = this.navigateDownInfo; break; } if (sideInfo.@explicit == true) { return sideInfo.next; } return this.GetNavigation(dir, sideInfo); }
public override void OnNavigate(WindowComponentNavigation source, NavigationSide side) { }
public override bool IsNavigationControlledSide(NavigationSide side) { var slider = this.GetSelectable() as Slider; var horizontal = (slider.direction == Slider.Direction.LeftToRight || slider.direction == Slider.Direction.RightToLeft); if (horizontal == true) { if (side == NavigationSide.Left || side == NavigationSide.Right) { return true; } } else { if (side == NavigationSide.Up || side == NavigationSide.Down) { return true; } } return false; }
public virtual void OnNavigate(WindowComponentNavigation source, NavigationSide side) { }
public override bool IsNavigationControlledSide(NavigationSide side) { if (this.axis == Axis.Horizontal) { if (side == NavigationSide.Left || side == NavigationSide.Right) return true; } else if (this.axis == Axis.Vertical) { if (side == NavigationSide.Up || side == NavigationSide.Down) return true; } return false; }
public virtual bool IsNavigationPreventEvents(NavigationSide side) { return(false); }
public virtual void OnNavigate(NavigationSide side) { }
public WindowComponentNavigation GetNavigation(NavigationSide side) { var dir = Vector3.zero; var rotation = this.GetRectTransform().rotation; var sideInfo = new NavigationSideInfo(); switch (side) { case NavigationSide.Left: dir = rotation * Vector3.left; sideInfo = this.navigateLeftInfo; break; case NavigationSide.Right: dir = rotation * Vector3.right; sideInfo = this.navigateRightInfo; break; case NavigationSide.Up: dir = rotation * Vector3.up; sideInfo = this.navigateUpInfo; break; case NavigationSide.Down: dir = rotation * Vector3.down; sideInfo = this.navigateDownInfo; break; } if (sideInfo.@explicit == true) { if (sideInfo.next != null) { var selInteractable = sideInfo.next as IInteractableStateComponent; if (selInteractable != null) { if (selInteractable.GetNavigationType() == NavigationType.None || ( selInteractable.IsNavigateOnDisabled() == false && selInteractable.IsVisible() == false ) || ( selInteractable.IsNavigateOnDisabled() == false && selInteractable.IsInteractable() == false )) { return(null); } } else { if (sideInfo.next.GetNavigationType() == NavigationType.None || sideInfo.next.IsVisible() == false) { return(null); } } return(sideInfo.next); } return(null); } return(this.GetNavigation(dir, sideInfo)); }