Exemplo n.º 1
0
    public Transform GetPools(PoolEnums.PoolId poolID, bool IsEnable = true)
    {
        var poolKey = PoolEnums.GetPoolKey(poolID);

        Transform        poolReturn = null;
        List <Transform> poolExport = null;

        if (poolSaver.TryGetValue(poolKey, out poolExport))
        {
            if (poolExport.Count > 0)
            {
                poolReturn = poolExport[0];

                poolExport.RemoveAt(0);
            }
        }

        if (ReferenceEquals(poolReturn, null))
        {
            poolReturn = InstancePool(poolID);
        }

        if (!ReferenceEquals(poolReturn, null) && poolReturn.gameObject.activeSelf != IsEnable)
        {
            poolReturn.gameObject.SetActive(IsEnable);
        }

        return(poolReturn);
    }
Exemplo n.º 2
0
    public PoolManager SetPools(PoolEnums.PoolId poolID, Transform poolComponent)
    {
        var poolKey = PoolEnums.GetPoolKey(poolID);

        List <Transform> poolImport = null;

        if (poolSaver.TryGetValue(poolKey, out poolImport))
        {
            if (!poolImport.Contains(poolComponent))
            {
                poolImport.Add(poolComponent);
            }
        }
        else
        {
            poolImport = new List <Transform> {
                poolComponent
            };
            poolSaver.Add(poolKey, poolImport);
        }

        if (poolComponent.gameObject.activeSelf == true)
        {
            poolComponent.gameObject.SetActive(false);
        }

        return(this);
    }
Exemplo n.º 3
0
    private Transform InstancePool(PoolEnums.PoolId poolID)
    {
        for (int i = 0; i < poolRegister.Count; i++)
        {
            var poolReturn = poolRegister[i].InstancePool(poolID);

            if (!ReferenceEquals(poolReturn, null))
            {
                return(poolReturn);
            }
        }

        return(null);
    }
Exemplo n.º 4
0
    public Transform InstancePool(PoolEnums.PoolId poolID)
    {
        for (int i = 0; i < poolData.Length; i++)
        {
            var item = poolData[i];

            if (item.poolID == poolID)
            {
                if (item.IsExpand == false)
                {
                    return(null);
                }

                var poolInstance = Instantiate(item.poolPrefab.gameObject, transform);

                return(poolInstance.transform);
            }
        }

        return(null);
    }
Exemplo n.º 5
0
    public PoolManager RemovePoolKeys(PoolEnums.PoolId poolID, bool IsDestroy = true)
    {
        var poolKey = PoolEnums.GetPoolKey(poolID);

        if (IsDestroy)
        {
            List <Transform> poolExport = null;

            if (poolSaver.TryGetValue(poolKey, out poolExport))
            {
                for (int i = 0; i < poolExport.Count; i++)
                {
                    Destroy(poolExport[i].gameObject);
                }
            }
        }

        if (poolSaver.ContainsKey(poolKey))
        {
            poolSaver.Remove(poolKey);
        }

        return(this);
    }
