コード例 #1
0
 void Batch2()
 {
     if (subFrame == mainFrame)
     {
         MatCollector.renderQueue = renderQueue;
         LateFrame++;
         point   = 1;
         max     = 0;
         top_txt = 0;
         Collection(transform, -1, 0);
         //MainUpdate();
         for (int i = 1; i < max; i++)//跳过HCanvas
         {
             var scr = scripts[i];
             if (scr.LateFrame != LateFrame)
             {
                 scr.LateFrame = LateFrame;
                 scr.MainUpdate();
             }
             else
             {
                 Debug.Log("脚本重复更新");
             }
         }
         Collection(transform, -1, 0);
         for (int i = 0; i < top_txt; i++)
         {
             texts[i].Populate();
         }
         if (ftr)//纹理被改变了,需要重新计算
         {
             ftr = false;
             HText.DirtyAll();
             for (int i = 0; i < top_txt; i++)
             {
                 texts[i].Populate();
             }
         }
         ApplyMeshRenderer();
         ApplyToCamera();
         mainFrame++;
         if (thread == null)
         {
             thread = new ThreadMission("UI");
         }
         thread.AddSubMission((o) => {
             Batch();
             subFrame++;
         }, this);
     }
 }