Esempio n. 1
0
    public IEnumerable <LiteUnit> GetUnits(RedemptionTDType type, int numberToSpawn, int level = 1)
    {
        for (int count = 0; count < numberToSpawn; count++)
        {
            if (!unitsPool.ContainsKey(type))
            {
                break;
            }

            var unitsPoolList = unitsPool[type];
            var unitIndex     = unitsPoolIndex[type];

            if (unitIndex < unitsPoolList.Count)
            {
                var unit           = unitsPoolList[unitIndex];
                var heavyReference = GetHeavyReference(type);
                var enemy          = unit as EnemyLite;
                var currentLevel   = enemy != null ? enemy.HeavyReference.Level : level;
                unit.Initialize(heavyReference.GetHeavyReference(type, currentLevel));
                unitsPoolList[unitIndex] = null;
                unitsPoolIndex[type]++;
                unit.gameObject.SetActive(true);
                unit.transform.parent = null;
                yield return(unit);
            }
            else
            {
                break;
            }
        }
    }
Esempio n. 2
0
    private void SetOkSpawnSprite(RedemptionTDType currentType)
    {
        var ok = spawnObjectsDictionary[currentType];

        okSpawn.sprite    = ok;
        notOkSpawn.sprite = ok;
    }
Esempio n. 3
0
    private void ReturnUnit(RedemptionTDType type, LiteUnit unit)
    {
        var unitsPoolList = unitsPool[type];
        var unitsIndex    = unitsPoolIndex[type];

        if (unitsIndex > 0)
        {
            unit.transform.parent   = unitsPoolParent;
            unit.transform.position = Vector3.zero;
            unitsPoolIndex[type]--;
            unitsIndex = unitsPoolIndex[type];
            unitsPoolList[unitsIndex] = unit;
            unit.gameObject.SetActive(false);
        }
    }
Esempio n. 4
0
    private HeavyReferences GetHeavyReference(RedemptionTDType type)
    {
        HeavyReferences result = null;

        switch (type)
        {
        case RedemptionTDType.BLACK_ENEMY:
        case RedemptionTDType.IRON_ENEMY:
        case RedemptionTDType.LEAD_ENEMY:
        case RedemptionTDType.MAGNESIUM_ENEMY:
        case RedemptionTDType.BLACK_ENEMY_MID:
        case RedemptionTDType.BLACK_ENEMY_LARGE:
        case RedemptionTDType.BLACK_ENEMY_BOSS:
        case RedemptionTDType.IRON_ENEMY_MID:
        case RedemptionTDType.IRON_ENEMY_LARGE:
        case RedemptionTDType.IRON_ENEMY_BOSS:
        case RedemptionTDType.LEAD_ENEMY_MID:
        case RedemptionTDType.LEAD_ENEMY_LARGE:
        case RedemptionTDType.LEAD_ENEMY_BOSS:
        case RedemptionTDType.MAG_ENEMY_MID:
        case RedemptionTDType.MAG_ENEMY_LARGE:
        case RedemptionTDType.MAG_ENEMY_BOSS:
            result = heavyDictionary[RedemptionTDHeavyType.ENEMY];
            break;

        case RedemptionTDType.BLACK_WEAPON:
        case RedemptionTDType.IRON_WEAPON:
        case RedemptionTDType.LEAD_WEAPON:
        case RedemptionTDType.MAGNESIUM_WEAPON:
            result = heavyDictionary[RedemptionTDHeavyType.WEAPON];
            break;

        case RedemptionTDType.BLACK_RESOURCE_DROP:
        case RedemptionTDType.IRON_RESOURCE_DROP:
        case RedemptionTDType.LEAD_RESOURCE_DROP:
        case RedemptionTDType.MAGNESIUM_RESOURCE_DROP:
            result = heavyDictionary[RedemptionTDHeavyType.RESOURCEDROP];
            break;

        default:
            break;
        }

        return(result);
    }
Esempio n. 5
0
    public HeavyUnit GetHeavyUnit(RedemptionTDType type, int level = 1)
    {
        var heavyReferences = GetHeavyReference(type);

        return(heavyReferences.GetHeavyReference(type, level));
    }
 public RedemptionTDTypeEventArgs(RedemptionTDType type)
 {
     Type = type;
 }
Esempio n. 7
0
 public SpawnWeaponInputArgs(WeaponMode weaponMode, RedemptionTDType type, int cost)
 {
     WeaponMode = weaponMode;
     WeaponType = type;
     WeaponCost = cost;
 }
Esempio n. 8
0
    public virtual HeavyUnit GetHeavyReference(RedemptionTDType type, int level)
    {
        if (level < 1 || level > black.Count)
        {
            level = 0;
        }
        else
        {
            level--;
        }

        HeavyUnit result = null;

        switch (type)
        {
        case RedemptionTDType.BLACK_WEAPON:
        case RedemptionTDType.BLACK_ENEMY:
        case RedemptionTDType.BLACK_RESOURCE:
        case RedemptionTDType.BLACK_RESOURCE_DROP:
        case RedemptionTDType.BLACK_BASE:
        case RedemptionTDType.BLACK_ENEMY_MID:
        case RedemptionTDType.BLACK_ENEMY_LARGE:
        case RedemptionTDType.BLACK_ENEMY_BOSS:
            result = black[level];
            break;

        case RedemptionTDType.IRON_WEAPON:
        case RedemptionTDType.IRON_ENEMY:
        case RedemptionTDType.IRON_RESOURCE:
        case RedemptionTDType.IRON_RESOURCE_DROP:
        case RedemptionTDType.IRON_BASE:
        case RedemptionTDType.IRON_ENEMY_MID:
        case RedemptionTDType.IRON_ENEMY_LARGE:
        case RedemptionTDType.IRON_ENEMY_BOSS:
            result = iron[level];
            break;

        case RedemptionTDType.LEAD_WEAPON:
        case RedemptionTDType.LEAD_ENEMY:
        case RedemptionTDType.LEAD_RESOURCE:
        case RedemptionTDType.LEAD_RESOURCE_DROP:
        case RedemptionTDType.LEAD_BASE:
        case RedemptionTDType.LEAD_ENEMY_MID:
        case RedemptionTDType.LEAD_ENEMY_LARGE:
        case RedemptionTDType.LEAD_ENEMY_BOSS:
            result = lead[level];
            break;

        case RedemptionTDType.MAGNESIUM_WEAPON:
        case RedemptionTDType.MAGNESIUM_ENEMY:
        case RedemptionTDType.MAGNESIUM_RESOURCE:
        case RedemptionTDType.MAGNESIUM_RESOURCE_DROP:
        case RedemptionTDType.MAGNESIUM_BASE:
        case RedemptionTDType.MAG_ENEMY_MID:
        case RedemptionTDType.MAG_ENEMY_LARGE:
        case RedemptionTDType.MAG_ENEMY_BOSS:
            result = magnesium[level];
            break;

        default:
            break;
        }

        return(result);
    }
Esempio n. 9
0
 public virtual HeavyUnit GetHeavyReference(RedemptionTDType type)
 {
     return(GetHeavyReference(type, 1));
 }