mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-22 10:34:30 +08:00
- 将所有小写的命名空间导入更正为首字母大写格式 - 统一 GFramework 框架的命名空间引用规范 - 修复 core、ecs、godot 等模块的命名空间导入错误 - 标准化文档示例代码中的 using 语句格式 - 确保所有文档中的命名空间引用保持一致性 - 更新 global using 语句以匹配正确的命名空间格式
32 lines
1.1 KiB
C#
32 lines
1.1 KiB
C#
using GFramework.Core.Pool;
|
||
using Godot;
|
||
|
||
namespace GFramework.Godot.Pool;
|
||
|
||
/// <summary>
|
||
/// 抽象节点对象池系统,用于管理Godot节点类型的对象池
|
||
/// </summary>
|
||
/// <typeparam name="TKey">用作键的类型,必须不为null</typeparam>
|
||
/// <typeparam name="TNode">节点类型,必须继承自Node并实现IPoolableNode接口</typeparam>
|
||
public abstract class AbstractNodePoolSystem<TKey, TNode>
|
||
: AbstractObjectPoolSystem<TKey, TNode>
|
||
where TKey : notnull
|
||
where TNode : Node, IPoolableNode
|
||
{
|
||
/// <summary>
|
||
/// 加载场景的抽象方法
|
||
/// </summary>
|
||
/// <param name="key">用于标识场景的键</param>
|
||
/// <returns>加载的PackedScene对象</returns>
|
||
protected abstract PackedScene LoadScene(TKey key);
|
||
|
||
/// <summary>
|
||
/// 创建新节点实例的重写方法
|
||
/// </summary>
|
||
/// <param name="key">用于创建节点的键</param>
|
||
/// <returns>创建的新节点实例</returns>
|
||
protected override TNode Create(TKey key)
|
||
{
|
||
return LoadScene(key).Instantiate<TNode>();
|
||
}
|
||
} |