Project reference

HappyMahjong Project Map

把通用 Unity 课落到你们真实项目:路径、启动场景、StrangeIoC、UI 系统和第一条可追踪链路。

项目事实

问题答案证据
项目路径/Users/lionqu/Github/NewHappyMahjongClient/HappyMahjongClient用户提供,已扫描确认。
Unity 版本2021.3.15f1ProjectSettings/ProjectVersion.txt
启动场景Assets/Scenes/AppMainScene.unityProjectSettings/EditorBuildSettings.asset 第一项。
启动脚本Assets/Scripts/Boot/LoadDll.csAppMainScene.unityLoadDll GameObject 引用该脚本。
IoC 框架StrangeIoC / MVCSAppContextLoginContextGameContext 继承 MVCSContext
UI 现实当前新功能不按 NGUI 开发;UIEventListener / Empty Click 保留用于点击绑定和兼容用户纠偏 + 代码中大量 UIEventListener.Get(...).onClickEmptyClick 对象

启动链路:课堂只讲这条

最小地图:只定位,不深入

AppMainSceneBuild Settings 第一项
LoadDll启动 / 热更
UIRootUI 根
AppMainRoot业务根
AppRootContextView
AppContext大厅容器

普通 UI 小任务如果走到蓝色或黄色节点要谨慎:多数情况下它们只是只读地图。

  1. Unity 打开 Assets/Scenes/AppMainScene.unity
  2. Scene 中的 LoadDll 对象 执行 LoadDll.Awake() / Start()
  3. LoadDll 完成 TSDK、ConfigSDK、Bootstrap、HybridCLR / 热更 DLL 加载。
  4. LoadDll.LoadScenePrefab() 实例化 JavaCallbackObjectUIRootAppMainRoot
  5. AppMainRootAppRoot : ContextView
  6. AppRoot.Start() 创建 context = new AppContext(this)
  7. AppContext 绑定大厅主容器:Model、Service、Command、View/Mediator、CrossContext 事件。
讲课注意: 不要把 AppMainScene 讲成普通登录页面。它是启动壳;真正业务 UI 通过资源和 Context 加载出来。

第一条真实功能链:登录

登录链路图

LoginView用户点击
LoginMediatordispatch
LoginCommand平台 / TSDK
LoginManager票据 / SDK
TSDKEventListener回调
LoginController数据拉取 / 进大厅
LoginView
  → LoginMediator
  → LoginPlatformCommand / LoginTSDKCommand
  → LoginManager / TSDKService
  → TSDKEventListener
  → LoginController
  → NewSceneManager / MainScene

课堂可让 agent 只分析这条链,不修改代码。关键路径:

HappyMahjong UI 规则

架构排查 prompt:只有卡住时才用

项目路径:/Users/lionqu/Github/NewHappyMahjongClient/HappyMahjongClient
Unity 版本:2021.3.15f1
启动场景:Assets/Scenes/AppMainScene.unity
框架:StrangeIoC / MVCS;UI 新功能不按 NGUI 开发,UIEventListener 与 Empty Click 保留用于兼容和点击绑定。

先不要修改代码。我需要判断这个问题是否涉及启动链路或跨 Context。
请分析:
1. 是否需要理解 AppMainScene → LoadDll → AppMainRoot → AppContext。
2. 是否跨 AppContext / LoginContext / SelectionContext / GameContext。
3. 是否使用 CrossContextBridge 或 ModuleRegistry。
4. 哪些文件只是只读地图,哪些文件可能需要修改。
5. 如果只是普通 UI 小任务,请明确说“不需要架构级分析”,并退回 View → Mediator → Command → Service 链路。

所有结论必须附文件路径;不确定处标注“推测”。

项目文档入口