FairyGUI.Stage.ApplyPanelOrder C# (CSharp) Method

ApplyPanelOrder() public method

设置UIPanel/UIPainter等的渲染层次,由UIPanel等内部调用。开发者不需要调用。
public ApplyPanelOrder ( Container target ) : void
target Container
return void
		public void ApplyPanelOrder(Container target)
		{
			int sortingOrder = target._panelOrder;
			int numChildren = Stage.inst.numChildren;
			int i = 0;
			int j;
			int curIndex = -1;
			for (; i < numChildren; i++)
			{
				DisplayObject obj = Stage.inst.GetChildAt(i);
				if (obj == target)
				{
					curIndex = i;
					continue;
				}

				if (obj == GRoot.inst.displayObject)
					j = 1000;
				else if (obj is Container)
					j = ((Container)obj)._panelOrder;
				else
					continue;

				if (sortingOrder <= j)
				{
					if (curIndex != -1)
						Stage.inst.AddChildAt(target, i - 1);
					else
						Stage.inst.AddChildAt(target, i);
					break;
				}
			}
			if (i == numChildren)
				Stage.inst.AddChild(target);
		}

Usage Example

 static int ApplyPanelOrder(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 2);
         FairyGUI.Stage     obj  = (FairyGUI.Stage)ToLua.CheckObject <FairyGUI.Stage>(L, 1);
         FairyGUI.Container arg0 = (FairyGUI.Container)ToLua.CheckObject <FairyGUI.Container>(L, 2);
         obj.ApplyPanelOrder(arg0);
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }