/// <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(); }
/// <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(); }
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); } } }