////////////////////////////////////////////////////////////////////////////////////////////////
		/*--------------------------------------------------------------------------------------------*/
		internal void Build(ArcState pArcState, SegmentState pSegState, float pArcAngle, 
																			ICustomSegment pCustom) {
			vArcState = pArcState;
			vSegState = pSegState;
			ArcAngle = pArcAngle;

			vSegState.SetCursorDistanceFunction(CalcCursorDistance);

			vCursorBaseTx = gameObject.transform.parent.parent.parent.parent; //HovercastSetup

			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);

			////

			Type rendType = pCustom.GetSegmentRenderer(vSegState.NavItem);
			SegmentSettings sett = pCustom.GetSegmentSettings(vSegState.NavItem);

			var rendObj = new GameObject("Renderer");
			rendObj.transform.SetParent(gameObject.transform, false);

			vRenderer = (IUiSegmentRenderer)rendObj.AddComponent(rendType);
			vRenderer.Build(vArcState, vSegState, pArcAngle, sett);
		}
Exemple #2
0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        internal void Build(ArcState pArcState, SegmentState pSegState, float pArcAngle,
                            ICustomSegment pCustom)
        {
            vArcState = pArcState;
            vSegState = pSegState;
            ArcAngle  = pArcAngle;

            vSegState.SetCursorDistanceFunction(CalcCursorDistance);

            vCursorBaseTx = gameObject.transform.parent.parent.parent.parent;             //HovercastSetup

            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);

            ////

            Type            rendType = pCustom.GetSegmentRenderer(vSegState.NavItem);
            SegmentSettings sett     = pCustom.GetSegmentSettings(vSegState.NavItem);

            var rendObj = new GameObject("Renderer");

            rendObj.transform.SetParent(gameObject.transform, false);

            vRenderer = (IUiSegmentRenderer)rendObj.AddComponent(rendType);
            vRenderer.Build(vArcState, vSegState, pArcAngle, sett);
        }