void UpadateSelectedItemPanel() { ShopItem item = SelectedShopSlot.Item; if (item is WeaponShopItem) { WeaponShopItem weaponItem = item as WeaponShopItem; Weapon weapon = FindWeaponInPlayerInventory(weaponItem.WeaponID); itemName.text = weapon.info.name; itemIcon.sprite = weapon.Renderer.sprite; itemIcon.material = weapon.Renderer.sharedMaterial; foreach (GameObject t in stats) { if (t != itemStatsPanel.gameObject) { DestroyImmediate(t.gameObject); } } stats.Clear(); CreateStatPanel("Level", weapon.info.Level.ToString()); CreateStatPanel("Fire Rate", weapon.info.FireRate.ToString()); CreateStatPanel("Aim Speed", weapon.info.Velocidad_Rotacion.ToString()); CreateStatPanel("Bullet Damage", weapon.info.Damage.ToString()); transform.Find("ItemInfo_Panel/ButtonsPanel/Upgrade_Button").gameObject.SetActive(true); } else { transform.Find("ItemInfo_Panel/ButtonsPanel/Upgrade_Button").gameObject.SetActive(false); } }
/// <summary> /// /// </summary> public void OnEnable() { if (!toggleEventListened) { var toggles = weaponContent.GetComponentsInChildren <Toggle>(); if (toggles != null && toggles.Length > 0) { for (int i = 0; i < toggles.Length; i++) { Toggle tog = toggles[i]; WeaponShopItem wsi = tog.GetComponent <WeaponShopItem>(); if (wsi != null) { tog.onValueChanged.AddListener((b) => { this.OnWeaponSelected(b, tog.GetComponent <WeaponShopItem>()); }); if (wsi.weaponId == Player.CurrentPlayer.EquipedWeaponId) { tog.isOn = true; } } } } toggleEventListened = true; } }
/// <summary> /// 选择武器变化 /// </summary> /// <param name="b"></param> /// <param name="item"></param> public void OnWeaponSelected(bool b, WeaponShopItem item) { if (!b || item == null) { this.selectWeaponId = -1; } else { selectWeaponItem = item; if (weaponDisplay != null) { WeaponItem wi = WeaponManager.Instance.GetWeaponItemById(item.weaponId); if (wi == null) { selectWeaponId = -1; } else { selectWeaponId = wi.Id; CommonUtils.SetChildText(weaponDisplay, "WeaponName", wi.Name); CommonUtils.SetChildRawImage(weaponDisplay, "WeaponIcon", item.weaponIcon); CommonUtils.SetChildText(weaponInfo, "WeaponName", wi.Name); var weaponUnlockInfo = Player.CurrentPlayer.GetWeaponInfoById(wi.Id); if (weaponUnlockInfo != null && weaponUnlockInfo.IsUnlocked) { CommonUtils.SetChildActive(weaponDisplay, "Locked", false); DisplayWeaponLevelInfo(wi.GetLevelProperty(weaponUnlockInfo.Level), true); } else { CommonUtils.SetChildActive(weaponDisplay, "Locked", true); CommonUtils.SetChildText(weaponDisplay, "Locked/Price", wi.Prices.ToString()); DisplayWeaponLevelInfo(wi.GetCurrentProperty(), false); } //显示按钮 if (Player.CurrentPlayer.EquipedWeaponId == wi.Id) { //CommonUtils.SetChildActive(buttons, "BtnEquiped",true); SetButtonActive("BtnEquiped"); } else { if (weaponUnlockInfo != null && weaponUnlockInfo.IsUnlocked) { SetButtonActive("BtnEquip"); } else { SetButtonActive("BtnBuy"); } } } } } }
void EquipSelectedSlot() { ShopItem item = SelectedShopSlot.Item; if (item is WeaponShopItem) { List <Weapon> weapons = Player.Instance.Weapons; WeaponShopItem weaponItem = item as WeaponShopItem; Weapon weapon = Weapon.Types[weaponItem.WeaponID]; Player.Instance.EquipWeapon(weapons.Where(x => x.info.name == weapon.info.name).First()); } }
void Deliverpurchase(ShopItem item) { if (item is WeaponShopItem) { WeaponShopItem weaponItem = item as WeaponShopItem; Transform gunpivot = Player.Instance.transform.Find("GunPivot"); Weapon weapon = Instantiate <Weapon>(Weapon.Types[weaponItem.WeaponID], gunpivot.position, Quaternion.identity, gunpivot); weapon.GetComponent <HingeJoint2D>().connectedBody = Player.Instance.Rigidbody; Player.Instance.Weapons.Add(weapon); GameManager.Instance.PlayerInfo.Weapons.Add(weapon.info); } }
void CheckSlodItems() { List <Weapon> weapons = Player.Instance.Weapons; for (int j = 0; j < slots.Count; j++) { if (slots[j].Item is WeaponShopItem) { WeaponShopItem item = slots[j].Item as WeaponShopItem; for (int i = 0; i < weapons.Count; i++) { if (item.WeaponID == weapons[i].ID) { soldItems.Add(item.Id); } } } } }
void UpgradeValidation() { ShopItem item = SelectedShopSlot.Item; if (item is WeaponShopItem) { WeaponShopItem weaponShopItem = item as WeaponShopItem; Weapon weapon = FindWeaponInPlayerInventory(weaponShopItem.WeaponID); if (weapon != null) { if (weapon.info.Level < 10) { int Price = CheckUpgradePrice(weapon); ConfimationPopUp confimation = DisplayBuyConfirmation(weapon.info.name + " Upgrade", Price); confimation.OnConfirm += () => { Upgrade(weapon); }; } } } }
private void Awake() { m_name = transform.Find("ItenName_Text").GetComponent <TextMeshProUGUI>(); m_price = transform.Find("ShoItem_Content_Panel/Price_Text").GetComponent <TextMeshProUGUI>(); Image = transform.Find("ShoItem_Content_Panel/Item_Image").GetComponent <Image>(); Button = GetComponent <Button>(); m_name.text = item.Name; m_price.text = item.Price.ToString(); if (item is WeaponShopItem) { WeaponShopItem weaponItem = item as WeaponShopItem; SpriteRenderer renderer = Weapon.Types[weaponItem.WeaponID].Renderer; Image.sprite = renderer.sprite; Image.material = renderer.sharedMaterial; } }
public void ItemSelected(WeaponShopItem shopItem) { var itemRectTransform = shopItem.GetComponent <RectTransform>(); var viewportHeight = scrollRect.viewport.rect.height; var contentHeight = weaponsViewToInsertItems.rect.height; var centerY = Mathf.Abs(itemRectTransform.anchoredPosition.y); float verticalNormalizedPosition; if (centerY < viewportHeight * 0.51f) { verticalNormalizedPosition = 1f; } else if (centerY > contentHeight - itemRectTransform.rect.height) { verticalNormalizedPosition = 0f; } else { verticalNormalizedPosition = 1f - (centerY / contentHeight); } scrollRect.verticalNormalizedPosition = verticalNormalizedPosition; }