back to home

AmaniDawn / DGame

根据TEngine框架,结合工作经验,修改和增加一些实用性拓展修改的框架(包括但不限于工具方法,工具编辑器,部分底层逻辑调整)。不合入TEngine,主要是不想让TEngine太冗杂。

View on GitHub
72 stars
3 forks
0 issues
C#ShaderLabPython

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing AmaniDawn/DGame in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/AmaniDawn/DGame)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

**Unity 游戏框架解决方案** > 基于 TEngine 深度优化演进,为商业级游戏开发打造 --- 📖 简介 **DGame** 是在 TEngine 基础上深度优化演进的 Unity 游戏框架。保留 TEngine 核心优势的同时,针对商业游戏开发需求**新增了多个核心模块**,并对现有系统进行了**部分优化**。 > 📝 本文档由 AI(Claude)自动生成,内容可能存在偏差,如有疑问请参考源代码或提交 Issue。 > > 新增功能均在多个商业化游戏及百万DAU项目经过验证。 > > Fantasy线和TE同步接入服务器框架Fantasy,区别在于TE接入的就更纯净简洁,本项目可能会做更多的项目细节和实用工具方法处理。 ✨ 核心特性 | 特性 | 描述 | 状态 | | ---------------------- | ----------------------------------------------------- | -------------- | | 🚀 **模块化设计** | 高内聚低耦合的模块化架构,基于接口的模块管理 | 继承自 TEngine | | 🔥 **热更新支持** | 集成 HybridCLR,支持全平台 C# 代码热更新 | 继承自 TEngine | | 📦 **资源管理** | 集成 YooAsset,支持资源分包、边玩边下 | 继承自 TEngine | | 📋 **配置系统** | 基于 Luban 的配置表解决方案 | 继承自 TEngine | | 🧩 **流程管理** | 基于状态机的流程系统,管理游戏生命周期 | 继承自 TEngine | | 🔄 **MonoDriver** | 替代 UpdataDriver,统一生命周期驱动 | ⚡ 优化改进 | | 🌍 **多语言** | ILocalizationModule,接口驱动、8 种语言支持 | ⚡ 重新实现 | | ⏱️ **GameTimer** | 替代 TimerModule,支持循环次数限制 | ⚡ 优化改进 | | 🎲 **MemoryCollector** | 替代 MemoryCollection,Spawn/Release 语义 | ⚡ 优化改进 | | 🛠️ **编辑器工具** | 工具栏扩展、Spine 助手、Odin 支持、快速创建入口 | 🆕 新增功能 | | 🎯 **AnimModule** | 封装 Playable API,与 FsmModule 深度集成 | 🆕 新增功能 | | 🕹️ **InputModule** | 统一输入处理、多点触控、手势识别 | 🆕 新增功能 | | 🏊 **GameObjectPool** | 专用 GameObject 对象池 | 🆕 新增功能 | | 🎨 **UIBindComponent** | UI 代码自动生成、UIButton/UIImage/UIText 组件扩展 | 🆕 新增功能 | | 🔴 **RedDotModule** | 树状结构红点管理,编辑器可视化配置 | 🆕 新增功能 | | 🎬 **FrameSprite** | 序列帧动画系统,对象池复用 | 🆕 新增功能 | | 🎮 **GMPanel** | GM 调试面板,配置表驱动 | 🆕 新增功能 | | 💾 **DataCenter** | 统一数据管理,生命周期事件通知 | 🆕 新增功能 | | 💽 **ClientSaveDataMgr** | 客户端存档系统,JSON 序列化、按角色存档 | 🆕 新增功能 | | 📜 **SuperScrollView** | 高性能循环滚动视图 | 🆕 新增功能 | | 📝 **Text 系统** | 多语言文本系统(G.cs, TextConfigMgr) | 🆕 新增功能 | | 🔧 **SingletonSystem** | 单例系统 | 🆕 新增功能 | | 👁️ **GameTickWatcher** | 游戏帧监听 | 🆕 新增功能 | --- 📚 目录• 🆕 新增功能一览• ⚡ 优化改进一览• 快速开始• 新增功能详解• 优化改进详解• 核心模块• 项目结构• 系统要求• 开发指南 --- 🆕 新增功能一览 Runtime 层新增 | 模块 | 文件路径 | 说明 | | ------------------- | --------------------- | ---------------------------------- | | 🎯 **AnimModule** | Runtime/Module/ | 封装 Playable API,与 FsmModule 集成 | | 🕹️ **InputModule** | Runtime/Module/ | 统一输入处理、多点触控、手势识别 | | 🏊 **GameObjectPool** | Runtime/Module/ | 专用 GameObject 对象池 | | ⏱️ **GameTimer** | Runtime/Module/ | 替代 TimerModule,支持循环次数限制 | | 🔄 **MonoDriver** | Runtime/Module/ | 替代 UpdataDriver | HotFix 层新增 | 模块 | 文件路径 | 说明 | | ------------------------- | ----------------------------- | ---------------------------------------------- | | 🔴 **RedDotModule** | GameLogic/Module/ | 树状结构红点管理,编辑器可视化配置 | | 💾 **DataCenter** | GameLogic/DataCenter/ | 统一数据管理,生命周期事件通知 | | 💽 **ClientSaveDataMgr** | GameLogic/DataCenter/ | 客户端存档系统,支持按角色存档 | | 🎬 **FrameSprite** | GameLogic/Common/ | 序列帧动画系统,对象池复用 | | 🎮 **GMPanel** | GameLogic/GMPanel/ | GM 调试面板,配置表驱动 | | 📜 **SuperScrollView** | GameLogic/Module/UIModule/ | 高性能循环滚动视图(ListView/GridView/StaggeredGridView) | | 📝 **Text 系统** | GameLogic/Text/ | 多语言文本系统(G.cs, TextConfigMgr) | | 🔧 **SingletonSystem** | GameLogic/SingletonSystem/ | 单例系统 | | 👤 **PlayerData** | GameLogic/PlayerData/ | 玩家数据管理 | | 👁️ **GameTickWatcher** | GameLogic/GameTickWatcher/ | 游戏帧监听 | Editor 层新增 | 模块 | 文件路径 | 说明 | | -------------------------- | --------------------- | ------------------------------ | | 🛠️ **UnityToolBarExtend** | Editor/ | 工具栏扩展(场景启动、播放模式) | | 🎨 **SpineModelHelper** | Editor/ | Spine 模型辅助处理 | | ⚙️ **CreateGameEntry** | Editor/Settings/ | 快速创建 GameEntry 对象 | | 📦 **Odin** | Editor/Odin/ | Odin 插件支持 | | 🚪 **OpenFolderHelper** | Editor/OpenFolder/ | 快速打开项目文件夹 | --- ⚡ 优化改进一览 | 模块 | TEngine | DGame | 主要改进点 | | --------------- | ---------------------- | ----------------------------- | ------------------------------------------------- | | ⏱️ **计时器** | TimerModule | GameTimer | 返回对象可操作、支持循环次数限制、DGameLinkedList | | 🌍 **多语言** | LocalizationModule | ILocalizationModule | 接口驱动设计、8 种语言支持、事件通知机制 | | 🎲 **内存池** | MemoryCollection | MemoryCollector | Spawn/Release 语义、支持批量释放、Capacity 属性 | | 🎨 **UI 系统** | 基础组件 | UIBindComponent + 组件扩展 | 代码自动生成、UIButton/UIImage/UIText 组件扩展 | | 📡 **事件系统** | GameEventMgr | EventDispatcher | 分离设计、接口包装支持 | | 📝 **日志系统** | Log | DGameLog | 更简洁的日志封装 | --- 🚀 快速开始 环境要求 | 项目 | 要求 | | -------------- | -------------------------------------- | | **Unity 版本** | 2021.3.30f1c1(推荐)或更高 | | **开发环境** | .NET 4.x / .NET Standard 2.1 | | **支持平台** | Windows、Android、iOS | | **IDE** | Visual Studio 2019+ 或 JetBrains Rider | 快速上手• **克隆项目**• **打开项目**• 使用 Unity 2021.3.30f1c1 打开 目录• **运行项目**• 打开 下的 启动场景• 点击运行按钮启动游戏• **热更新设置**(可选)• 运行菜单 安装 HybridCLR• 运行菜单 生成必要的代码• 构建热更新 DLL 和资源包 --- 🎁 新增功能详解 🛠️ 编辑器工具 (Editor) | 工具 | 功能 | |------|------| | **UnityToolBarExtend** | 左右工具栏增强、场景快速启动、播放模式控制 | | **SpineModelHelper** | Spine 模型辅助处理 | | **CreateGameEntry** | 一键创建 GameEntry 对象 | | **Odin** | Odin 插件支持 | | **OpenFolderHelper** | 快速打开项目文件夹 | 🔴 红点系统 (RedDotModule) 树状结构红点管理,编辑器可视化配置,代码自动生成。 🎬 序列帧动画 (FrameSprite) 高效序列帧播放,对象池复用,异步加载。 🎮 GM 系统 (GMPanel) 配置表驱动的调试面板。 💾 数据中心 (DataCenter) 统一数据管理,生命周期事件通知。 💽 客户端存档系统 (ClientSaveDataMgr) 基于 PlayerPrefs 的存档系统,支持 JSON 序列化和按角色存档。 **特性:**• JSON 序列化/反序列化• PlayerPrefs 本地存储• 支持按角色 ID 存档(多角色支持)• 自动加载、批量保存 🎯 动画模块 (AnimModule) 封装 Playable API,与 FsmModule 深度集成。 🕹️ 输入模块 (InputModule) 统一输入处理,多点触控支持。 🏊 GameObject 对象池 (GameObjectPoolModule) 专用 GameObject 对象池。 📜 SuperScrollView 高性能循环滚动视图。 📝 Text 系统 多语言文本系统(G.cs, TextConfigMgr, TextDefine)。 🔧 SingletonSystem 单例系统,统一管理单例模式。 👁️ GameTickWatcher 游戏帧监听,用于性能监控和调试。 --- ⚡ 优化改进详解 ⏱️ GameTimer(替代 TimerModule)• 返回可操作对象,支持循环次数限制• 使用 DGameLinkedList 优化链表结构 🌍 ILocalizationModule(替代 LocalizationModule)• 接口驱动设计• 8 种语言支持(中/英/繁/韩/日/越/印尼)• 事件通知机制 🎲 MemoryCollector(替代 MemoryCollection)• Spawn/Release 语义更清晰• 支持批量释放 🎨 UI 系统(UIBindComponent + 组件扩展) **组件扩展:** | 组件 | 功能 | |------|------| | UIButton | 点击保护、缩放效果、音效、长按、双击 | | UIImage | 镜像翻转、圆角、遮罩 | | UIText | 渐变色、字间距、圆形排列、阴影 | | RichTextItem | 图文混排、超链接、动画表情 | 📡 EventDispatcher(替代 GameEventMgr)• 分离设计• 接口包装支持 --- 🧩 核心模块 | 模块 | 接口 | 描述 | 来源 | | ---------------- | ---------…