/*--------------------------------------------------------------------------------------------*/
        private void UpdateButtonRotations(HoverRendererSlider pRendSlider)
        {
            HoverRendererSliderSegments segs = gameObject.GetComponent <HoverRendererSliderSegments>();

            for (int i = 0; i < segs.SegmentInfoList.Count; i++)
            {
                SliderUtil.SegmentInfo segInfo = segs.SegmentInfoList[i];
                bool isHandle = (segInfo.Type == SliderUtil.SegmentType.Handle);
                bool isJump   = (segInfo.Type == SliderUtil.SegmentType.Jump);

                if (!isHandle && !isJump)
                {
                    continue;
                }

                HoverRendererButton button = (isHandle ?
                                              pRendSlider.HandleButton : pRendSlider.JumpButton);

                button.Controllers.Set(SettingsControllerMap.TransformLocalRotation + ".z", this);

                Vector3 buttonLocalEuler = button.transform.localRotation.eulerAngles;
                buttonLocalEuler.z             = (segInfo.StartPosition + segInfo.EndPosition) / 2;
                button.transform.localRotation = Quaternion.Euler(buttonLocalEuler);
            }
        }
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        private void UpdateTrackShape(HoverShapeRect pShapeRect, HoverRendererSlider pRendSlider)
        {
            HoverShapeRect trackShapeRect = (HoverShapeRect)pRendSlider.Track.GetShape();

            trackShapeRect.Controllers.Set(HoverShapeRect.SizeXName, this);
            trackShapeRect.Controllers.Set(HoverShapeRect.SizeYName, this);

            trackShapeRect.SizeX = pShapeRect.SizeX;
            trackShapeRect.SizeY = pShapeRect.SizeY;
        }
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        private void UpdateTrackShape(HoverShapeArc pShapeArc, HoverRendererSlider pRendSlider)
        {
            HoverShapeArc trackShapeArc = (HoverShapeArc)pRendSlider.Track.GetShape();

            trackShapeArc.Controllers.Set(HoverShapeArc.OuterRadiusName, this);
            trackShapeArc.Controllers.Set(HoverShapeArc.InnerRadiusName, this);
            trackShapeArc.Controllers.Set(HoverShapeArc.ArcDegreesName, this);

            trackShapeArc.OuterRadius = pShapeArc.OuterRadius;
            trackShapeArc.InnerRadius = pShapeArc.InnerRadius;
            trackShapeArc.ArcDegrees  = pShapeArc.ArcDegrees;
        }
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        public override void TreeUpdate()
        {
            HoverRendererSlider rendSlider     = gameObject.GetComponent <HoverRendererSlider>();
            HoverShapeArc       shapeArc       = gameObject.GetComponent <HoverShapeArc>();
            HoverShapeArc       handleShapeArc = (HoverShapeArc)rendSlider.HandleButton.GetShape();
            HoverShapeArc       jumpShapeArc   = (HoverShapeArc)rendSlider.JumpButton.GetShape();

            shapeArc.ArcDegrees = Mathf.Max(shapeArc.ArcDegrees, handleShapeArc.ArcDegrees);

            UpdateTrackShape(shapeArc, rendSlider);
            UpdateButtonRadii(shapeArc, handleShapeArc);
            UpdateButtonRadii(shapeArc, jumpShapeArc);
            UpdateButtonRotations(rendSlider);
        }
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        public override void TreeUpdate()
        {
            HoverRendererSlider rendSlider      = gameObject.GetComponent <HoverRendererSlider>();
            HoverShapeRect      shapeRect       = gameObject.GetComponent <HoverShapeRect>();
            HoverShapeRect      handleShapeRect = (HoverShapeRect)rendSlider.HandleButton.GetShape();
            HoverShapeRect      jumpShapeRect   = (HoverShapeRect)rendSlider.JumpButton.GetShape();

            shapeRect.SizeY = Mathf.Max(shapeRect.SizeY, handleShapeRect.SizeY);

            UpdateTrackShape(shapeRect, rendSlider);
            UpdateButtonWidth(shapeRect, handleShapeRect);
            UpdateButtonWidth(shapeRect, jumpShapeRect);
            UpdateButtonPositions(rendSlider);
        }
Example #6
0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        protected override void UpdateInfoWithShape()
        {
            HoverRendererSlider rendSlider     = gameObject.GetComponent <HoverRendererSlider>();
            HoverShapeArc       shapeArc       = gameObject.GetComponent <HoverShapeArc>();
            HoverShapeArc       handleShapeArc = (HoverShapeArc)rendSlider.HandleButton.GetShape();
            HoverShapeArc       jumpShapeArc   = (HoverShapeArc)rendSlider.JumpButton.GetShape();

            TickArcDegrees = Mathf.Max(0, TickArcDegrees);

            vInfo.TrackStartPosition = -shapeArc.ArcDegrees / 2;
            vInfo.TrackEndPosition   = shapeArc.ArcDegrees / 2;
            vInfo.HandleSize         = handleShapeArc.ArcDegrees;
            vInfo.JumpSize           = (rendSlider.AllowJump ? jumpShapeArc.ArcDegrees : 0);
            vInfo.TickSize           = TickArcDegrees;
        }
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        protected override void UpdateInfoWithShape()
        {
            HoverRendererSlider rendSlider      = gameObject.GetComponent <HoverRendererSlider>();
            HoverShapeRect      shapeRect       = gameObject.GetComponent <HoverShapeRect>();
            HoverShapeRect      handleShapeRect = (HoverShapeRect)rendSlider.HandleButton.GetShape();
            HoverShapeRect      jumpShapeRect   = (HoverShapeRect)rendSlider.JumpButton.GetShape();

            TickSizeY = Mathf.Max(0, TickSizeY);

            vInfo.TrackStartPosition = -shapeRect.SizeY / 2;
            vInfo.TrackEndPosition   = shapeRect.SizeY / 2;
            vInfo.HandleSize         = handleShapeRect.SizeY;
            vInfo.JumpSize           = (rendSlider.AllowJump ? jumpShapeRect.SizeY : 0);
            vInfo.TickSize           = TickSizeY;
        }