public void AddItemToData(Slottable slottable, int quantity) { InventoryItem item = slottable.m_Item; bool found = false; for (int i = 0; i < inventory.entries.Count; i++) { if (item.isStackable) { if (inventory.entries[i].itemInstance.m_item.itemId == item.itemId) { inventory.entries[i].quantity += quantity; found = true; } } else { if (inventory.entries[i].itemInstance == slottable.m_itemInstance) { inventory.entries[i].quantity += quantity; found = true; } } } if (!found) { InventoryItemEntry newEntry = new InventoryItemEntry(); newEntry.itemInstance = slottable.m_itemInstance; newEntry.quantity = quantity; inventory.entries.Add(newEntry); } }
public override void OnItemSelect(InventoryItemEntry itemEntry, InventoryView container) { if (itemEntry != null) { _selectedItemContainer = container; _selectedItemEntry = itemEntry; ActionSheet.SetItemTitle(itemEntry.ItemData.Item.DisplayName); //build description with item description and attributes ActionSheet.SetItemDesc(itemEntry.ItemData.Item.Description); ActionSheet.ListItemAttributes(itemEntry.ItemData.Item); ActionSheet.SetItemSubnote("", ""); TraderInventory.DeselectAll(); CargoAmmoInventory.DeselectAll(); if (container == TraderInventory) { SellButton.isEnabled = false; BuyButton.isEnabled = true; } else if (container == CargoAmmoInventory) { SellButton.isEnabled = true; BuyButton.isEnabled = false; } if (_selectedItemEntry.ItemData.Item.Type == ItemType.Ammo || _selectedItemEntry.ItemData.Item.Type == ItemType.Commodity) { QuantitySlider.alpha = 1; NGUITools.SetActive(QuantitySlider.gameObject, true); QuantitySlider.value = 0; _selectedQuantity = 1; QuantityLabel.text = "1"; TotalPriceValue.alpha = 1; TotalPriceValue.text = "$" + Mathf.CeilToInt(_selectedItemEntry.Price * _selectedQuantity).ToString("#,#"); } else if (_selectedItemEntry.ItemData.Quantity > 1) { QuantitySlider.alpha = 1; NGUITools.SetActive(QuantitySlider.gameObject, true); QuantitySlider.value = 1; _selectedQuantity = _selectedItemEntry.ItemData.Quantity; QuantityLabel.text = _selectedItemEntry.ItemData.Quantity.ToString(); TotalPriceValue.alpha = 1; TotalPriceValue.text = "$" + Mathf.CeilToInt(_selectedItemEntry.Price * _selectedQuantity).ToString("#,#"); } else { QuantitySlider.alpha = 0; _selectedQuantity = 1; NGUITools.SetActive(QuantitySlider.gameObject, false); TotalPriceValue.alpha = 1; TotalPriceValue.text = "$" + Mathf.CeilToInt(_selectedItemEntry.Price).ToString("#,#"); } } }
public void OnSecButtonClick(InventoryItemEntry clickedEntry) { if (SelectedItemHandler != null) { SelectedItemHandler.OnItemSecButtonClick(clickedEntry, this); } }
public override void OnItemSelect(InventoryItemEntry itemEntry, InventoryView container) { _selectedItem = itemEntry.ItemData; _selectedItemContainer = container; _selectedItemIndex = itemEntry.InventoryIndex; EquipmentInventory.DeselectAll(); CargoEquipmentInventory.DeselectAll(); ShipModsInventory.DeselectAll(); ActionSheet.SetItemTitle(itemEntry.ItemData.Item.DisplayName); //build description with item description and attributes ActionSheet.SetItemDesc(itemEntry.ItemData.Item.Description); ActionSheet.SetItemSubnote("", ""); ActionSheet.ListItemAttributes(itemEntry.ItemData.Item); if (container == EquipmentInventory) { InstallButton.isEnabled = false; RemoveButton.isEnabled = true; } else if (container == CargoEquipmentInventory) { InstallButton.isEnabled = true; RemoveButton.isEnabled = false; } else if (container == ShipModsInventory) { InstallButton.isEnabled = false; RemoveButton.isEnabled = true; } }
public override void OnItemSecButtonClick(InventoryItemEntry itemEntry, InventoryView container) { if (itemEntry.ItemData.Item.Type == ItemType.HangarItem) { OnSwitchToShip(itemEntry.ItemData); Refresh(); OnItemSelect(itemEntry, container); } }
public void OnUserClickEntry(InventoryItemEntry clickedEntry) { if (SelectedItemHandler != null) { SelectedItemHandler.OnItemSelect(clickedEntry, this); clickedEntry.OnSelect(); } }
/// <summary> /// Adds an item to the store inventory and removes it from the player's. /// </summary> private void AddToStoreInventory(InventoryItemEntry itemEntry) { if (npcInventory.ItemsInInventory.Count >= merchantInventorySize) { return; } npcInventory.AddItemEntry(itemEntry, 1, false); player.Inventory.RemoveItemEntry(itemEntry); UpdateItemDisplays(); }
/// <summary> /// Removes an item from the store inventory and adds it to the player's. /// </summary> private void RemoveFromStoreInventory(InventoryItemEntry itemEntry) { if (player.Inventory.ItemsInInventory.Count >= player.Inventory.InventorySize) { return; } player.Inventory.AddItemEntry(itemEntry, 1, false); npcInventory.RemoveItemEntry(itemEntry); selectedItems.Add(itemEntry.ItemSettings); UpdateItemDisplays(); }
public void ClearSelections() { CargoAmmoInventory.DeselectAll(); TraderInventory.DeselectAll(); _selectedItemEntry = null; _selectedItemContainer = null; SellButton.isEnabled = false; BuyButton.isEnabled = false; QuantitySlider.alpha = 0; TotalPriceValue.alpha = 0; NGUITools.SetActive(QuantitySlider.gameObject, false); ActionSheet.Clear(); }
public override void OnItemSecButtonClick(InventoryItemEntry itemEntry, InventoryView container) { if (itemEntry.ItemData.Item.Type == ItemType.Ammo && _selectedWeaponItem != null) { string ammoType = _selectedWeaponItem.Item.GetStringAttribute("Ammo Type"); if (ammoType == itemEntry.ItemData.Item.GetStringAttribute("Ammo Type") && !string.IsNullOrEmpty(ammoType) && _selectedWeaponItem.Item.Type == ItemType.Weapon) { _selectedWeaponItem.RelatedItemID = itemEntry.ItemData.Item.ID; Refresh(); OnItemSelect(_selectedItemEntry, _selectedItemContainer); } } }
/// <summary> /// Sets up the item ui with the item information. /// </summary> public void SetUpItemUi(InventoryItemEntry item, float animationTime) { itemInfo = item; icon.sprite = itemInfo.ItemSettings.itemImage; // ReSharper disable once SpecifyACultureInStringConversionExplicitly amount.text = itemInfo.Stack.ToString(); if (animationTime > 0f) { transform.localScale = Vector3.zero; transform.DOScale(Vector3.one, animationTime); } }
public override void OnItemSelect(InventoryItemEntry itemEntry, InventoryView container) { if (itemEntry != null) { _selectedItemContainer = container; _selectedItem = itemEntry.ItemData; ActionSheet.SetItemTitle(itemEntry.ItemData.Item.DisplayName); //build description with item description and attributes ActionSheet.SetItemDesc(itemEntry.ItemData.Item.Description); ActionSheet.ListItemAttributes(itemEntry.ItemData.Item); ActionSheet.SetItemSubnote("", ""); VaultInventory.DeselectAll(); CargoAmmoInventory.DeselectAll(); if (container == VaultInventory) { StoreButton.isEnabled = false; RetrieveButton.isEnabled = true; } else if (container == CargoAmmoInventory && _currentStationData.HomeStationData != null && _currentStationData.HomeStationData.VaultSize > 0) { StoreButton.isEnabled = true; RetrieveButton.isEnabled = false; } if (_selectedItem.Quantity > 1) { QuantitySlider.alpha = 1; NGUITools.SetActive(QuantitySlider.gameObject, true); QuantitySlider.value = 1; _selectedQuantity = _selectedItem.Quantity; QuantityLabel.text = _selectedItem.Quantity.ToString(); } else { QuantitySlider.alpha = 0; _selectedQuantity = 1; NGUITools.SetActive(QuantitySlider.gameObject, false); } } }
/// <summary> /// Sets up the item UI. /// </summary> public void SetUpItemUi(InventoryItemEntry item) { itemInfo = item; icon.sprite = itemInfo.ItemSettings.itemImage; title.text = $"{LocalizationSystem.GetLocalizedValue(itemInfo.ItemSettings.itemNameKey)} x {itemInfo.Stack}"; description.text = item.ItemSettings.hasEffect ? $"{LocalizationSystem.GetLocalizedValue(itemInfo.ItemSettings.itemDescriptionKey)} " + $"{Environment.NewLine} {LocalizationSystem.GetLocalizedValue(itemInfo.ItemSettings.itemEffects)}" : LocalizationSystem.GetLocalizedValue(itemInfo.ItemSettings.itemDescriptionKey); if (item.ItemSettings.hasEffect) { consume.onClick.AddListener(item.ItemSettings.ApplyEffect); } else { Destroy(consume.gameObject); } discard.onClick.AddListener(item.ItemSettings.DropItem); }
public override void OnItemSelect(InventoryItemEntry itemEntry, InventoryView container) { DockedShipInventory.DeselectAll(); HangarInventory.DeselectAll(); _selectedEntry = itemEntry; Loadout selectedLoadout = null; //check if item is active loadout if (itemEntry.ItemData.Item.Description == GameManager.Inst.PlayerProgress.ActiveLoadout.LoadoutID) { selectedLoadout = GameManager.Inst.PlayerProgress.ActiveLoadout; } else { //check if item is in hangar selectedLoadout = FindLoadoutInHangar(itemEntry.ItemData.Item.Description); } ShipInfoSheet.CurrentLoadout = selectedLoadout; ShipInfoSheet.Refresh(); ShipDataSheet.CurrentLoadout = selectedLoadout; ShipDataSheet.Refresh(); }
public virtual void Refresh() { if (_inventory == null) { return; } //destroy all existing entries foreach (InventoryItemEntry entry in ItemEntries) { GameObject.Destroy(entry.gameObject); } ItemEntries.Clear(); //add entries int i = 0; foreach (InvItemData itemData in _inventory) { GameObject entryGO = GameObject.Instantiate(Resources.Load("InventoryItemEntry")) as GameObject; entryGO.transform.parent = BackdropSprite.transform; entryGO.transform.localScale = new Vector3(1, 1, 1); entryGO.transform.localEulerAngles = Vector3.zero; entryGO.transform.localPosition = new Vector3(LeftX, TopY - EntryYSize * i, 0); InventoryItemEntry entry = entryGO.GetComponent <InventoryItemEntry>(); entry.ParentView = this; entry.OnDeselect(); entry.ItemData = itemData; entry.SetItemText(itemData.Item.DisplayName); entry.SetItemQuantity(itemData.Quantity); ItemEntries.Add(entry); i++; } }
public virtual void OnItemSelect(InventoryItemEntry itemEntry, InventoryView container) { }
public override void OnItemSelect(InventoryItemEntry itemEntry, InventoryView container) { _selectedItemContainer = container; ActionSheet.SetItemTitle(itemEntry.ItemData.Item.DisplayName); //build description with item description and attributes ActionSheet.SetItemDesc(itemEntry.ItemData.Item.Description); ActionSheet.ListItemAttributes(itemEntry.ItemData.Item); string loadedAmmoID = itemEntry.ItemData.RelatedItemID; if (!string.IsNullOrEmpty(loadedAmmoID)) { string ammoName = GameManager.Inst.ItemManager.GetItemStats(loadedAmmoID).DisplayName; ActionSheet.SetItemSubnote("Current Load", ammoName); } else if (!string.IsNullOrEmpty(itemEntry.ItemData.Item.GetStringAttribute("Ammo Type")) && (itemEntry.ItemData.Item.Type == ItemType.Weapon || itemEntry.ItemData.Item.Type == ItemType.Defensives)) { ActionSheet.SetItemSubnote("Current Load", "NONE"); } else { ActionSheet.SetItemSubnote("", ""); } if (container == WeaponInventory || container == DefensivesInventory || itemEntry.ItemData.Item.Type == ItemType.Weapon || itemEntry.ItemData.Item.Type == ItemType.Defensives) { _selectedWeaponItem = itemEntry.ItemData; } else if (container == CargoAmmoInventory) { _selectedWeaponItem = itemEntry.ItemData; } _selectedItemEntry = itemEntry; WeaponInventory.DeselectAll(); DefensivesInventory.DeselectAll(); CargoAmmoInventory.DeselectAll(); if (container == WeaponInventory || container == DefensivesInventory) { InstallButton.isEnabled = false; RemoveButton.isEnabled = true; } else if (container == CargoAmmoInventory) { if (itemEntry.ItemData.Item.Type == ItemType.Weapon || itemEntry.ItemData.Item.Type == ItemType.Defensives) { InstallButton.isEnabled = true; RemoveButton.isEnabled = false; } else if (itemEntry.ItemData.Item.Type == ItemType.Ammo) { InstallButton.isEnabled = false; RemoveButton.isEnabled = false; } } ShipInventorySheet.RefreshLoadButtons(_selectedWeaponItem); }
public virtual void OnItemSecButtonClick(InventoryItemEntry itemEntry, InventoryView container) { }