egametang / ET

Unity3D Client And C# Server Framework
Other
8.78k stars 3k forks source link

ET9 报错 #612

Open hj9944 opened 1 month ago

hj9944 commented 1 month ago

init fiber fail: 1001 System.Exception: not found scene type: 0 StateSync ET.SceneTypeSingleton.GetSceneType (System.String sceneName) [0x00017] .\Packages\cn.etetet.core\Runtime\Entity\SceneTypeSingleton.cs:54 ET.FiberInit_Main.Handle (ET.FiberInit fiberInit) [0x0002f] D:\GitHub\ET9\Packages\cn.etetet.core\Scripts\Model\Share\FiberInit_Main.cs:10 ET.ETTask.GetResult () [0x00039] .\Packages\cn.etetet.core\Runtime\ETTask\ETTask.cs:199 ET.FiberManager+<>cDisplayClass8_1.b0 () [0x00055] .\Packages\cn.etetet.core\Runtime\World\Fiber\FiberManager.cs:88 ET.FiberManager+<>cDisplayClass8_1.b0 () [0x000c7] .\Packages\cn.etetet.core\Runtime\World\Fiber\FiberManager.cs:93 at System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Start[TStateMachine] (TStateMachine& stateMachine) [0x00000] in <17d9ce77f27a4bd2afb5ba32c9bea976>:0 at ET.FiberManager+<>cDisplayClass8_1.b0 () [0x00000] in <945ad20334b84b11ba5316f01141474d>:0 ET.ThreadSynchronizationContext.Update () [0x00021] .\Packages\cn.etetet.core\Runtime\ThreadSynchronizationContext.cs:25 ET.Fiber.LateUpdate () [0x0001e] .\Packages\cn.etetet.core\Runtime\Fiber\Fiber.cs:88 ET.MainThreadScheduler.LateUpdate () [0x00062] .\Packages\cn.etetet.core\Runtime\World\Fiber\MainThreadScheduler.cs:85 ET.FiberManager.LateUpdate () [0x00001] .\Packages\cn.etetet.core\Runtime\World\Fiber\FiberManager.cs:46 ET.Init.LateUpdate () [0x00001] .\Packages\cn.etetet.loader\Runtime\Init.cs:52 UnityEngine.Debug:LogError (object) ET.UnityLogger:Error (string) (at ./Packages/cn.etetet.loader/Runtime/UnityLogger.cs:42) ET.Log:Error (string) (at ./Packages/cn.etetet.core/Runtime/World/Log/Log.cs:71) ET.FiberManager/<>cDisplayClass8_1/<b0>d:MoveNext () (at ./Packages/cn.etetet.core/Runtime/World/Fiber/FiberManager.cs:93) System.Runtime.CompilerServices.AsyncVoidMethodBuilder:Start<ET.FiberManager/<>cDisplayClass8_1/<b0>d> (ET.FiberManager/<>cDisplayClass8_1/<b0>d&) ET.FiberManager/<>c__DisplayClass8_1:b__0 () ET.ThreadSynchronizationContext:Update () (at ./Packages/cn.etetet.core/Runtime/ThreadSynchronizationContext.cs:25) ET.Fiber:LateUpdate () (at ./Packages/cn.etetet.core/Runtime/Fiber/Fiber.cs:88) ET.MainThreadScheduler:LateUpdate () (at ./Packages/cn.etetet.core/Runtime/World/Fiber/MainThreadScheduler.cs:85) ET.FiberManager:LateUpdate () (at ./Packages/cn.etetet.core/Runtime/World/Fiber/FiberManager.cs:46) ET.Init:LateUpdate () (at ./Packages/cn.etetet.loader/Runtime/Init.cs:52)

hj9944 commented 1 month ago

GlobalConfig配置没有跟随包体修改

zerohualin commented 1 month ago

你是选择了帧同步对吧,然后 Loader 包下的 GlobalConfig 它填了 StateSync , 这个需要重新设计一下 @egametang 就算随启动包体初始化的时候修改 GlobalConfig 的值也是不对的,因为我们默认把通用包 Ignore,所以这个修改难以同步给团队中的其他人。 这是个通用的问题就是:有些配置需要分出来,到用户自己的 Git 控制下。比如放到业务主包的 Settings 下,或者干脆放到 Unity/Assets 下。 也可以 Unity/Assets 下加一个配置,它帮助各个包指向自己配置文件实际的位置。 比如设置个变量叫主业务名,然后把它填成 StateSync,Loader 就可以去 StateSync/Settings 下面找 GlobalConfig