JGameObject对象池

JGameObjectPool是一个GameObject对象池

JGameObjectPool能干什么?

  • 创建GameObject
  • 从池内取GameObject
  • 灵活使用优化性能

命名空间

  • using JEngine.Core;
    

API

  • public GameObject PoolObject; //从对象池内获取对象
    

使用

  1. 在Unity编辑器下,进入一个场景
  2. 选中一个要挂载对象池的GameObject
  3. 挂上ClassBind
  4. 命名空间写JEngine.Core,类名写JGameObjectPool
  5. 点击ClassBind内的自动匹配字段
  6. 给字段赋值
    1. OriginalObj是池的对象的原对象,可以是Prefab或场景内的GameObject
    2. Parent是对象池生成OriginalObj后生成出来的东西的父Transform
    3. pooledAmount是池子初始化时的总数(即初始化是生成几次OriginalObj
    4. lockPool是是否需要锁池子,如果池子被锁了,且没有空余的对象去返回,就会返回null,而如果没锁池子,如果没空余的对象去返回就会生成新的,并给池子扩容
  7. 代码里获取到JGameObjectPool后调用其PoolObject即可
  8. 使用完毕后将gameObject的active设为false自动释放,否则不会释放