对象池

作者: 123654a | 来源:发表于2019-02-27 03:01 被阅读0次

    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);
    }
    

    }

    相关文章

      网友评论

          本文标题:对象池

          本文链接:https://www.haomeiwen.com/subject/gdwtuqtx.html