mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-22 10:34:30 +08:00
feat(ecs): 为ECS相关功能添加实验性特性标记
- 在ArchitectureContext中的ECS相关方法添加[Experimental]特性 - 在ECS测试类上添加[Experimental]特性标记 - 为ECS基础测试方法添加实验性特性 - 统一使用System.Diagnostics.CodeAnalysis命名空间 - 标记GetEcsWorld、RegisterEcsSystem等核心方法为实验性API
This commit is contained in:
parent
a65d4fa294
commit
89b7bcca8a
@ -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]
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user