Exemplo n.º 6
0
    public void Start1()
    {
        List <CarDataProperties> _carData = new List <CarDataProperties>();

        for (int i = 0; i < 81; i++)
        {
            CarDataProperties _Properties = new CarDataProperties();

            int _index = 0;
            int _level = 0;
            if (i < _BulletsData.GetBulletDatas().Length)
            {
                _level = _BulletsData.GetBulletDatas()[i].Level;
                _index = i;
            }
            else
            {
                _level = i + 1;
                _index = 29;
            }
            _Properties.BulletId    = _BulletsData.GetBulletDatas()[_index].BulletId;
            _Properties.Level       = _level;
            _Properties.PrefabName  = "[Node] Item " + (i + 1);
            _Properties.Damage      = _BulletsData.GetBulletDatas()[_index].Damage;
            _Properties.DamageUnit  = _BulletsData.GetBulletDatas()[_index].DamageUnit;
            _Properties.SpeedMoving = _BulletsData.GetBulletDatas()[_index].SpeedMoving;

            _Properties.CritChange        = _BulletsData.GetBulletDatas()[_index].CritChange;
            _Properties.CritAmount        = _BulletsData.GetBulletDatas()[_index].CritAmount;
            _Properties.DamageMissRange   = _BulletsData.GetBulletDatas()[_index].DamageMissRange;
            _Properties.DamageCoefficient = _BulletsData.GetBulletDatas()[_index].DamageCoefficient;



            if (i < _ItemNodeImage.GetIcons().Length)
            {
                _Properties.Icon = _ItemNodeImage.GetIcons()[i].Icon;
            }
            else
            {
                _Properties.Icon = _BasePlaneComponents[i]._Sprite();
            }


            PoolEnums.PoolId ItemPoolId = 0;
            if (i < _ItemNodeDatal.GetItemNodeData().Length)
            {
                ItemPoolId = _ItemNodeDatal.GetItemNodeData()[_index].ItemPoolId;
                _index     = i;
            }
            else
            {
                ItemPoolId = (PoolEnums.PoolId)(123 + (i - 30));
                _index     = 29;
            }
            _Properties.ItemPoolId       = ItemPoolId;
            _Properties.PerCircleTime    = _ItemNodeDatal.GetItemNodeData()[_index].PerCircleTime;
            _Properties.ProfitPerSec     = _ItemNodeDatal.GetItemNodeData()[_index].ProfitPerSec;
            _Properties.ProfitPerSecUnit = _ItemNodeDatal.GetItemNodeData()[_index].ProfitPerSecUnit;
            _Properties.Exp                         = _ItemNodeDatal.GetItemNodeData()[_index].Exp;
            _Properties.Prices                      = _ItemNodeDatal.GetItemNodeData()[_index].Prices;
            _Properties.PricesUnit                  = _ItemNodeDatal.GetItemNodeData()[_index].PricesUnit;
            _Properties.PricesUpgrade               = _ItemNodeDatal.GetItemNodeData()[_index].PricesUpgrade;
            _Properties.PricesUnitUpgrade           = _ItemNodeDatal.GetItemNodeData()[_index].PricesUnitUpgrade;
            _Properties.PricesCoefficient           = _ItemNodeDatal.GetItemNodeData()[_index].PricesCoefficient;
            _Properties.PriceUpgradeCoefficient     = _ItemNodeDatal.GetItemNodeData()[_index].PriceUpgradeCoefficient;
            _Properties.ProfitPerUpgradeCoefficient = _ItemNodeDatal.GetItemNodeData()[_index].ProfitPerUpgradeCoefficient;
            _Properties.BuyFromLevel                = _ItemNodeDatal.GetItemNodeData()[_index].BuyFromLevel;


            if (i < _WeaponData.GetWeaponProperties().Length)
            {
                _index = i;
            }
            else
            {
                _index = 29;
            }
            _Properties.FireRate      = _WeaponData.GetWeaponProperties()[_index].FireRate;
            _Properties.NumberBullets = _WeaponData.GetWeaponProperties()[_index].NumberBullets;


            if (i < _ItemShopDetail.GetItemProperties().Length)
            {
                _index = i;
            }
            else
            {
                _index = 29;
            }
            _Properties.VSpeed   = _ItemShopDetail.GetItemProperties()[_index].Speed;
            _Properties.VEarning = _ItemShopDetail.GetItemProperties()[_index].Earning;
            _Properties.VDamage  = _ItemShopDetail.GetItemProperties()[_index].Damage;

            _carData.Add(_Properties);
        }
        _CarData.SetCarDataPropertie(_carData.ToArray());

        /*
         * public float  Speed;
         * public float  Earning;
         * public float  Damage;
         */
    }
Exemplo n.º 7
0
 public static PoolManager RemovePoolKeyExtension(PoolEnums.PoolId poolID, bool IsDestroy = true)
 {
     return(PoolManager.InstanceAwake() == null ? null : PoolManager.Instance.RemovePoolKeys(poolID, IsDestroy));
 }
Exemplo n.º 8
0
 public static Transform GetPool(PoolEnums.PoolId poolID, bool IsEnable = true)
 {
     return(PoolManager.InstanceAwake().GetPools(poolID, IsEnable));
 }
Exemplo n.º 9
0
 public static PoolManager SetPool(PoolEnums.PoolId poolID, Transform poolComponent)
 {
     return(PoolManager.InstanceAwake() == null ? null : PoolManager.Instance.SetPools(poolID, poolComponent));
 }