Пример #1
0
 internal void CloseAllClidren(bool circle = true, float time = 0, params object[] paramValues)
 {
     if (circle)
     {
         for (int i = childrenNodeID.Count - 1; i >= 0; i--)
         {
             int         id     = childrenNodeID[i];
             IBaseUIForm uiForm = childrenNode[id].Node;
             CircleClose(uiForm, time, paramValues);
             if (uiForm.UIStage != UIState.Hide)
             {
                 uiForm.CloseUI(time, paramValues);
             }
         }
     }
     else
     {
         for (int i = childrenNodeID.Count - 1; i >= 0; i--)
         {
             int         id     = childrenNodeID[i];
             IBaseUIForm uiForm = childrenNode[id].Node;
             if (uiForm.UIStage != UIState.Hide)
             {
                 uiForm.CloseUI(time, paramValues);
             }
         }
     }
 }
Пример #2
0
        /// <summary>
        /// 递归关闭子节点
        /// </summary>
        /// <param UIName="uiForm"></param>
        private void CircleClose(IBaseUIForm uiForm, float time, params object[] paramValues)
        {
            List <int> clildrenID = uiForm.UIFormDepend.childrenNodeID;

            for (int i = clildrenID.Count - 1; i >= 0; i--)
            {
                IBaseUIForm ui = uiForm.UIFormDepend.childrenNode[childrenNodeID[i]].Node;
                CircleClose(ui, time, paramValues);
                if (ui.UIStage != UIState.Hide)
                {
                    ui.CloseUI(time, paramValues);
                }
            }
        }