Exemplo n.º 1
0
        public void OnPlayerUseCard(int cardId, int level, bool isLeft)
        {
            IFlowItem item = null;

            if (SpellBook.IsTrap(cardId))
            {
                item = new TrapItem
                {
                    IsLeft = isLeft,
                    X      = 0,
                    Id     = CardIndex++
                };
            }
            else
            {
                item = new CardInfo
                {
                    CardId = cardId,
                    Level  = level,
                    IsLeft = isLeft,
                    X      = 0,
                    Id     = CardIndex++
                };
            }
            if (cardList.Count > 0)
            {
                item.X = Math.Min(0, cardList[cardList.Count - 1].X - ItemWidth);
            }
            cardList.Add(item);
            Invalidate();
        }
Exemplo n.º 2
0
 public void SetItem(TrapItem item)
 {
     _item = item;
     if (item != null)
     {
         _itemIcon.enabled        = true;
         _ownedAmountIcon.enabled = true;
         _ownedAmountText.enabled = true;
         _itemIcon.sprite         = _item.GetItemSprite();
         _ownedAmount             = _item.GetOwnedAmount();
         if (_isShopSlot)
         {
             _ownedAmountText.text = item.GetShopPrice().ToString();
         }
         else
         {
             _ownedAmountText.text = _ownedAmount.ToString();
         }
     }
     else
     {
         _itemIcon.enabled        = false;
         _ownedAmount             = -1;
         _ownedAmountIcon.enabled = false;
         _ownedAmountText.enabled = false;
     }
 }
 private void Update()
 {
     if (_isShopOpen)
     {
         _selected = _shopManager.GetSelectedItem();
     }
     else
     {
         _selected = _trapSelectionManager.GetSelectedItem();
     }
     if (_selected != null)
     {
         _trapName.text        = _selected.GetItemName();
         _trapImage.sprite     = _selected.GetItemSprite();
         _trapDescription.text = _selected.GetDescription();
         _effectNum            = _selected.GetEffectNum();
         if (_effectNum == 1)
         {
             DisplayOneEffect();
         }
         else if (_effectNum == 2)
         {
             DisplayTwoEffects();
         }
     }
 }
        public void LoadArena()
        {
            int i;

            for (i = 0; i < 25; i++)
            {
                TrapItem currentItem = _slots[i].GetItem();
                _arenaTransferSO.SetSlot(i, currentItem);
            }
        }
Exemplo n.º 5
0
        public void RetrieveTrap(TrapItem trap)
        {
            int index = _inventory.GetItemList().IndexOf(trap);

            if (index != -1)
            {
                _inventory.GetItemList()[index].IncreaseOwnedCount();
            }
            DisplayInventory();
        }
        private void BuyItem()
        {
            TrapItem selected = _selectedSlot.GetItem();

            if (_inventory.CanAfford(selected))
            {
                _inventory.SpendCoins(selected.GetShopPrice());
                _inventory.AddItem(selected);
            }
        }
        public void LoadBuiltState()
        {
            int i;

            for (i = 0; i < 25; i++)
            {
                TrapItem currentItem = _arenaTransferSO.GetItem(i);
                _slots[i].SetItem(currentItem);
            }
        }
Exemplo n.º 8
0
 public void SetSlot(int i, TrapItem item)
 {
     if (item != null)
     {
         _slotArray[i] = item.GetPrefab();
     }
     else
     {
         _slotArray[i] = _empty;
     }
     _items[i] = item;
 }
