示例#1
0
    /// <summary>
    /// 获取生成预制体对象
    /// </summary>
    /// <param name="sign">对象池标记</param>
    /// <returns></returns>
    public GameObject Get(out UnityObjectPoolSign sign)
    {
        GameObject go = Get();

        sign = go.GetComponent <UnityObjectPoolSign> ();
        return(go);
    }
示例#2
0
    /// <summary>
    /// 销毁对象委托
    /// </summary>
    private void OnDestroyGO(GameObject go)
    {
        //如果为true表示这是已经销毁的GameObject
        if (go == null || go.Equals(null))
        {
            return;
        }

        if (onDestroyObj != null)
        {
            onDestroyObj.Invoke(go);
        }

        UnityObjectPoolSign sign = go.GetComponent <UnityObjectPoolSign> ();

        //如果没有标记表示这不是对象池创建的对象  如果是 调用销毁对象
        if (sign != null)
        {
            sign.DestroySignObject();
        }
    }