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(); }
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); } }
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); } }
public void SetSlot(int i, TrapItem item) { if (item != null) { _slotArray[i] = item.GetPrefab(); } else { _slotArray[i] = _empty; } _items[i] = item; }
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); } }
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(); } }
public bool HasTrap(TrapItem trap) { int index = _inventory.GetItemList().IndexOf(trap); return(index != -1 && _inventory.GetItemList()[index].GetOwnedAmount() > 0); }
public bool CanAfford(TrapItem item) { return(_inventory.GetPlayerCoins() >= item.GetShopPrice()); }
private bool DoesNotExceedLimits(TrapItem item) { return(_inventory.HasTrap(item) || _movingTrap == item); }