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 System.Reflection;
|
||||||
using Arch.Core;
|
using Arch.Core;
|
||||||
using GFramework.Core.Abstractions.ecs;
|
using GFramework.Core.Abstractions.ecs;
|
||||||
@ -13,6 +14,7 @@ using NUnit.Framework;
|
|||||||
namespace GFramework.Core.Tests.ecs;
|
namespace GFramework.Core.Tests.ecs;
|
||||||
|
|
||||||
[TestFixture]
|
[TestFixture]
|
||||||
|
[Experimental("GFrameworkECS")]
|
||||||
public class EcsAdvancedTests
|
public class EcsAdvancedTests
|
||||||
{
|
{
|
||||||
[SetUp]
|
[SetUp]
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
|
using System.Diagnostics.CodeAnalysis;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using Arch.Core;
|
using Arch.Core;
|
||||||
using GFramework.Core.Abstractions.ecs;
|
using GFramework.Core.Abstractions.ecs;
|
||||||
@ -16,6 +17,7 @@ namespace GFramework.Core.Tests.ecs;
|
|||||||
/// 包括实体创建、组件设置、系统更新、实体销毁等基本操作。
|
/// 包括实体创建、组件设置、系统更新、实体销毁等基本操作。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[TestFixture]
|
[TestFixture]
|
||||||
|
[Experimental("GFrameworkECS")]
|
||||||
public class EcsBasicTests
|
public class EcsBasicTests
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -80,6 +82,7 @@ public class EcsBasicTests
|
|||||||
/// 测试ECS初始化功能,验证是否能正确创建EcsWorld实例。
|
/// 测试ECS初始化功能,验证是否能正确创建EcsWorld实例。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Test]
|
[Test]
|
||||||
|
[Experimental("GFrameworkECS")]
|
||||||
public void Test_01_InitializeEcs_Should_Create_EcsWorld()
|
public void Test_01_InitializeEcs_Should_Create_EcsWorld()
|
||||||
{
|
{
|
||||||
_context!.InitializeEcs();
|
_context!.InitializeEcs();
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
|
using System.Diagnostics.CodeAnalysis;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using Arch.Core;
|
using Arch.Core;
|
||||||
using GFramework.Core.Abstractions.ecs;
|
using GFramework.Core.Abstractions.ecs;
|
||||||
@ -16,6 +17,7 @@ namespace GFramework.Core.Tests.ecs;
|
|||||||
/// 包括实体管理、组件操作、系统调度、优先级控制以及性能基准测试。
|
/// 包括实体管理、组件操作、系统调度、优先级控制以及性能基准测试。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[TestFixture]
|
[TestFixture]
|
||||||
|
[Experimental("GFrameworkECS")]
|
||||||
public class EcsIntegrationTests
|
public class EcsIntegrationTests
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
|
using System.Diagnostics.CodeAnalysis;
|
||||||
using GFramework.Core.Abstractions.architecture;
|
using GFramework.Core.Abstractions.architecture;
|
||||||
using GFramework.Core.Abstractions.command;
|
using GFramework.Core.Abstractions.command;
|
||||||
using GFramework.Core.Abstractions.ecs;
|
using GFramework.Core.Abstractions.ecs;
|
||||||
@ -423,6 +424,7 @@ public class ArchitectureContext(IIocContainer container) : IArchitectureContext
|
|||||||
/// 获取ECS世界实例
|
/// 获取ECS世界实例
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns>ECS世界实例</returns>
|
/// <returns>ECS世界实例</returns>
|
||||||
|
[Experimental("GFrameworkECS")]
|
||||||
public IEcsWorld GetEcsWorld()
|
public IEcsWorld GetEcsWorld()
|
||||||
{
|
{
|
||||||
return _ecsWorld ??
|
return _ecsWorld ??
|
||||||
@ -433,6 +435,7 @@ public class ArchitectureContext(IIocContainer container) : IArchitectureContext
|
|||||||
/// 注册ECS系统
|
/// 注册ECS系统
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <typeparam name="T">ECS系统类型</typeparam>
|
/// <typeparam name="T">ECS系统类型</typeparam>
|
||||||
|
[Experimental("GFrameworkECS")]
|
||||||
public void RegisterEcsSystem<T>() where T : class, IEcsSystem
|
public void RegisterEcsSystem<T>() where T : class, IEcsSystem
|
||||||
{
|
{
|
||||||
// 使用RegisterPlurality注册到所有接口
|
// 使用RegisterPlurality注册到所有接口
|
||||||
@ -442,6 +445,7 @@ public class ArchitectureContext(IIocContainer container) : IArchitectureContext
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 初始化ECS(在架构初始化时调用)
|
/// 初始化ECS(在架构初始化时调用)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Experimental("GFrameworkECS")]
|
||||||
public void InitializeEcs()
|
public void InitializeEcs()
|
||||||
{
|
{
|
||||||
if (_ecsWorld != null) return;
|
if (_ecsWorld != null) return;
|
||||||
@ -463,6 +467,7 @@ public class ArchitectureContext(IIocContainer container) : IArchitectureContext
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 销毁ECS资源
|
/// 销毁ECS资源
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Experimental("GFrameworkECS")]
|
||||||
private void DisposeEcs()
|
private void DisposeEcs()
|
||||||
{
|
{
|
||||||
_ecsWorld?.Dispose();
|
_ecsWorld?.Dispose();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user