/// <summary> /// 设置售罄状态 /// </summary> /// <param name="pos"></param> /// <param name="soldOut"></param> public void SetSoldOut(uint pos, bool soldOut) { GameCmd.DynaStorePosInfo info = null; if (TryGetMallItemPosInfo(pos, out info)) { info.buy_flag = (uint)((soldOut) ? 1 : 0); } }
/// <summary> /// 是否该商品售罄 /// </summary> /// <param name="mallItemId"></param> /// <returns></returns> public bool IsSoldOut(uint pos) { GameCmd.DynaStorePosInfo info = null; if (TryGetMallItemPosInfo(pos, out info)) { return((info.buy_flag == 1) ? true : false); } return(true); }
public override void Release(bool depthRelease = true) { base.Release(depthRelease); if (null != m_baseGrid) { m_baseGrid.Release(false); } if (null != m_costCASD) { m_costCASD.Release(true); m_costCASD = null; } mallInfo = null; }
/// <summary> /// 尝试获取服务端下发的物品信息 /// </summary> /// <param name="pos"></param> /// <param name="info"></param> /// <returns></returns> public bool TryGetMallItemPosInfo(uint pos, out GameCmd.DynaStorePosInfo info) { info = null; if (null != infos && infos.Count > 0) { foreach (GameCmd.DynaStorePosInfo inf in infos) { if (inf.pos == pos) { info = inf; return(true); } } } return(false); }
private void OnUpdateMallGridData(UIGridBase grid, int index) { if (index >= mallItemPosIds.Count) { Engine.Utility.Log.Error("MallPanel OnUpdateMallGridData faield,mallItemPosIds data errir"); return; } GameCmd.DynaStorePosInfo info = DataManager.Manager <MallManager>().GetBlackMarketPosInfo(mallItemPosIds[index]); if (null == info) { Engine.Utility.Log.Error("MallPanel OnUpdateMallGridData faield,mallItemPosIds index errir"); return; } UIBlackMarketGrid bGrid = grid as UIBlackMarketGrid; bGrid.SetGridData(info); }
/// <summary> /// 购买商品 /// </summary> /// <param name="mallItemId"></param> private void PurchaseMallItem(GameCmd.DynaStorePosInfo info) { DataManager.Manager <MallManager>().PurchaseMallItem(info.baseid, (uint)DataManager.Manager <MallManager>().BlackMarketActiveStore, 1, info.pos); }
public override void SetGridData(object data) { base.SetGridData(data); ResetInfoGrid(); if (null == data) { return; } this.mallInfo = (GameCmd.DynaStorePosInfo)data; MallDefine.MallLocalData localData = DataManager.Manager <MallManager>().GetMallLocalDataByMallItemId(mallInfo.baseid); if (null == localData) { Debug.LogError(string.Format("UIBlackMarketGrid SetGridData faield,localData errir baseId:{0}", mallInfo.baseid)); return; } MallDefine.PurchaseLimitData limitData = null; string limitDes = ""; if (DataManager.Manager <MallManager>().TryGetMallItemPurchaseLimitType(localData.MallId, out limitData, packageFullCheck: false) && (limitData.limitType == MallDefine.PurchaseLimitType.CharacterLv || limitData.limitType == MallDefine.PurchaseLimitType.Vip)) { limitDes = limitData.limitDes; } if (null != m_labName) { m_labName.text = localData.LocalItem.Name; } //bool fightPowerUp = false; //if (localData.LocalItem.IsEquip // && DataManager.Manager<EquipManager>().IsEquipNeedFightPowerMask(localData.LocalItem.BaseId, out fightPowerUp)) //{ // SetFightPower(true, fightPowerUp); //} SetBorder(true, localData.LocalItem.BorderIcon); SetIcon(true, localData.LocalItem.Icon); bool enable = (localData.LocalMall.pileNum > 1) ? true : false; SetNum(enable, localData.LocalMall.pileNum.ToString()); SetLimit(limitDes); SetSoldOut((mallInfo.buy_flag == 1) ? true : false); if (null != this.cost && null != this.costIcon) { MallDefine.CurrencyData cost = new MallDefine.CurrencyData((GameCmd.MoneyType)localData.LocalMall.moneyType, localData.LocalMall.buyPrice); string costIconName = (null != cost) ? MallDefine.GetCurrencyIconNameByType(cost.CType) : ""; UIManager.GetAtlasAsyn(costIconName, ref m_costCASD, () => { if (null != this.costIcon) { this.costIcon.atlas = null; } }, this.costIcon); string costString = (null != cost) ? localData.LocalMall.buyPrice.ToString() : "0"; this.cost.text = costString; } //SetFightUp(false); if (localData.LocalItem.IsMuhon) { SetMuhonMask(true, Muhon.GetMuhonStarLevel(localData.LocalItem.BaseId)); SetMuhonLv(true, Muhon.GetMuhonLv(localData.LocalItem)); } else if (localData.LocalItem.IsRuneStone) { SetRuneStoneMask(true, (uint)localData.LocalItem.Grade); } else if (localData.LocalItem.IsChips) { SetChips(true); } }