Пример #1
0
    /// <summary>
    /// This function remove items from the cart and return resources
    /// </summary>
    /// <param name="item_idx"></param>
    public void SubPurchase_item_remove(byte item_idx)
    {
        Equipable_generic item = purchasables[item_idx].GetComponent <Equipable_generic>();

        buffer_money += item.price;
        buffer_inventory_capacity -= item.get_size();
        cart.Remove(item_idx);
        //Render
        Text_money.text = "$ " + buffer_money;
        if (item.tag == CONSTANTS.TAG_GUN)
        {
            //purchase_buttons[item_idx].colors = set_button_color(0);
        }
        else if (item.tag == CONSTANTS.TAG_AMMO)
        {
            purchase_buttons[item_idx].GetComponent <digit_mod_generic>().subtract(item.GetComponent <Ammo_generic>().amount);

            /*
             * if (!cart.Contains(item_idx))//If this ammo has reached zero, turn button unselected
             * {
             *  purchase_buttons[item_idx].colors = set_button_color(0);
             * }
             */
        }
        SubPurchase_item_refresh();
    }
Пример #2
0
    /// <summary>
    /// This function evaluate if player has enough resources to purchase
    /// </summary>
    /// <param name="item_idx"></param>
    public void SubPurchase_item_add(byte item_idx)
    {
        Equipable_generic item = purchasables[item_idx].GetComponent <Equipable_generic>();
        ushort            available_inventory = (ushort)(buffer_inventory_size - buffer_inventory_capacity);
        ushort            item_size           = item.get_size();

        if (item.price <= buffer_money && item_size <= available_inventory && body.experience >= item.required_experience)
        {
            buffer_money -= item.price;
            buffer_inventory_capacity += item_size;
            cart.Add(item_idx);
            //Render
            Text_money.text = "$ " + buffer_money;
            //purchase_buttons[item_idx].colors = set_button_color(1);

            if (item.tag == CONSTANTS.TAG_AMMO)
            {
                purchase_buttons[item_idx].GetComponent <digit_mod_generic>().add(item.GetComponent <Ammo_generic>().amount);
            }
        }
        else
        {
            //Debug.Log("not enough resources");
        }
        SubPurchase_item_refresh();
    }
Пример #3
0
 public void SubPurchase_item_refresh()
 {
     for (int i = 0; i < purchasables.Length; i++)
     {
         Equipable_generic item = purchasables[i].GetComponent <Equipable_generic>();
         if (cart.Contains((byte)i))//selected
         {
             purchase_buttons[i].colors = set_button_color(1);
         }
         else if (item.get_size() > buffer_inventory_size || item.price > buffer_money || item.required_experience > body.experience)//disable
         {
             purchase_buttons[i].colors = set_button_color(2);
         }
         else//unselected
         {
             purchase_buttons[i].colors = set_button_color(0);
         }
     }
 }