using GFramework.Core.Pool; using Godot; namespace GFramework.Godot.Pool; /// /// 抽象节点对象池系统,用于管理Godot节点类型的对象池 /// /// 用作键的类型,必须不为null /// 节点类型,必须继承自Node并实现IPoolableNode接口 public abstract class AbstractNodePoolSystem : AbstractObjectPoolSystem where TKey : notnull where TNode : Node, IPoolableNode { /// /// 加载场景的抽象方法 /// /// 用于标识场景的键 /// 加载的PackedScene对象 protected abstract PackedScene LoadScene(TKey key); /// /// 创建新节点实例的重写方法 /// /// 用于创建节点的键 /// 创建的新节点实例 protected override TNode Create(TKey key) { return LoadScene(key).Instantiate(); } }