对象池

using UnityEngine;
using System.Collections.Generic;

public class chi {
//有对象池管理器,变为私有 对象池变为普通的类
private GameObject prefab;

//队列方法
private Stack<GameObject> pool = new Stack<GameObject>();

public chi(GameObject prefa)
{
    prefab = prefa;
}

//取对象,用于生成
public GameObject Get()
{
    if (pool.Count>0)
    {
        GameObject go = pool.Pop();
        go.SetActive(true);
        return go;
    }
    else
    {
        GameObject go = GameObject.Instantiate(prefab);
        return go;
    }
}

//存对象,将子弹压入栈中
public void Save(GameObject go)
{
    go.SetActive(false);
    pool.Push(go);
}

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容