Ejemplo n.º 1
0
    /// <summary>
    /// Sets the poolable object.
    /// </summary>
    /// <param name="_poolableObject">Poolable object.</param>
    /// <param name="_poolObjName">Pool object name.</param>
    /// <param name="_removeCurrentPooledObj">If set to <c>true</c> remove current pooled object.</param>
    public void SetPoolableObject(
        PoolableObject _poolableObject,
        string _poolObjName,
        bool _removeCurrentPooledObj = true)
    {
        GameObject poolPrefabManager = GameObject.Find("PoolPrefabManager");

        if (poolPrefabManager == null)
        {
            poolPrefabManager = GameObjectUtil.CreateInstance(null, "PoolPrefabManager");
        }

        // Destroy current pool object prefab if any.
        DestoryPoolObjectPrefab();

        pooledObject      = Object.Instantiate(_poolableObject);
        pooledObject.name = _poolObjName;
        pooledObject.gameObject.SetActive(false);
        pooledObject.transform.SetParent(poolPrefabManager.transform);

        if (_removeCurrentPooledObj)
        {
            ClearPooledObjects(false);
        }
    }
Ejemplo n.º 2
0
    public static GenericPool CreateNewPool(Transform _parent, string _poolName = "Pool", int _maxPoolSize = NoSizeLimit)
    {
        GenericPool pool = GameObjectUtil.CreateInstance <GenericPool>(_parent, _poolName);

        pool.maxPoolSize = _maxPoolSize;
        pool.InitializePool();
        return(pool);
    }
Ejemplo n.º 3
0
    public static GenericPool CreateNewPool <T>(Transform _parent, string _poolName = "Pool", string _poolObjName = "PoolObj", int _maxPoolSize = NoSizeLimit) where T : PoolableObject
    {
        GenericPool pool    = CreateNewPool(_parent, _poolName, _maxPoolSize);
        T           poolObj = GameObjectUtil.CreateInstance <T>(pool.transform, _poolObjName);

        pool.SetPoolableObject(poolObj, _poolObjName);
        return(pool);
    }
Ejemplo n.º 4
0
    void Start()
    {
        SpriteRenderer spriteRenderer = this.gameObject.AddComponent <SpriteRenderer>();

        spriteRenderer.sprite = GetUnitSprite();

        bulletManager = GameObjectUtil.CreateInstance <BulletManager>(this.transform, "BulletManager");
        bulletManager.IsAllyBullet = true;
        bulletManager.UpdateBulletType(BulletType.Normal);
    }
Ejemplo n.º 5
0
 public static Unit CreateNewUnit(Transform _parent, UnitType _unitType, string _name = "")
 {
     return(GameObjectUtil.CreateInstance <Unit>(
                _parent,
                _name.Length <= 0 ? _unitType.ToString() : _name));
 }
Ejemplo n.º 6
0
 public static Timer InstantiateTimer(Transform _parent, string _name)
 {
     return(GameObjectUtil.CreateInstance <Timer>(_parent, _name));
 }
Ejemplo n.º 7
0
 public static T CreateNewPoolableObject <T>(Transform _parent, string _name) where T : PoolableObject
 {
     return(GameObjectUtil.CreateInstance <T>(_parent, _name));
 }