GeWuYou daff1fa12b feat(architecture): 集成Arch ECS框架并升级目标框架
- 在ArchitectureContext中添加ECS世界和系统调度器支持
- 添加IEcsWorld和IEcsSystem接口定义
- 实现EcsWorld、EcsSystemBase和EcsSystemRunner核心类
- 添加Position和Velocity示例组件及MovementSystem示例
- 创建ECS使用示例代码
- 将多个项目的TargetFramework从netstandard2.0升级到netstandard2.1
- 添加Arch和Arch.System包依赖到核心项目
- 在测试项目中添加ECS相关接口的模拟实现
2026-02-23 12:27:16 +08:00

44 lines
1.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using Arch.Core;
namespace GFramework.Core.Abstractions.ecs;
/// <summary>
/// ECS世界接口封装Arch的World实例
/// </summary>
public interface IEcsWorld : IDisposable
{
/// <summary>
/// 当前实体数量
/// </summary>
int EntityCount { get; }
/// <summary>
/// 获取内部的Arch World实例用于高级操作
/// </summary>
World InternalWorld { get; }
/// <summary>
/// 创建一个新实体
/// </summary>
/// <param name="types">组件类型数组</param>
/// <returns>创建的实体</returns>
Entity CreateEntity(params ComponentType[] types);
/// <summary>
/// 销毁指定实体
/// </summary>
/// <param name="entity">要销毁的实体</param>
void DestroyEntity(Entity entity);
/// <summary>
/// 检查实体是否存活
/// </summary>
/// <param name="entity">要检查的实体</param>
/// <returns>实体是否存活</returns>
bool IsAlive(Entity entity);
/// <summary>
/// 清空所有实体
/// </summary>
void Clear();
}