准备工作, PoolManager插件自行下载后导入工程.
第一步. 如下图所示, 1 创建一个物体CubePool, 2 绑定SpawnPool脚本后命名Pool1, 3 点击"+"号, 在池里添加一个预制Cube.
第二步. 创建TestPool脚本挂载到任意物体上.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using PathologicalGames;
public class TestPool : MonoBehaviour
{
SpawnPool pool1;
Transform trans;
List<Transform> instList;
// Use this for initialization
void Start()
{
InitPool();
instList = new List<Transform>();
}
void InitPool()
{
pool1 = PoolManager.Pools["Pool1"];
trans = pool1.prefabs["Cube"];
}
void OnGUI()
{
if (GUI.Button(new Rect(100, 100, 100, 100), "生成"))
{
Transform inst = pool1.Spawn(trans, pool1.transform);
inst.localPosition = Vector3.zero;
instList.Add(inst);
}
if (GUI.Button(new Rect(200, 100, 100, 100), "销毁"))
{
pool1.Despawn(instList[0]);
instList.Remove(instList[0]);
print(instList.Count);
}
}
}