//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ internal void Build(MenuState pMenuState, BaseItemState pItemState, float pArcAngle, IItemVisualSettings pVisualSettings) { vMenuState = pMenuState; vItemState = pItemState; ArcAngle = pArcAngle; const float pi = (float)Math.PI; const float slideBufferAngle = pi / 80f; vSlideDegrees = (pArcAngle - slideBufferAngle * 2) / (float)Math.PI * 180; vSlideDir0 = MeshUtil.GetRingPoint(1, -pArcAngle / 2f + slideBufferAngle); //// vRendererObj = new GameObject("Renderer"); vRendererObj.transform.SetParent(gameObject.transform, false); vRenderer = (IUiItemRenderer)vRendererObj.AddComponent(pVisualSettings.Renderer); vRenderer.Build(vMenuState, vItemState, pArcAngle, pVisualSettings); vRenderer.SetDepthHint(vMenuState.DisplayDepthHint); vPrevDepth = vMenuState.DisplayDepthHint; vItemState.HoverPointUpdater = vRenderer.UpdateHoverPoints; }