void UpdateShopItemsMoneyWithoutSecret() { BetterList <int> ids = ShopModule.GetEffectShopIdsWithoutSecret(); if (ids == null) { return; } foreach (int id in ids) { if (!mAllItemsLists.ContainsKey(id)) { continue; } MallItemUI itemUI = mAllItemsLists[id] as MallItemUI; if (itemUI == null) { continue; } itemUI.UpdateMoneyShow(); } }
/// <summary> /// 选中一个技能 /// </summary> /// <param name="_itemUI"></param> void OnSelectSkillUI(MallItemUI _itemUI) { //selectSkillUI = _itemUI; //if (OnSelectItemEvent != null) // { // OnSelectItemEvent(selectSkillUI); //} }
/// <summary> /// 刷新表现 /// </summary> public void RefreshItems() { Object mallItemprefab = null; if (mallItemprefab == null) { mallItemprefab = exResources.GetResource(ResourceType.GUI, "Mall/MallItem"); } if (mallItemprefab == null) { GameSys.LogError("找不到预制:Mall/MallItem"); return; } for (int i = 0; i < mallItemList.Count; i++) { // Debug.Log ("此时的长度为"+mallItemList.Count+MallItemContainers.Count); if (!MallItemContainers.ContainsKey(i)) { GameObject obj = Instantiate(mallItemprefab) as GameObject; Transform parentTransf = this.gameObject.transform; obj.transform.parent = parentTransf; obj.transform.localPosition = Vector3.zero; obj.transform.localScale = Vector3.one; MallItemUI mallItemUI = obj.GetComponent <MallItemUI>(); mallItemUI.FillInfo(mallItemList[i]); mallItemUI.OnSelectEvent += OnSelectSkillUI; MallItemContainers[i] = mallItemUI; // if (firstRun && skillList[i].SkillLv>0) // { // firstRun = false; // selectSkillUI = skillUI; // UIToggle tog = obj.GetComponent<UIToggle>(); // tog.value = true; // if (OnSelectItemEvent != null) // { // OnSelectItemEvent(selectSkillUI); // } // } } else { MallItemContainers[i].FillInfo(mallItemList[i]); } } mallItemprefab = null; if (grid != null) { grid.enabled = true; grid.Reposition(); } }
void CreateMallItem(MallTableItem item, MallSubTableType type = MallSubTableType.None) { GameObject go = WindowManager.Instance.CloneGameObject(mMallItemPrefab); if (go == null) { return; } go.SetActive(true); go.name = (item == null) ? "504" : item.resId.ToString(); MallItemUI mallItem = new MallItemUI(go); switch (type) { case MallSubTableType.HotSale: go.transform.parent = rGrid.transform; go.transform.localScale = Vector3.one; mallItem.ShowHuiSprite(false); mHotItems.Add(mallItem); //rGrid.repositionNow = true; break; case MallSubTableType.LimitCount: go.transform.parent = xGrid.transform; go.transform.localScale = Vector3.one; mLimitItems.Add(mallItem); //xGrid.repositionNow = true; break; default: GameDebug.LogError("商城商品所在分栏错误"); break; } if (item != null) { if (!mAllItemsLists.ContainsKey(item.resId)) { mAllItemsLists.Add(item.resId, mallItem); } } mallItem.SetData(item); UIEventListener.Get(go).onClick = onMallItemClick; }
/// <summary> /// 每次打开界面的强制刷新; /// </summary> void updateMallUI() { PlayerDataModule playerModule = ModuleManager.Instance.FindModule <PlayerDataModule>(); if (playerModule == null) { GameDebug.LogError("player data is null!"); return; } BetterList <int> resIds = Module.GetEffectMallItemIDs(); int time = 0; MallItemUI item = null; foreach (int id in resIds) { time = playerModule.GetMallBuyTimesByID(id); if (mAllItemsLists.ContainsKey(id)) { item = mAllItemsLists[id]; if (item == null) { continue; } item.UpdateMoneyShow(); if (time >= 0) { item.SetBuyTimes((uint)time); } } else { GameDebug.LogError("商城数据错了"); continue; } } }
void OpenBuyForm(int resId) { PlayerDataModule playerModule = ModuleManager.Instance.FindModule <PlayerDataModule>(); if (playerModule == null) { GameDebug.LogError("player data is null!"); return; } if (!Module.MallTable.ContainsKey(resId)) { return; } MallTableItem item = Module.MallTable[resId] as MallTableItem; //EventDelegate.Add(gBuyBtn.onClick, OnBuyClick); ItemTableItem tableItem = ItemManager.GetItemRes(item.itemId); if (tableItem == null) { #if UNITY_EDITOR GameDebug.LogError("物品表中缺少ID为" + item.itemId + "的物品"); #endif return; } if (!mAllItemsLists.ContainsKey(resId)) { return; } MallItemUI itemUI = mAllItemsLists[resId] as MallItemUI; if (itemUI == null || !itemUI.MallCanOpenBuyForm) { return; } //gNameLb.text = tableItem.name; gNameLb.text = ItemManager.getItemNameWithColor(item.itemId); gItemDetailLb.text = tableItem.desc; gGetDetailLb.text = tableItem.desc0; UIAtlasHelper.SetSpriteImage(gIconSp, tableItem.picname, true); UIAtlasHelper.SetSpriteByMoneyType(gMoneySp, (ProceedsType)item.processType); gMoneySp.transform.localScale = new Vector3(0.5f, 0.5f, 1f); uint moneyNum = item.mallItems[0].processNow; if (playerModule.GetProceeds((ProceedsType)item.processType) < moneyNum) { gMoneyLb.text = StringHelper.StringWithColor(FontColor.Red, moneyNum.ToString()); } else { gMoneyLb.text = moneyNum.ToString(); } gItemTypeLb.text = ItemManager.GetItemTypeStr(item.itemId); gBuyObj.SetActive(true); }