| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Nova 是 Solotopia 基于 Unity 深度定制的一套游戏客户端通用解决方案,把资源、UI、网络、热更、配置、存档、多语言、SDK 接入等通用底座统一收敛、持续维护,让业务团队只需聚焦玩法本身。
| 包名 | 版本 |
|---|---|
| com.unity.textmeshpro | 3.0.9 |
| com.unity.nuget.newtonsoft-json | 3.2.2 |
| com.unity.inputsystem | 1.19.0 |
| com.solotopia.hybridclr | 10.1.0 |
| com.solotopia.unitask | 10.0.6 |
| com.solotopia.sqlcipher4unity3d | 10.0.5 |
| com.solotopia.simplediskutils | 1.0.7 |
| com.solotopia.excelio | 1.0.6 |
| com.solotopia.nicevibrations | 10.0.5 |
| com.solotopia.luban | 10.1.0 |
| com.solotopia.yooasset | 1.1.0 |
| com.solotopia.nova.framework.mcp | 0.1.3 |
flowchart LR
Business[业务代码] --> Nova[Nova.* 静态门面]
Nova --> Components[Runtime Components]
Components --> Managers[Managers / 生命周期]
Components --> Services[资源 · 网络 · UI · 配置 · 存档]
Editor[Editor 工具] --> Pipeline[配置与构建流水线]
Pipeline --> Components
Packages[Kit / SDK 子包] --> Nova
Nova 以场景中的 Nova 根节点为统一入口,所有子系统经 Nova.* 静态门面暴露,调用契约一致、风格统一:
| 子系统 | 访问 | 职责 |
|---|---|---|
| 入口 | Nova | 框架全局根节点与静态访问器门面,挂载于场景即完成全部子系统的统一注册与生命周期接线,业务侧仅通过 Nova.* 调用。 |
| 事件 | Nova.Event | 支持泛型订阅 / 注销与按类型派发,事件参数基于引用池复用实现零 GC,跨模块通信的首选通道。 |
| 对象池 | Nova.ObjectPool | 对象池与引用池双轨:纯 C# 对象走 IReference 栈式分配回收,GameObject 走通用容器,覆盖高频实例化与销毁场景。 |
| 调试 | Nova.Debug | 运行时调试面板与诊断工具,提供运行期日志查看、性能指标监控与变量检视,便于真机与开发期问题定位。 |
| 配置 | Nova.Config | 运行时配置访问层,承载 SDK 插件配置与 Kit 套件配置的注入、查询与变更通知,业务侧不直接持有配置实例。 |
| 持久化 | Nova.Persist | 多种本地存储实现,统一封装 PlayerPrefs、分片文件 FileFragment 与加密 SQLite,按数据规模与安全要求择优落盘。 |
| 资源管理 | Nova.Asset | 资源加载、下载、缓存与热更,基于 YooAsset 封装,提供同步 / 异步加载、引用计数与场景加载,释放由加载方负责。 |
| 预制体 | Nova.Prefab | 预制体实例化与回收,内部复用对象池,适合子弹、特效、列表项等高频生成销毁场景,避免运行期 GC 抖动。 |
| 数据表 | Nova.Table | 基于 Luban 导出的表格数据查询,按类型强类型取表与取行,支持运行期按需加载与表存在性判断。 |
| 本地化 | Nova.Localization | 多语言运行时切换,文本键取值、缺失检测与字体适配,支持运行期切换语言而无需重启。 |
| 音频 | Nova.Sound | 音频播放与声音组管理,按组独立调节音量与静音,区分 BGM、音效与 UI 音,支持播放暂停与释放。 |
| 触觉 | Nova.Vibrate | 触觉振动反馈,封装 Nice Vibrations,提供预设振动模式与自定义波形,适配 iOS / Android 差异。 |
| 原生能力 | Nova.Native | 查询与请求通知权限、跳转应用或通知设置,以及请求应用内评价;平台桥接、并发协调与回调清理由 Native Manager 统一处理。 |
| 界面 | Nova.UI | 界面生命周期与栈式管理,支持异步 / 同步打开关闭、界面分组与层级控制,自动复用实例池,覆盖弹窗、主界面与多层叠加场景。 |
| 网络 | Nova.Network | 网络通信层,封装 HTTP / WebSocket 请求;HTTP 固定使用 UnityWebRequest 与系统 DNS,HostKey + NetCmd 业务请求支持主备域名切换。 |
| SDK 接入 | Nova.SDK | 第三方 SDK 的统一装配与初始化入口;广告、登录、支付和统计等具体能力由对应的独立 SDK UPM 包按需安装。 |
| 流程 | Nova.Procedure | 基于有限状态机的启动流程编排,串联闪屏、版本检查、强更 / 热更、业务 DLL 加载等节点,节点间切换受控且可观测。 |
| 应用 | Nova.App | 应用入口,负责版本检查、强制更新与新安装包下载,协调各子系统按启动阶段顺序就绪,是运行期的顶层编排者。 |
| 检查器 (Editor) | Inspectors | 各 Component 的自定义 Inspector,配置字段在 Unity 面板内可视化编辑与校验,配合 HelpBox 提示约束,降低误配风险。 |
| 窗口 (Editor) | Windows | 配置、环境、流水线、包管理等编辑器工具面板,集中管理框架与项目级设置,提供可视化操作入口。 |
| 数据流水线 (Editor) | DataPipeline | 配置与资源的数据导出 / 处理流水线,串联 Luban 导出、Excel 读取与中间产物清理,保障表格数据从源到运行时的一致性。 |
| 构建处理 (Editor) | BuildProcessor | 构建预 / 后处理流程,覆盖 Android / iOS 平台、Manifest 规则、Gradle 模板与构建上下文,自动对齐发布设置。 |
| 编辑器工具 (Editor) | EditorUtil | 可复用编辑器基础设施,聚合 asmdef、Asset、Build、HybridCLR、Luban、Network、Pipify、PlugPals 等工具集,支撑上层工具开发。 |
| 工具 (Editor) | Tools | 更高层级的部署与一键工具入口,封装常用编辑器操作为可复用命令,便于团队定制与自动化。 |
NovaSpark 会修改项目配置。已有 Nova 项目重复导入时,它会先列出待矫正项并等待确认;本仓这类使用本地 file: Framework 的源码工程会自动跳过。
首次接触 Nova 时,建议先在 Unity Package Manager 中导入 Nova Framework / MainDemo,按提示确认旧 Sample 检测与启动场景设置,然后进入 Play Mode。MainDemo 是可运行参考,不是强制项目模板;详细步骤见 MainDemo README。
自建项目应先阅读 Nova Agent 快速入口,根据项目现有拓扑接入完整的 canonical Nova.prefab,并完成所需配置、资源与数据初始化后再调用 Nova.* API。
using NovaFramework.Runtime;var handle = await Nova.Asset.LoadAsync<Sprite>("icons/hero");
image.sprite = handle.Asset;
handle.Release();var instance = await Nova.Prefab.InstantiateAsync("prefabs/bullet", parent);
Nova.Prefab.Destroy(instance);var serialId = Nova.UI.OpenUIViewAsync<MyView>();void OnEnable() => Nova.Event.Subscribe<MyEvent>(OnEvent);
void OnDisable() => Nova.Event.Unsubscribe<MyEvent>(OnEvent);
var evt = ReferencePool.Get<MyEvent>();
Nova.Event.Fire(this, evt);var row = Nova.Table.GetTable<TbItem>().Get(itemId);Assets/Framework/Scripts/Runtime/ # 运行时核心与业务模块 Assets/Framework/Scripts/Editor/ # 编辑器工具 / Inspector / 窗口 / 流水线 Assets/Framework/Docs/ # 事实层文档 Assets/Framework/Minds/ # 知识层文档(Obsidian Vault) Assets/Samples/ # 示例与演示(MainDemo 等) UPMPackages/com.solotopia.*/ # 配套基础库 / Kit / SDK 包 Packages/manifest.json # 工程依赖入口
Nova 采用双层文档体系,团队多年沉淀持续累积:
Assets/Framework/ ├── Docs/ # 事实层:当前 API、字段、调用步骤(随代码同步) │ ├── INDEX.md # 按任务类型导航 │ ├── ARCHITECTURE.md # 总体架构 │ ├── Runtime/ # 运行时模块文档 │ └── Editor/ # 编辑器扩展文档 └── Minds/ # 知识层:架构决策、术语、模式、踩坑结论(Obsidian Vault)
常用入口:Start Here · Docs Index · Architecture · Nova Project Skills
将两层文档提供给 AI Agent,助手即可同时具备"会用 API + 知晓边界 + 沿用既有模式 + 避开已知坑"——这是最快上手的路径,也是项目长期可持续维护的保障。
本项目基于 MIT License 开源。
Copyright © 2026 Solotopia
| Back | FazBrowse Home | New Git URL |