Exemple #1
0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        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;
        }