void Start() { parentHelper = NGUITools.FindInParents <FrameLayoutHelper>(gameObject); if (parentHelper != null) { if (parentHelper.FrameSize.x != 0) { LayoutFrame(parentHelper.FrameSize); } } }
public override void OnInspectorGUI() { helper = (FrameLayoutHelper)target; if (helper.bgSprite != null) { frameSize = helper.bgSprite.Dimensions; } else { base.OnInspectorGUI(); return; } EditorGUILayout.BeginVertical(); { base.OnInspectorGUI(); if (frameSize.x == 0 || frameSize.y == 0) { frameSize = helper.bgSprite.Dimensions; } Vector2 fSize = EditorGUILayout.Vector2Field("FrameSize:", frameSize); UIWidget.Pivot p = (UIWidget.Pivot)EditorGUILayout.EnumPopup("Frame Pivot:", pivot); if (fSize.x != frameSize.x || frameSize.y != fSize.y) { if (fSize.x > 1 && fSize.y > 1) { helper.LayoutFrame(fSize); frameSize = fSize; FrameTitleLayoutHelper ftlHelper = helper.GetComponentInChildren <FrameTitleLayoutHelper>(); if (ftlHelper != null) { ftlHelper.LayoutFrame(fSize); } } } if (p != pivot) { pivot = p; helper.PivotFrame(pivot, frameSize); } } EditorGUILayout.EndVertical(); }
//void Update() //{ // if (parentHelper != null) // { // if (parentHelper.FrameSize.x != 0) // { // LayoutFrame(parentHelper.FrameSize); // } // } //} public void LayoutFrame(Vector2 fSize) { if (parentHelper == null) { parentHelper = NGUITools.FindInParents <FrameLayoutHelper>(gameObject); } transform.localPosition = Vector3.zero; if (parentHelper == null) { return; } if (bgSprite != null) { bgSprite.Dimensions = new Vector2(fSize.x, bgSprite.Dimensions.y); } if (shadowGO != null) { shadowGO.transform.localPosition = new Vector3(fSize.x * 0.5f, -36f, 0f); UISprite[] childs = shadowGO.GetComponentsInChildren <UISprite>(); foreach (UISprite child in childs) { child.Dimensions = new Vector2(fSize.x * 0.5f - 2, child.Dimensions.y); } } if (lineGO != null) { lineGO.transform.localPosition = new Vector3(fSize.x * 0.5f, 0, 0); UISprite[] childs = lineGO.GetComponentsInChildren <UISprite>(); foreach (UISprite child in childs) { child.Dimensions = new Vector2(fSize.x * 0.5f * 0.7f, child.Dimensions.y); } } }