/*--------------------------------------------------------------------------------------------*/ public virtual void TreeUpdate() { DestroyRendererIfNecessary(); IdleRenderer = (IdleRenderer ?? FindOrBuildIdle()); ICursorData cursorData = GetComponent <HoverCursorFollower>().GetCursorData(); UpdateRenderer(cursorData); }
//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ private void DestroyRendererIfNecessary() { if (ClickToRebuildRenderer || IdleRendererPrefab != vPrevIdlePrefab) { vPrevIdlePrefab = IdleRendererPrefab; RendererUtil.DestroyRenderer(IdleRenderer); IdleRenderer = null; } ClickToRebuildRenderer = false; }
/*--------------------------------------------------------------------------------------------*/ public void TreeUpdate() { HoverShapeArc shape = GetComponent <HoverShapeArc>(); HoverRendererIdle rend = GetComponent <HoverRendererIdle>(); float thickness = rend.DistanceThreshold / gameObject.transform.lossyScale.x; shape.Controllers.Set(HoverShapeArc.InnerRadiusName, this); shape.Controllers.Set(HoverShapeArc.InnerOffsetName, this); shape.InnerRadius = shape.OuterRadius + thickness; shape.InnerOffset = rend.CenterOffset; }