基础概念
本文档将介绍ETOfflineToolkit
中同时也可以适用于ET
的核心概念。
什么是ETOfflineToolkit?
简介
ETOfflineToolkit
是一个专注于单机游戏开发的衍生于ET
框架的一个工具包,它继承了ET Framework的优秀设计理念,为开发者提供了一套完整的开发工具集。
核心特性
- 单机特化: 基于
Unity 双端 ET
框架剥离出来的单机部分 - 架构设计: 完整保留了
ET
框架强大的核心架构设计和开发理念 - 功能丰富: 保留了
ET EUI
框架中EUI系统、对象池、资源管理等强大功能 - 开发友好: 对于想用
ET
开发单机游戏的开发者来说,是一个理想的选择
ECS架构设计
什么是ECS?
ECS(Entity-Component-System)
是一种专注于数据驱动的架构模式,它将游戏对象拆分为三个核心概念:
- 实体(Entity): 游戏中的基本对象,仅包含一个唯一标识符
- 组件(Component): 附加在实体上的纯数据,定义实体的属性和状态
- 系统(System): 处理特定组件组合的逻辑单元,负责游戏逻辑的执行
ECS树状结构设计
ET的这种设计数据是一种树状的结构,非常有层次,能够非常轻松的理解整个游戏的架构。顶层Game.Scene也就是Root
,不同模块的数据都挂载在Root
上面,Root
可以接着挂Scene也就是称之为CurrentScene
,每个模块自身下面又可以挂载很多数据。每开发一个新功能不用思考太多,类该怎么设计,数据放在什么地方,挂载这里会不会导致冗余等等。

简介
ET框架采用了一种清晰的树形结构设计,这种设计使得游戏架构层次分明,便于管理和扩展。
整体结构
Root
├── UIComponent
│ ├── MainUI
│ └── UIXXX
├── CurrentScene
│ ├── UIComponent
│ │ ├── FightUI
│ │ └── UIXXX
│ └── UnitComponent
│ ├── Unit1
│ ├── Unit2 (挂载 MoveComponent)
│ └── Unit3 (挂载 AIComponent)
└── UnitComponent
├── Unit1
├── Unit2
└── Unit3
核心节点说明
Root(根节点)
Root节点
- 作为整个场景树的根节点
- 管理全局性的组件和系统
- 可以挂载多个顶级组件
UIComponent(UI组件)
UI管理
- 负责管理所有UI相关的内容
- 可以存在于Root和CurrentScene层级
- Root下的UIComponent管理全局UI
- CurrentScene下的UIComponent管理场景相关UI
CurrentScene(当前场景)
场景管理
- 代表当前活动的游戏场景
- 包含场景特有的UI和单位
- 作为场景相关组件的容器
UnitComponent(单位组件)
单位管理
- 管理场景中的所有游戏单位
- 可以存在于Root和CurrentScene层级
- 支持挂载具体功能组件(如MoveComponent、AIComponent)
设计优势
架构优点
层次清晰
- 树形结构直观易懂
- 组件关系一目了然
- 便于理解和维护
扩展性强
- 可以方便地添加新组件
- 支持动态挂载和卸载
- 灵活的组件组合
管理便捷
- 统一的组件管理方式
- 清晰的生命周期控制
- 方便的组件查找和访问

组件生命周期
节点移除
- 如果某个实体或者组件被移除(Dispose)则其下面所有的组件和子实体也会进行移除(Dispose)
- 被移除的组件会触发相应的Dispose回调
技术支持
获取帮助
- 💬 加入QQ群讨论交流
(ET框架群)
: 474643097 - ⭐ 在GitHub上关注项目获取最新更新