NGUI Sprite 和 Label 改变Layer 或父物体后 未更新深度问题

using UnityEngine;
using System.Collections.Generic; /// <summary>
/// Sprite is a textured element in the UI hierarchy.
/// </summary>
///
public partial class UISprite : UIBasicSprite
{
public void OnInitNew()
{
OnInit();
}
}
/// <summary>
/// Auto-upgrade.
/// </summary> protected override void OnInit ()
{
Debug.Log("Chu SHiHua");
if (!mFillCenter)
{
mFillCenter = true;
centerType = AdvancedType.Invisible;
#if UNITY_EDITOR
NGUITools.SetDirty(this);
#endif
}
base.OnInit();
}
 public void OnInit2()
{
OnInit();
}

递归

void WhileFindChild(Transform transform)
{
Transform temp = transform;
Debug.Log(""+temp.name);
if (transform.GetComponent<UISprite>())
{
transform.GetComponent<UISprite>().OnInit2();
}
if (transform.GetComponent<UILabel>())
{
transform.GetComponent<UILabel>().OnInit2();
} if (temp.childCount > )
{
foreach (Transform item in temp)
{
UILabel label = item.GetComponent<UILabel>();
if (label)
{
label.OnInit2();
}
UISprite sprite = item.GetComponent<UISprite>();
if (sprite)
{
sprite.OnInit2();
}
temp = item;
WhileFindChild(temp);
}
}
}
上一篇:C/C++中数组转换成指针的情况


下一篇:json_decode 转数组