JGameObject对象池
JGameObjectPool是一个GameObject对象池
JGameObjectPool能干什么?
- 创建GameObject
- 从池内取GameObject
- 灵活使用优化性能
命名空间
using JEngine.Core;
API
public GameObject PoolObject; //从对象池内获取对象
使用
- 在Unity编辑器下,进入一个场景
- 选中一个要挂载对象池的GameObject
- 挂上ClassBind
- 命名空间写
JEngine.Core
,类名写JGameObjectPool
- 点击ClassBind内的自动匹配字段
- 给字段赋值
OriginalObj
是池的对象的原对象,可以是Prefab或场景内的GameObjectParent
是对象池生成OriginalObj
后生成出来的东西的父TransformpooledAmount
是池子初始化时的总数(即初始化是生成几次OriginalObj
)lockPool
是是否需要锁池子,如果池子被锁了,且没有空余的对象去返回,就会返回null,而如果没锁池子,如果没空余的对象去返回就会生成新的,并给池子扩容
- 代码里获取到
JGameObjectPool
后调用其PoolObject
即可 - 使用完毕后将gameObject的active设为false自动释放,否则不会释放