Home > @esengine/ecs-framework-monorepo
ecs-framework-monorepo package
Classes
Class | Description |
---|---|
Archetype系统 根据实体的组件组合将实体分组到不同的原型中,提供高效的查询性能。 | |
64位位集合类,用于高效的位操作 支持最多64个位的设置、清除、查询和逻辑运算 | |
组件数据收集器 | |
通用组件索引实现 基于Sparse Set算法: - O(1)的实体添加、删除、查找 - 高效的位运算查询 - 内存紧凑的存储结构 - 缓存友好的遍历性能 | |
组件索引管理器 使用统一的组件索引实现,自动优化查询性能。 | |
组件对象池,用于复用组件实例以减少内存分配 | |
全局组件池管理器 | |
组件注册表 管理组件类型的位掩码分配 | |
组件稀疏集合实现 结合通用稀疏集合和组件位掩码 存储结构: - 稀疏集合存储实体 - 位掩码数组存储组件信息 - 组件类型映射表 | |
高性能组件存储器 | |
组件类型管理器 负责管理组件类型的注册和ID分配 | |
默认控制台日志实现 | |
游戏引擎核心类 负责管理游戏的生命周期、场景切换、全局管理器和定时器系统。 提供统一的游戏循环管理。 | |
调试管理器 整合所有调试数据收集器,负责收集和发送调试数据 | |
脏标记追踪系统 提供高效的组件和实体变更追踪,避免不必要的计算和更新。 支持细粒度的脏标记和批量处理机制。 | |
ECS流式API主入口 提供统一的流式接口 | |
用于事件管理 | |
游戏实体类 ECS架构中的实体(Entity),作为组件的容器。 实体本身不包含游戏逻辑,所有功能都通过组件来实现。 支持父子关系,可以构建实体层次结构。 | |
实体数据收集器 | |
高性能实体列表管理器 管理场景中的所有实体,支持快速查找和批量操作 | |
实体管理器 提供统一的实体管理和查询机制,支持高效的实体操作。 包括实体的创建、销毁、查询和索引管理功能。 | |
实体处理器列表管理器 管理场景中的所有实体系统 | |
实体查询构建器 提供流式API来构建复杂的实体查询条件。支持组件过滤、标签过滤、状态过滤和自定义条件。 | |
增强的事件总线实现 基于TypeSafeEventSystem,提供类型安全的事件发布订阅机制 | |
事件类型验证器 验证事件类型是否有效 | |
用于包装事件的一个小类 | |
全局事件总线实例 提供全局访问的事件总线 | |
全局管理器的基类。所有全局管理器都应该从此类继承。 | |
世代式ID池管理器 用于管理实体ID的分配和回收,支持世代版本控制以防止悬空引用问题。 世代式ID由索引和版本组成,当ID被回收时版本会递增,确保旧引用失效。 支持动态扩展,理论上可以支持到65535个索引(16位),每个索引65535个版本(16位)。 总计可以处理超过42亿个独特的ID组合,完全满足ECS大规模实体需求。 | |
日志管理器 | |
实体匹配条件描述符 用于描述实体查询条件,不执行实际查询 | |
数字扩展工具类 提供数字转换的实用方法 | |
性能数据收集器 | |
高性能监控器 用于监控ECS系统的性能表现,提供详细的分析和优化建议 | |
高性能通用对象池 支持任意类型的对象池化,包含详细的统计信息 | |
池管理器 统一管理所有对象池 | |
高性能实体查询系统 提供快速的实体查询功能,支持按组件类型、标签、名称等多种方式查询实体。 系统采用多级索引和智能缓存机制,确保在大量实体场景下的查询性能。 主要特性: - 支持单组件和多组件查询 - 自动索引管理和缓存优化 - WebAssembly计算加速(如果可用) - 详细的性能统计信息 | |
游戏场景默认实现类 实现IScene接口,提供场景的基础功能。 推荐使用组合而非继承的方式来构建自定义场景。 | |
场景数据收集器 | |
SoA存储器(需要装饰器启用) 使用Structure of Arrays存储模式,在大规模批量操作时提供优异性能 | |
稀疏集合实现 提供O(1)的插入、删除、查找操作,同时保持数据的紧凑存储。 使用密集数组存储实际数据,稀疏映射提供快速访问 T 存储的数据类型 | |
系统数据收集器 | |
时间管理工具类 提供游戏时间相关的功能,包括帧时间、总时间、时间缩放等 | |
私有类隐藏ITimer的实现 | |
允许动作的延迟和重复执行 | |
类型安全的高性能事件系统 支持同步/异步事件、优先级、批处理等功能 | |
类型工具类 提供类型相关的实用方法 | |
WebSocket连接管理器 | |
World类 - ECS世界管理器 World是Scene的容器,每个World可以管理多个Scene。 这种设计允许创建独立的游戏世界,如: - 游戏房间(每个房间一个World) - 不同的游戏模式 - 独立的模拟环境 | |
World管理器 - 管理所有World实例 WorldManager是全局单例,负责管理所有World的生命周期。 每个World都是独立的ECS环境,可以包含多个Scene。 |
Abstract Classes
Abstract Class | Description |
---|---|
游戏组件基类 ECS架构中的组件(Component),用于实现具体的游戏功能。 组件包含数据和行为,可以被添加到实体上以扩展实体的功能。 | |
实体系统的基类 用于处理一组符合特定条件的实体。系统是ECS架构中的逻辑处理单元, 负责对拥有特定组件组合的实体执行业务逻辑。 | |
间隔系统抽象类 定义一个按时间间隔处理的抽象类,继承自EntitySystem类 子类需要实现process方法,用于实现具体的处理逻辑 | |
被动实体系统 定义一个被动的实体系统,继承自EntitySystem类 被动的实体系统不会对实体进行任何修改,只会被动地接收实体的变化事件 | |
处理系统抽象类 定义一个处理实体的抽象类,继承自EntitySystem类 子类需要实现processSystem方法,用于实现具体的处理逻辑 |
Enumerations
Enumeration | Description |
---|---|
脏标记类型 | |
ECS事件类型枚举 定义实体组件系统中的所有事件类型 | |
事件优先级枚举 定义事件处理的优先级级别 | |
日志级别 |
Functions
Function | Description |
---|---|
异步事件装饰器工厂 用于自动注册异步事件监听器 | |
创建ECS流式API实例 | |
创建命名日志器 | |
组件类型装饰器 用于为组件类指定固定的类型名称,避免在代码混淆后失效 | |
系统类型装饰器 用于为系统类指定固定的类型名称,避免在代码混淆后失效 | |
启用SoA优化装饰器 默认关闭SoA,只有在大规模批量操作场景下才建议开启 | |
事件装饰器工厂 用于自动注册事件监听器 | |
32位浮点数装饰器 标记字段使用Float32Array存储(默认类型,平衡性能和精度) | |
64位浮点数装饰器 标记字段使用Float64Array存储(更高精度但更多内存) | |
从组件实例获取类型名称 | |
获取组件类型的名称,优先使用装饰器指定的名称 | |
从系统实例获取类型名称 | |
获取系统类型的名称,优先使用装饰器指定的名称 | |
高精度数值装饰器 标记字段需要保持完整精度,存储为复杂对象而非TypedArray | |
32位整数装饰器 标记字段使用Int32Array存储(适用于整数值) | |
重置日志颜色为默认配置 | |
序列化Map装饰器 标记Map字段需要序列化/反序列化存储 | |
设置全局日志级别 | |
设置全局日志颜色配置 |
Interfaces
Interface | Description |
---|---|
原型数据结构 | |
Archetype分组信息 | |
原型查询结果 | |
Archetype系统信息 | |
64位掩码数据结构,使用两个32位整数表示 | |
缓存统计信息 | |
组件属性信息 | |
组件统计信息 | |
调试数据通道配置 | |
脏标记数据 | |
脏标记监听器 | |
ECS统计信息接口 | |
实体组件信息 | |
实体详情信息 | |
实体列表统计信息 | |
事件监听器配置 | |
事件统计信息 | |
组件接口 定义组件的基本契约,所有组件都应该实现此接口 | |
组件调试数据接口 | |
组件事件数据接口 | |
组件索引接口 | |
Core配置接口 | |
ID池统计信息接口 | |
ECS调试配置接口 | |
ECS调试数据接口 | |
实体调试数据接口 | |
实体事件数据接口 | |
实体层次结构节点接口 | |
事件总线接口 提供类型安全的事件发布订阅机制 | |
事件数据基类接口 | |
事件监听器配置接口 | |
事件统计信息接口 | |
日志接口 | |
索引统计信息 | |
性能调试数据接口 | |
性能事件数据接口 | |
可池化对象接口 | |
场景接口定义 定义场景应该实现的核心功能和属性,使用接口而非继承提供更灵活的实现方式。 | |
场景配置接口 | |
场景调试数据接口 | |
场景事件数据接口 | |
场景工厂接口 | |
系统基础接口 为现有的EntitySystem类提供类型定义 | |
系统调试数据接口 | |
系统事件数据接口 | |
World配置接口 | |
WorldManager配置接口 | |
日志颜色配置接口 | |
日志配置 | |
内存详情信息 | |
内存统计信息 | |
优化统计信息 | |
性能监控数据 | |
性能统计信息 | |
对象池统计信息 | |
查询索引统计信息 | |
查询统计信息 | |
查询系统统计信息 | |
SparseSet内存统计信息 | |
组件存储统计信息 | |
系统性能占比信息 | |
系统信息 | |
系统性能信息 |
Variables
Variable | Description |
---|---|
预定义的颜色常量 | |
存储组件类型名称的Symbol键 | |
预定义的事件类型常量 提供类型安全的事件类型字符串 | |
默认日志器实例 | |
存储系统类型名称的Symbol键 |
Type Aliases
Type Alias | Description |
---|---|
原型标识符 | |
组件类型定义 用于类型安全的组件操作 支持任意构造函数签名,提供更好的类型安全性 | |
组件类型定义 |