private void Setup() { int skinsCount = m_GameManager.m_Skins.Count; int numRows = skinsCount / c_ItemsPerRow; if (skinsCount % c_ItemsPerRow > 0) { numRows++; } if (m_ContentParent.childCount > 0) { return; } int index = 0; for (int i = 0; i < numRows; i++) { Transform row = Instantiate(m_RowPrefab, m_ContentParent).transform; while (row.childCount < c_ItemsPerRow) { ShopElement element = Instantiate(m_ElementPrefab, row).GetComponent <ShopElement>(); if (index < m_GameManager.m_Skins.Count) { element.Init(m_GameManager.m_Skins[index], index, ChangeBrush); index++; } } } }
public void LoadElement(ShopElement newElement) { actualElement = newElement; elementImage.sprite = newElement.elementInShopImg; elementImage.color = newElement.color; SetPriceTag(newElement.price); }
private void UpdateUI() { ShopElement c = characters[characterIndex]; if (c.isLocked) { adButton.gameObject.SetActive(true); adButton.interactable = true; buyButton.gameObject.SetActive(true); buyButton.GetComponentInChildren <TextMeshProUGUI>().text = c.price + ""; if (PlayerPrefs.GetInt("TotalGems", 0) < c.price) { buyButton.interactable = false; } else { buyButton.interactable = true; } } else { adButton.gameObject.SetActive(false); buyButton.gameObject.SetActive(false); } }
private void BuyUnit(ShopElement elem) { var unit = (Unit)elem.GetEquipement(); // TODO: Set specialization inventory.AddEquipement(unit); RemoveMoney(elem); }
void createGems() { List<ShopModel> models = services.ShopService.GemItems; for (int i = 0; i < models.Count; i++) { ShopElement element = new ShopElement(getChild("GemPanel/Element" + (i + 1).ToString()), services, models[i]); element.AddClickListener(onButtonClick); } }
private void BuySquad(ShopElement elem) { var squad = availableSquads.Where(x => x.GetName() == elem.GetEquipement().GetName()).First(); // We find the corresponding squad given the shop element foreach (var e in squad.GetContent()) // Add all elements of the squad in the inventory { inventory.AddEquipement(e); } RemoveMoney(elem); }
private void DisplayShop() { foreach (var eq in available) // Prepare shop with equipement { RectTransform currTransform; // Get the correct parent panel int index; if (eq.GetEquipementType() == AEquipement.Type.Troop) { currTransform = transformTroops; troopIndex++; index = troopIndex; } else if (eq.GetEquipementType() == AEquipement.Type.Equipement) { currTransform = transformEquipements; equipementIndex++; index = equipementIndex; } else if (eq.GetEquipementType() == AEquipement.Type.Logistic) { currTransform = transformLogistics; logisticIndex++; index = logisticIndex; } else { continue; } GameObject go = Instantiate(shopElementPrefab, currTransform); var rTransform = go.GetComponent <RectTransform>(); rTransform.anchoredPosition += new Vector2(0f, yOffset * index); ShopElement se = go.GetComponent <ShopElement>(); se.Init(eq, Buy); shopElems.Add(se); } int i = 0; foreach (var sq in availableSquads) { GameObject go = Instantiate(shopElementPrefab, transformSquads); var rTransform = go.GetComponent <RectTransform>(); rTransform.anchoredPosition += new Vector2(0f, yOffset * i); ShopElement se = go.GetComponent <ShopElement>(); se.Init(sq, BuySquad); shopElems.Add(se); i++; } }
void Buy(ShopElement shopElement, ref float buyValue, Text buyText, ref float payValue, Text payText) { if (shopElement.payAmount <= StatusBarRubyValue) { buyValue -= shopElement.payAmount; buyText.text = buyValue.ToString(); payValue += shopElement.buyAmount; payText.text = payValue.ToString(); PlaySound(RubyDecrease); } else { PlaySound(Error); } }
public void Buy() { ShopElement shopElement = EventSystem.current.currentSelectedGameObject.GetComponent <ShopElement>(); for (int i = 0; i < shopElement.Cost.Count; i++) { if (PlayerPrefs.GetInt(shopElement.Cost[i].ItemName) >= shopElement.Cost[i].count) { PlayerPrefs.SetInt(shopElement.Cost[i].ItemName, PlayerPrefs.GetInt(shopElement.Cost[i].ItemName) - shopElement.Cost[i].count); transform.GetChild(0).GetChild(1).GetComponent <Text>().text = PlayerPrefs.GetInt("Stick").ToString(); transform.GetChild(1).GetChild(1).GetComponent <Text>().text = PlayerPrefs.GetInt("Leaves").ToString(); transform.GetChild(2).GetChild(1).GetComponent <Text>().text = PlayerPrefs.GetInt("Food").ToString(); buildSystem.BuildGameObject = shopElement.BuildGO; buildSystem.enabled = true; } } }
public void UnlockWithGems() { ShopElement c = characters[characterIndex]; if (PlayerPrefs.GetInt("TotalGems", 0) < c.price) { return; } int newGems = PlayerPrefs.GetInt("TotalGems", 0) - characters[characterIndex].price; PlayerPrefs.SetInt("TotalGems", newGems); c.isLocked = false; PlayerPrefs.SetInt(c.name, 0); PlayerPrefs.SetInt("SelectedCharacter", characterIndex); UpdateUI(); }
public void UpdateShop() { foreach (var obj in elemntObjects) { Destroy(obj); } elemntObjects.Clear(); elements.Clear(); foreach (var item in ItemList.Items) { GameObject tmp = Instantiate(ShopElement, ElementParent.transform); elemntObjects.Add(tmp); ShopElement element = tmp.GetComponent <ShopElement>(); elements.Add(element); element.SetItem(item.Id); } }
public void ShopElementAction(int index) { element = Array.Find(elements, e => e.index == index); //nie kupiony if (!element.bought) { if (element.prize <= FindObjectOfType <GameManager>().currentCash) { panelWithDetails.SetActive(true); buttonsToBuy.SetActive(true); buttonsDontHaveEnaughMoney.SetActive(false); panelWithDetails_text.text = "Do you want buy this Ball for $" + element.prize + "?"; } else { panelWithDetails.SetActive(true); buttonsToBuy.SetActive(false); buttonsDontHaveEnaughMoney.SetActive(true); panelWithDetails_text.text = "You do not have enough money!"; } } else //kupiony { for (int i = 0; i < elements.Length; i++) { if (elements[i].index == index) { elements[i].button.GetComponent <Image>().color = new Color(1, 1, 1, 1); PlayerPrefs.SetInt("choiceElement", i); // FindObjectOfType <BallManager>().currentBall = FindObjectOfType <BallManager>().balls[i]; } else { elements[i].button.GetComponent <Image>().color = new Color(1, 1, 1, 0); } } } }
public bool LoadCsv(string strContent) { if (strContent.Length == 0) { return(false); } m_mapElements.Clear(); m_vecAllElements.Clear(); int contentOffset = 0; List <string> vecLine; vecLine = GameAssist.readCsvLine(strContent, ref contentOffset); if (vecLine.Count != 5) { Debug.Log("Shop.csv中列数量与生成的代码不匹配!"); return(false); } if (vecLine[0] != "ID") { Debug.Log("Shop.csv中字段[ID]位置不对应"); return(false); } if (vecLine[1] != "Name") { Debug.Log("Shop.csv中字段[Name]位置不对应"); return(false); } if (vecLine[2] != "Time") { Debug.Log("Shop.csv中字段[Time]位置不对应"); return(false); } if (vecLine[3] != "Refresh") { Debug.Log("Shop.csv中字段[Refresh]位置不对应"); return(false); } if (vecLine[4] != "RefreshPlus") { Debug.Log("Shop.csv中字段[RefreshPlus]位置不对应"); return(false); } while (true) { vecLine = GameAssist.readCsvLine(strContent, ref contentOffset); if ((int)vecLine.Count == 0) { break; } if ((int)vecLine.Count != (int)5) { return(false); } ShopElement member = new ShopElement(); member.ID = Convert.ToInt32(vecLine[0]); member.Name = vecLine[1]; member.Time = vecLine[2]; member.Refresh = Convert.ToInt32(vecLine[3]); member.RefreshPlus = Convert.ToInt32(vecLine[4]); member.IsValidate = true; m_vecAllElements.Add(member); m_mapElements[member.ID] = member; } return(true); }
/// <summary> /// Remove some money after buying an item /// </summary> /// <param name=""></param> private void RemoveMoney(ShopElement elem) { credits -= elem.GetPrice(); CheckAvailability(); DisplayCredits(); }
private void Buy(ShopElement elem) { inventory.AddEquipement(elem.GetEquipement()); RemoveMoney(elem); }
public bool LoadBin(byte[] binContent) { m_mapElements.Clear(); m_vecAllElements.Clear(); int nCol, nRow; int readPos = 0; readPos += GameAssist.ReadInt32Variant(binContent, readPos, out nCol); readPos += GameAssist.ReadInt32Variant(binContent, readPos, out nRow); List <string> vecLine = new List <string>(nCol); List <int> vecHeadType = new List <int>(nCol); string tmpStr; int tmpInt; for (int i = 0; i < nCol; i++) { readPos += GameAssist.ReadString(binContent, readPos, out tmpStr); readPos += GameAssist.ReadInt32Variant(binContent, readPos, out tmpInt); vecLine.Add(tmpStr); vecHeadType.Add(tmpInt); } if (vecLine.Count != 5) { Debug.Log("Shop.csv中列数量与生成的代码不匹配!"); return(false); } if (vecLine[0] != "ID") { Debug.Log("Shop.csv中字段[ID]位置不对应"); return(false); } if (vecLine[1] != "Name") { Debug.Log("Shop.csv中字段[Name]位置不对应"); return(false); } if (vecLine[2] != "Time") { Debug.Log("Shop.csv中字段[Time]位置不对应"); return(false); } if (vecLine[3] != "Refresh") { Debug.Log("Shop.csv中字段[Refresh]位置不对应"); return(false); } if (vecLine[4] != "RefreshPlus") { Debug.Log("Shop.csv中字段[RefreshPlus]位置不对应"); return(false); } for (int i = 0; i < nRow; i++) { ShopElement member = new ShopElement(); readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.ID); readPos += GameAssist.ReadString(binContent, readPos, out member.Name); readPos += GameAssist.ReadString(binContent, readPos, out member.Time); readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.Refresh); readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.RefreshPlus); member.IsValidate = true; m_vecAllElements.Add(member); m_mapElements[member.ID] = member; } return(true); }
private ShopTable() { m_mapElements = new Dictionary <int, ShopElement>(); m_emptyItem = new ShopElement(); m_vecAllElements = new List <ShopElement>(); }