Inheritance: MonoBehaviour
Exemplo n.º 1
0
    public static ObjectPoolTag Apply(GameObject go, int id)
    {
        ObjectPoolTag tag = Get(go);

        if (!tag)
        {
            tag = go.AddComponent <ObjectPoolTag>();
        }

        tag.poolId = id;

        return(tag);
    }
Exemplo n.º 2
0
    /// <summary>
    /// Get/create pool on specified game object
    /// </summary>
    /// <param name="go"></param>
    /// <returns></returns>
    private static Pool GetPool(GameObject go)
    {
        if (!Exists)
        {
            return(null);
        }

        int poolId = ObjectPoolTag.GetPoolId(go);

        if (poolId == 0)
        {
            poolId = go.GetInstanceID();
        }

        if (!Instance.pools.ContainsKey(poolId))
        {
            Instance.pools[poolId] = Pool.Create(go.name + "[#" + poolId + "]", Instance.transform);
        }

        return(Instance.pools[poolId]);
    }
Exemplo n.º 3
0
    public static int GetPoolId(GameObject go)
    {
        ObjectPoolTag tag = Get(go);

        return(tag ? tag.poolId : 0);
    }