/*--------------------------------------------------------------------------------------------*/ 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); }
//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ 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; }