Example #1
0
 void MakeInstance()
 {
     if (instance == null)
     {
         instance = this;
     }
 }
    public ItemBase GetAtPool(ItemType itemType)
    {
        Stack <ItemBase> stack;

        if (_itemsPool.TryGetValue(itemType, out stack))
        {
            if (stack.Count > 0)
            {
                return(stack.Pop());
            }
        }
        else
        {
            stack = new Stack <ItemBase>();
            _itemsPool.Add(itemType, stack);
        }
        ItemBase item;

        switch (itemType)
        {
        case ItemType.PowerNormal:
            item = new ItemPowerNormal();
            break;

        case ItemType.PowerBig:
            item = new ItemPowerBig();
            break;

        case ItemType.PowerFull:
            item = new ItemPowerFull();
            break;

        case ItemType.LifeFragment:
            item = new ItemLifeFragment();
            break;

        case ItemType.Life:
            item = new ItemLife();
            break;

        case ItemType.BombFragment:
            item = new ItemBombFragment();
            break;

        case ItemType.Bomb:
            item = new ItemBomb();
            break;

        default:
            item = null;
            break;
        }
        return(item);
    }