feat(ecs): 为ECS相关功能添加实验性特性标记

- 在ArchitectureContext中的ECS相关方法添加[Experimental]特性
- 在ECS测试类上添加[Experimental]特性标记
- 为ECS基础测试方法添加实验性特性
- 统一使用System.Diagnostics.CodeAnalysis命名空间
- 标记GetEcsWorld、RegisterEcsSystem等核心方法为实验性API
This commit is contained in:
GeWuYou 2026-02-23 11:34:26 +08:00 committed by gewuyou
parent a65d4fa294
commit 89b7bcca8a
4 changed files with 12 additions and 0 deletions

View File

@ -1,3 +1,4 @@
using System.Diagnostics.CodeAnalysis;
using System.Reflection;
using Arch.Core;
using GFramework.Core.Abstractions.ecs;
@ -13,6 +14,7 @@ using NUnit.Framework;
namespace GFramework.Core.Tests.ecs;
[TestFixture]
[Experimental("GFrameworkECS")]
public class EcsAdvancedTests
{
[SetUp]

View File

@ -1,3 +1,4 @@
using System.Diagnostics.CodeAnalysis;
using System.Reflection;
using Arch.Core;
using GFramework.Core.Abstractions.ecs;
@ -16,6 +17,7 @@ namespace GFramework.Core.Tests.ecs;
/// 包括实体创建、组件设置、系统更新、实体销毁等基本操作。
/// </summary>
[TestFixture]
[Experimental("GFrameworkECS")]
public class EcsBasicTests
{
/// <summary>
@ -80,6 +82,7 @@ public class EcsBasicTests
/// 测试ECS初始化功能验证是否能正确创建EcsWorld实例。
/// </summary>
[Test]
[Experimental("GFrameworkECS")]
public void Test_01_InitializeEcs_Should_Create_EcsWorld()
{
_context!.InitializeEcs();

View File

@ -1,3 +1,4 @@
using System.Diagnostics.CodeAnalysis;
using System.Reflection;
using Arch.Core;
using GFramework.Core.Abstractions.ecs;
@ -16,6 +17,7 @@ namespace GFramework.Core.Tests.ecs;
/// 包括实体管理、组件操作、系统调度、优先级控制以及性能基准测试。
/// </summary>
[TestFixture]
[Experimental("GFrameworkECS")]
public class EcsIntegrationTests
{
/// <summary>

View File

@ -1,3 +1,4 @@
using System.Diagnostics.CodeAnalysis;
using GFramework.Core.Abstractions.architecture;
using GFramework.Core.Abstractions.command;
using GFramework.Core.Abstractions.ecs;
@ -423,6 +424,7 @@ public class ArchitectureContext(IIocContainer container) : IArchitectureContext
/// 获取ECS世界实例
/// </summary>
/// <returns>ECS世界实例</returns>
[Experimental("GFrameworkECS")]
public IEcsWorld GetEcsWorld()
{
return _ecsWorld ??
@ -433,6 +435,7 @@ public class ArchitectureContext(IIocContainer container) : IArchitectureContext
/// 注册ECS系统
/// </summary>
/// <typeparam name="T">ECS系统类型</typeparam>
[Experimental("GFrameworkECS")]
public void RegisterEcsSystem<T>() where T : class, IEcsSystem
{
// 使用RegisterPlurality注册到所有接口
@ -442,6 +445,7 @@ public class ArchitectureContext(IIocContainer container) : IArchitectureContext
/// <summary>
/// 初始化ECS在架构初始化时调用
/// </summary>
[Experimental("GFrameworkECS")]
public void InitializeEcs()
{
if (_ecsWorld != null) return;
@ -463,6 +467,7 @@ public class ArchitectureContext(IIocContainer container) : IArchitectureContext
/// <summary>
/// 销毁ECS资源
/// </summary>
[Experimental("GFrameworkECS")]
private void DisposeEcs()
{
_ecsWorld?.Dispose();