public void BuyItem(V_ShopItem item) { if (item == null) { UIController.ThrowError("V_Shop: BuyItem(): selectedItem is null", () => UIController.GoFrom_To(UIController.genericErrorModal, this.gameObject)); return; } // #revision: checking player Charge and credit if (item.requiredCharge > 0) { UIController.AskYesNoQ("Your dont have enough credit, wanna charge?", () => // if pressed yes { BuyCredit(); UIController.CloseYesNoQ(); return; }, () => //if pressed no { UIController.CloseYesNoQ(); return; }); } // #revision: check players score and level and unlock the item }
void CompareWeapon(V_ShopItem item1, V_ShopItem item2) { tmpWeapon1 = item1.itemPrfb.GetComponent <V_Weapon>(); if (tmpWeapon1 == null) { UIController.ThrowError("V_Shop: CompareWeapon(): Cannot Find a ShopItem reference", UIController.CloseError); return; } UIController.Enable_DisableUI(weaponComp, gearComp, characterComp); // if we have just the first Item, we wanna show its detail, but not compare it to anaother item if (item2 == null) { // sliders related to the first selected Item StartCoroutine(UIController.FillSlider(weaponComparer.accuracy_firstItem, tmpWeapon1.accuracy / 100f)); StartCoroutine(UIController.FillSlider(weaponComparer.clipSize_firstItem, tmpWeapon1.clipSize / 100f)); StartCoroutine(UIController.FillSlider(weaponComparer.damage_firstItem, tmpWeapon1.damage / 100f)); StartCoroutine(UIController.FillSlider(weaponComparer.fireRate_firstItem, tmpWeapon1.fireRate / 100f)); StartCoroutine(UIController.FillSlider(weaponComparer.weight_firstItem, tmpWeapon1.weight / 100f)); // second Item sliders weaponComparer.accuracy_secondItem.gameObject.SetActive(false); weaponComparer.clipSize_secondItem.gameObject.SetActive(false); weaponComparer.damage_secondItem.gameObject.SetActive(false); weaponComparer.fireRate_secondItem.gameObject.SetActive(false); weaponComparer.weight_secondItem.gameObject.SetActive(false); } else if (item2 != null) { weaponComparer.accuracy_secondItem.gameObject.SetActive(true); weaponComparer.clipSize_secondItem.gameObject.SetActive(true); weaponComparer.damage_secondItem.gameObject.SetActive(true); weaponComparer.fireRate_secondItem.gameObject.SetActive(true); weaponComparer.weight_secondItem.gameObject.SetActive(true); tmpWeapon2 = item2.itemPrfb.GetComponent <V_Weapon>(); StartCoroutine(UIController.FillSlider(weaponComparer.accuracy_secondItem, tmpWeapon2.accuracy / 100f)); StartCoroutine(UIController.FillSlider(weaponComparer.clipSize_secondItem, tmpWeapon2.clipSize / 100f)); StartCoroutine(UIController.FillSlider(weaponComparer.damage_secondItem, tmpWeapon2.damage / 100f)); StartCoroutine(UIController.FillSlider(weaponComparer.fireRate_secondItem, tmpWeapon2.fireRate / 100f)); StartCoroutine(UIController.FillSlider(weaponComparer.weight_secondItem, tmpWeapon2.weight / 100f)); } }
public void DonateItem(V_ShopItem item) { if (item == null) { UIController.ThrowError("V_Shop: DonateItem(): selectedItem is null", () => UIController.GoFrom_To(UIController.genericErrorModal, this.gameObject)); return; } // #revision UIController.SelectFromListModal("Do you want to Donate ?", // if click select () => {}, // if click cancel () => UIController.CloseSelectModal(), // if starts typing name (someName) => { /*check for someName in players*/ }); }
private void CompareItems(V_ShopItem item1, V_ShopItem item2 = null) { if (item1 == null) // if so, there has been an error { print("V_Shop: CompareItems(): Cannot compare Items"); return; } if (item2 != null) { if (item1.itemType != item2.itemType) // prevent comparing 2 items from the different types { return; } } switch (item1.itemType) { case ItemTypes.W_PISTOL: CompareWeapon(item1, item2); break; case ItemTypes.W_ASSAULT: CompareWeapon(item1, item2); break; case ItemTypes.G_UPPERBODY: CompareGear(item1, item2); break; case ItemTypes.G_LOWERBODY: CompareGear(item1, item2); break; case ItemTypes.G_HEAD: CompareGear(item1, item2); break; default: UIController.ThrowError("V_Shop: CompareItems(): error while loading items' types!", () => { UIController.CloseError(); }); break; } }
protected void CompareGear(V_ShopItem item1, V_ShopItem item2) { tmpGear1 = item1.itemPrfb.GetComponent <V_Gear>(); if (tmpGear1 == null) { UIController.ThrowError("V_Shop: CompareGear: gears are not set properly", UIController.CloseError); return; } UIController.Enable_DisableUI(gearComp, weaponComp, characterComp); if (item2 == null) { StartCoroutine(UIController.FillSlider(gearComparer.shield_firstItem, tmpGear1.shield / 100f)); gearComparer.shield_secondItem.gameObject.SetActive(false); } else if (item2 != null) { tmpGear2 = item2.itemPrfb.GetComponent <V_Gear>(); StartCoroutine(UIController.FillSlider(gearComparer.shield_secondItem, tmpGear2.shield)); gearComparer.shield_secondItem.gameObject.SetActive(true); } }
protected void CompareCharacter(V_ShopItem item1, V_ShopItem item2) { // #revision }