// Init所有每日精选商品 private void Inititems() { bool islock = false; if (_dailyProducts.Count < maxShow) { for (int i = 0; i < _dailyProducts.Count; i++) { DailyProduct dailyProduct = _dailyProducts[i]; DailyItem item = Instantiate(itemPrefab, itemContainer); item.Init(islock, dailyProduct); dailyItems.Add(item); } for (int i = _dailyProducts.Count; i < maxShow; i++) { islock = true; DailyItem item = Instantiate(itemPrefab, itemContainer); item.Init(islock); dailyItems.Add(item); } } if (_dailyProducts.Count >= maxShow) { for (int i = 0; i < maxShow; i++) { DailyProduct dailyProduct = _dailyProducts[i]; DailyItem item = Instantiate(itemPrefab, itemContainer); item.Init(islock, dailyProduct); dailyItems.Add(item); } } }
public void SetContent(DailyProduct dailyData) { string titletext; titletext = GetTitle(dailyData.type, dailyData.subType); displayObj.sprite = setImage(titletext); title.text = titletext; if (dailyData.type == (int)RewardType.Locked) { bgImg.sprite = bgImgs[1]; displayObj.GetComponent <RectTransform>().sizeDelta = new Vector2(69f, 95f); lockObj.gameObject.SetActive(true); btnObj.gameObject.SetActive(false); return; } if (dailyData.costGold != 0) { btText.text = $"{dailyData.costGold}"; num.gameObject.SetActive(true); num.text = $"x{dailyData.num}"; bgImg.sprite = bgImgs[1]; } else { bgImg.sprite = bgImgs[0]; Destroy(btnImg); btText.text = "FREE!"; title.text = "<color=#883600>" + titletext + "</color>"; } }
// Init每个商品; public void Init(bool islock, DailyProduct dailyProduct = default(DailyProduct)) { if (islock) { lockImg.SetActive(true); } ShowCost(dailyProduct.costGold, dailyProduct.costGem); ShowTitleAndImg((RewardType)dailyProduct.type, dailyProduct.subType); }
//int productId, int type, int subtype, int num, int costGold, int isPurchased public void SetPanel(DailyProduct dailyProduct) { if (dailyProduct.type == 1) { typeText.text = "Coins"; //加载显示图片 if (!(imgList[dailyProduct.subType] is null)) { Sprite pic = Sprite.Create(imgList[dailyProduct.type - 1], new Rect(0, 0, imgList[dailyProduct.type - 1].width, imgList[dailyProduct.type - 1].height), new Vector2(0.5f, 0.5f)); cardsImage.sprite = pic; cardsImage.SetNativeSize(); } } else if (dailyProduct.type == 2) { //加载type typeText.text = "Diamonds"; //加载显示图片 if (!(imgList[dailyProduct.subType] is null)) { Sprite pic = Sprite.Create(imgList[dailyProduct.type - 1], new Rect(0, 0, imgList[dailyProduct.type - 1].width, imgList[dailyProduct.type - 1].height), new Vector2(0.5f, 0.5f)); cardsImage.sprite = pic; cardsImage.SetNativeSize(); } } else if (dailyProduct.type == 3) { typeText.text = "Cards"; if (!(imgList[dailyProduct.subType] is null)) { Sprite pic = Sprite.Create(imgList[dailyProduct.subType], new Rect(0, 0, imgList[dailyProduct.subType].width, imgList[dailyProduct.subType].height), new Vector2(0.5f, 0.5f)); cardsImage.sprite = pic; cardsImage.SetNativeSize(); } text.text = dailyProduct.costGold.ToString(); } okImage.alpha = 0; }
public void SetUp(DailyProduct dailyData) { if (dailyData == null) { bgImg.sprite = bgImgs[1]; lockObj.gameObject.SetActive(true); openObj.gameObject.SetActive(false); return; } if (dailyData.type == (int)DailyRewardType.Coins && dailyData.isPurchased == -1) { lockObj.gameObject.SetActive(false); openObj.gameObject.SetActive(true); bgImg.sprite = bgImgs[0]; title.text = "<color=#883600>Coins</color>"; currency.gameObject.SetActive(true); soldier.gameObject.SetActive(false); nums = 1; isPurchased = dailyData.isPurchased; btnImg.gameObject.SetActive(false); btText.text = "FREE!"; } else if (dailyData.type == (int)DailyRewardType.Cards && dailyData.isPurchased == -1) { int subtype = getSoldierImg(dailyData.subType); if (subtype != -1) { soldierImage.sprite = soldierImgs[subtype]; lockObj.gameObject.SetActive(false); openObj.gameObject.SetActive(true); bgImg.sprite = bgImgs[1]; title.text = "<color=#002363>ViKing Wattior</color>"; currency.gameObject.SetActive(false); soldier.gameObject.SetActive(true); nums = dailyData.num; num.text = $"x{nums}"; isPurchased = dailyData.isPurchased; btnImg.gameObject.SetActive(true); btText.text = $"{dailyData.costGold}"; } } }
//解析Json文件,读取数据 private void JsonLoad() { var jsonFile = Resources.Load <TextAsset>("Json/Data"); JSONNode jsonData = JSONNode.Parse(jsonFile.text); JSONArray dataArray = jsonData["dailyProduct"].AsArray; foreach (JSONNode node in dataArray) { DailyProduct dailyProduct = new DailyProduct(); dailyProduct.productId = node["productId"].AsInt; dailyProduct.type = node["type"].AsInt; dailyProduct.subType = node["subType"].AsInt; dailyProduct.num = node["num"].AsInt; dailyProduct.costGold = node["costGold"].AsInt; dailyProduct.costGem = node["costGem"].AsInt; dailyProduct.isPurchased = node["isPurchased"].AsInt; this.dailyProducts.Add(dailyProduct); } this.dailyProductCountDown = jsonData["dailyProductCountDown"]; }
//初始化商品 public void InitItem(DailyProduct dailyProduct) { CardCost(dailyProduct.costGold); CardImage((RewardType)dailyProduct.type, dailyProduct.subType); CardNum(dailyProduct.num); }