Example #1
0
    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("#,#");
            }
        }
    }
Example #3
0
 public void OnSecButtonClick(InventoryItemEntry clickedEntry)
 {
     if (SelectedItemHandler != null)
     {
         SelectedItemHandler.OnItemSecButtonClick(clickedEntry, this);
     }
 }
Example #4
0
    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;
        }
    }
Example #5
0
 public override void OnItemSecButtonClick(InventoryItemEntry itemEntry, InventoryView container)
 {
     if (itemEntry.ItemData.Item.Type == ItemType.HangarItem)
     {
         OnSwitchToShip(itemEntry.ItemData);
         Refresh();
         OnItemSelect(itemEntry, container);
     }
 }
Example #6
0
    public void OnUserClickEntry(InventoryItemEntry clickedEntry)
    {
        if (SelectedItemHandler != null)
        {
            SelectedItemHandler.OnItemSelect(clickedEntry, this);

            clickedEntry.OnSelect();
        }
    }
Example #7
0
 /// <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();
 }
Example #8
0
 /// <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();
 }
Example #10
0
 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);
         }
     }
 }
Example #11
0
        /// <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);
            }
        }
Example #12
0
    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);
            }
        }
    }
Example #13
0
        /// <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);
        }
Example #14
0
    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();
    }
Example #15
0
    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++;
        }
    }
Example #16
0
 public virtual void OnItemSelect(InventoryItemEntry itemEntry, InventoryView container)
 {
 }
Example #17
0
    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);
    }
Example #18
0
 public virtual void OnItemSecButtonClick(InventoryItemEntry itemEntry, InventoryView container)
 {
 }