protected void GenerateAxis(bool force) { mAxis.Clear(); if (mVerticalAxis) { double scroll = GetScrollOffset(1); IAxisGenerator main = InternalUpdateAxis(ref VerticalMainDevisions, mVerticalAxis, ChartOrientation.Vertical, false, force, scroll); IAxisGenerator sub = InternalUpdateAxis(ref VerticalSubDevisions, mVerticalAxis, ChartOrientation.Vertical, true, force, scroll); if (main != null) { mAxis.Add(main); } if (sub != null) { mAxis.Add(sub); } } if (mHorizontalAxis) { double scroll = GetScrollOffset(0); IAxisGenerator main = InternalUpdateAxis(ref HorizontalMainDevisions, mHorizontalAxis, ChartOrientation.Horizontal, false, force, scroll); IAxisGenerator sub = InternalUpdateAxis(ref HorizontalSubDevisions, mHorizontalAxis, ChartOrientation.Horizontal, true, force, scroll); if (main != null) { mAxis.Add(main); } if (sub != null) { mAxis.Add(sub); } } }
internal protected virtual IAxisGenerator InternalUpdateAxis(ref GameObject axisObject, AxisBase axisBase, ChartOrientation axisOrientation, bool isSubDiv, bool forceRecreate, double scrollOffset) { IAxisGenerator res = null; if (axisObject == null || forceRecreate || CanvasChanged) { ChartCommon.SafeDestroy(axisObject); GameObject axis = null; if (IsUnderCanvas) { axis = ChartCommon.CreateCanvasChartItem(); axis.transform.SetParent(transform, false); var rect = axis.GetComponent <RectTransform>(); rect.anchorMin = new Vector2(0f, 0f); rect.anchorMax = new Vector2(0f, 0f); rect.localScale = new Vector3(1f, 1f, 1f); rect.localRotation = Quaternion.identity; rect.anchoredPosition = new Vector3(); } else { axis = ChartCommon.CreateChartItem(); axis.transform.SetParent(transform, false); axis.transform.localScale = new Vector3(1f, 1f, 1f); axis.transform.localRotation = Quaternion.identity; axis.transform.localPosition = new Vector3(); } axisBase.ClearFormats(); axis.layer = gameObject.layer; // put the axis on the same layer as the chart ChartCommon.HideObject(axis, hideHierarchy); axisObject = axis; if (IsUnderCanvas) { res = axis.AddComponent <CanvasAxisGenerator>(); } else { res = axis.AddComponent <AxisGenerator>(); } } else { if (IsUnderCanvas) { res = axisObject.GetComponent <CanvasAxisGenerator>(); } else { res = axisObject.GetComponent <AxisGenerator>(); } } res.SetAxis(scrollOffset, this, axisBase, axisOrientation, isSubDiv); // axisObject.transform.localScale = new Vector3(1f, 1f, 1f); // axisObject.transform.localRotation = Quaternion.identity; // axisObject.transform.localPosition = new Vector3(); return(res); }