<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Unity ECS System在什么時候更新?如何自定義這個更新的時機?

      在什么時候更新?

      在其他用戶代碼都執行完之后。

      去Netcode的ClientServerBootstrap里可以找到CreateLocalWorld函數,里面有類似這樣的代碼:

      public static World CreateLocalWorld(string defaultWorldName = "Default World")
      {
          var world = new World(defaultWorldName, WorldFlags.Game);
      
          var systems = DefaultWorldInitialization.GetAllSystems(WorldSystemFilterFlags.Default);
          DefaultWorldInitialization.AddSystemsToRootLevelSystemGroups(world, systems);
          ScriptBehaviourUpdateOrder.AppendWorldToCurrentPlayerLoop(world);
      
          return world;
      }
      

      其中ScriptBehaviourUpdateOrder.AppendWorldToCurrentPlayerLoop就是將World更新附加到UnityEngine.LowLevel.PlayerLoop后面的函數。這個函數內容也很簡單,本質上是通過world.GetExistingSystemManaged分別獲得InitializationSystemGroupSimulationSystemGroupPresentationSystemGroup;然后作為PlayerLoopSystem的SubSystem,構造出新的PlayerLoop之后,通過PlayerLoop.SetPlayerLoop應用到當前環境里。

      沒有Netcode的情況下也是類似的,只不過是通過DefaultWorldInitialization這個類來完成了。

      如何自定義?

      知道在哪里創建的,自然就知道該怎么自定義了。只要把ScriptBehaviourUpdateOrder.AppendWorldToCurrentPlayerLoop換成自己的東西就行了。比如:

      var initGroup = world.GetExistingSystemManaged<InitializationSystemGroup>();
      var simGroup = world.GetExistingSystemManaged<SimulationSystemGroup>();
      var presGroup = world.GetExistingSystemManaged<PresentationSystemGroup>();
      
      //找個地方調用initGroup.Update()
      //找個地方調用simGroup.Update()
      //找個地方調用presGroup.Update()
      //順序不要搞錯了
      

      以FishNet為例,就可以在TimeManager.OnPostTick里運行所有WorldSystemFilterFlags.ServerSimulation的System,于是這些基于GameObject的網絡庫也就可以用ECS設計模式了。
      不過自定義了更新之后,在Editor的Systems界面里就看不到了,也算是一個小缺點吧。

      posted @ 2024-07-25 19:42  horeaper  閱讀(161)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲精品视频一二三四区| 亚洲AV日韩精品久久久久| 伊人激情av一区二区三区| 狠狠色噜噜狠狠狠狠av不卡| 97人妻无码一区| 日本丰满少妇裸体自慰 | 日本一本正道综合久久dvd| 亚洲最大福利视频网| 亚洲日韩av无码一区二区三区人 | 国产绿帽在线视频看| 人人妻人人澡人人爽人人精品av | 夜夜躁日日躁狠狠久久av| 国产91色综合久久高清| 亚洲免费福利在线视频| 成人午夜在线观看刺激| 国产精品一二三区视在线| 亚洲女初尝黑人巨| 国产精品久久毛片| 欧美中文字幕无线码视频 | 亚洲一区二区三区激情在线 | 女人18片毛片60分钟| 国产精品一区二区三区色| 国产精品对白刺激久久久| 中文字幕日韩国产精品| 精品久久久久久中文字幕202| 芦溪县| 色偷偷亚洲女人天堂观看| 亚洲一二三区精品美妇| 久视频久免费视频久免费| 国产午精品午夜福利757视频播放| 精品无人乱码一区二区三区| 亚洲精品久久国产高清小说| 在线欧美精品一区二区三区| 热久久这里只有精品99| 国产办公室秘书无码精品99| 成人午夜福利免费专区无码| 亚洲日本韩国欧美云霸高清| 国产爆乳乱码女大生Av| 肉大捧一进一出免费视频| 国产强奷在线播放免费| 精品久久久久久无码国产|