Exemplo n.º 9
0
 public void SetItem(TrapItem item)
 {
     _item = item;
     if (item != null)
     {
         _itemIcon.enabled = true;
         _itemIcon.sprite  = item.GetItemSprite();
     }
     else
     {
         _itemIcon.enabled = false;
     }
 }
 private void MoveSelectionRight()
 {
     if (_isMovingTrap)
     {
         _selectedSlot.SetItem(_trapBeingMovedOn);
     }
     UpdateSelection(_x, _y, _x, _y != 4 ? _y + 1 : 0);
     if (_isMovingTrap)
     {
         _trapBeingMovedOn = _selectedSlot.GetItem();
         _selectedSlot.SetItem(_movingTrap);
     }
 }
 private void ManageTrap()
 {
     if (_selectedSlot.GetItem() == _trapSelectionManager.GetSelectedItem() && !_isMovingTrap)
     {
         _isMovingTrap = true;
         _movingTrap   = _selectedSlot.GetItem();
     }
     else if (DoesNotExceedLimits(_trapSelectionManager.GetSelectedItem()))
     {
         BuildTrap();
     }
     LoadArena();
 }
 private void MoveSelectionUp()
 {
     if (_isMovingTrap)
     {
         _selectedSlot.SetItem(_trapBeingMovedOn);
     }
     UpdateSelection(_x, _y, _x != 0 ? _x - 1 : 4, _y);
     if (_isMovingTrap)
     {
         _trapBeingMovedOn = _selectedSlot.GetItem();
         _selectedSlot.SetItem(_movingTrap);
     }
 }
Exemplo n.º 13
0
        public void AddItem(TrapItem trapItem)
        {
            int index = _inventory.GetItemList().IndexOf(trapItem);

            if (index != -1)
            {
                _inventory.GetItemList()[index].IncreaseOwnedCount();
            }
            else
            {
                trapItem.SetOwnedCount(1);
                _inventory.GetItemList().Add(trapItem);
            }
            _inventory.Order();
            DisplayInventory();
        }
 private void BuildTrap()
 {
     if (_isMovingTrap)
     {
         if (_trapBeingMovedOn != null)
         {
             _inventory.RetrieveTrap(_trapBeingMovedOn);
         }
         _isMovingTrap     = false;
         _movingTrap       = null;
         _trapBeingMovedOn = null;
     }
     else if (_selectedSlot.GetItem() == null) //Not Replacing an already existing trap
     {
         _inventory.PlaceTrap(_trapSelectionManager.GetSelectedItem());
     }
     else
     {
         _inventory.PlaceTrap(_trapSelectionManager.GetSelectedItem());
         _inventory.RetrieveTrap(_selectedSlot.GetItem());
     }
     _selectedSlot.SetItem(_trapSelectionManager.GetSelectedItem());
 }
        private void UpdateView()
        {
            if (_inventory.GetItemList().Count > 0)
            {
                _leftSlot.SetItem(_inventory.GetItemList()[_currentIndex]);
                if (_inventory.GetItemList().Count == 1)
                {
                    _centralSlot.SetItem(_inventory.GetItemList()[_currentIndex]);
                    _rightSlot.SetItem(_inventory.GetItemList()[_currentIndex]);
                }
                else if (_inventory.GetItemList().Count == 2)
                {
                    _centralSlot.SetItem(_inventory.GetItemList()[_currentIndex]);
                    _rightSlot.SetItem(_inventory.GetItemList()[(_currentIndex + 1) % _inventory.GetItemList().Count]);
                }
                else
                {
                    _centralSlot.SetItem(_inventory.GetItemList()[(_currentIndex + 1) % _inventory.GetItemList().Count]);
                    _rightSlot.SetItem(_inventory.GetItemList()[(_currentIndex + 2) % _inventory.GetItemList().Count]);
                }

                _selectedItem = _centralSlot.GetItem();
            }
        }
Exemplo n.º 16
0
        public bool HasTrap(TrapItem trap)
        {
            int index = _inventory.GetItemList().IndexOf(trap);

            return(index != -1 && _inventory.GetItemList()[index].GetOwnedAmount() > 0);
        }
Exemplo n.º 17
0
 public bool CanAfford(TrapItem item)
 {
     return(_inventory.GetPlayerCoins() >= item.GetShopPrice());
 }
 private bool DoesNotExceedLimits(TrapItem item)
 {
     return(_inventory.HasTrap(item) || _movingTrap == item);
 }