protected virtual void NonAlwaysChangeData(UWarGoodsStoreItem item) { UWarGoodsStoreView.GetWarGoodsIcon(item.SchemeGoodsInfo != null ? item.SchemeGoodsInfo.GoodsIconID:0, GoodsIcon); if (IsTooltipInit() && item.SchemeGoodsInfo != null) { GoodsTooltips.SetImage(GoodsTooltip_IconParamName, UWarGoodsStoreView.GetWarGoodsIcon(item.SchemeGoodsInfo.GoodsIconID)); GoodsTooltips.SetText(GoodsTooltip_NameParamName, item.SchemeGoodsInfo.GoodsName); string GoodsDes = item.SchemeGoodsInfo.GoodsDes; UBBProperty.GetInstance().getRatio(GoodsDes); U3D_Render.Common.UBB.toHtml(ref GoodsDes, UBB_FORMAT_TYPE.UGUI); GoodsTooltips.SetText(GoodsTooltip_InfoParamName, GoodsDes); string GoodsLocIns = item.SchemeGoodsInfo.GoodsLocationInstructions; U3D_Render.Common.UBB.toHtml(ref GoodsLocIns, UBB_FORMAT_TYPE.UGUI); GoodsTooltips.SetText(GoodsTooltip_LocInstructionsParamName, GoodsLocIns); } else { GoodsTooltips.SetImage(GoodsTooltip_IconParamName, null); GoodsTooltips.SetText(GoodsTooltip_NameParamName, ""); GoodsTooltips.SetText(GoodsTooltip_InfoParamName, ""); GoodsTooltips.SetText(GoodsTooltip_LocInstructionsParamName, ""); } }
public override void OnMobaGoodsClick(UWarGoodsStoreItem _nParam) { if (m_bSelectGoodsIsTreeNode) { m_bSelectGoodsIsTreeNode = false; return; } //清除合成树显示部分 BeginTreeNode(); BeginTreeNodeData(); BeginTreeNodeHorizonalLine(); if (LogicDataCenter.warMobaGoodsDataManager.GetWarGoodsStoreItem(_nParam.GoodsID) == null) { return; } //计算合成树数据部分 int nDepth = 0; m_CurNodeDataIndex = -1; IteratorFindNeedGoods(_nParam.GoodsID, ref nDepth);//, ref UnuseTreeNodeDataList); BuildTree(nDepth); }
public void SetRecommendedGoods(int[] _newGoodsIDs, EMobaRecommendGoods _eRecommendType) { for (int i = 0; i < _newGoodsIDs.Length; ++i) { if (_newGoodsIDs[i] == 0) { continue; } //判断下是否已购买,已购买则不显示 foreach (var PurchasedInfo in LogicDataCenter.warMobaGoodsDataManager.GetMainPlayerGoodsInfo()) { if (PurchasedInfo.nGoodID == _newGoodsIDs[i]) { _newGoodsIDs[i] = 0; } } } int recommendIndex = -1; for (int i = 0; i < _newGoodsIDs.Length; ++i) { if (_newGoodsIDs[i] == 0) { continue; } UWarGoodsStoreItem newItem = LogicDataCenter.warMobaGoodsDataManager.GetWarGoodsStoreItem(_newGoodsIDs[i]);//m_MyParent.GetWarGoodsStoreItem(schemeGoods); recommendIndex = _eRecommendType == EMobaRecommendGoods.EMRG_MiddleStage ? i + 6 : i; m_ReCommendGoodsItemList[recommendIndex] = newItem; } }
public override void OnMobaGoodsClick(UWarGoodsStoreItem _nParam) { if (AllGoodsTile.SelectedItem != null && m_MyParent.CurrentSelectedGoods.GoodsID != AllGoodsTile.SelectedItem.GoodsID) { AllGoodsTile.Deselect(AllGoodsTile.SelectedIndex); } }
/// <summary> /// 设置已购买物品列表 /// </summary> /// <param name="_nSlotIndex">已购买槽位ID</param> /// <param name="_nGoodsItem">物品信息</param> /// <param name="_nCanUseTimes">物品可使用次数</param> /// <param name="_nDisplayMaxTime">显示当前物品可使用次数,少于等于1次时不显示 </param> public void SetPurchasedGoods(int _nSlotIndex, UWarGoodsStoreItem _nGoodsItem) { m_PurchasedGoodsDataSource[_nSlotIndex] = _nGoodsItem == null ? m_nDefaultItem : _nGoodsItem; m_bCanUpdateList = true; SelectedFrameVisible(m_SelectedPurchasedGoodsComponent, false); }
protected void UpdateView(UWarGoodsStoreItem _nParam) { if (_nParam == null || _nParam.SchemeGoodsInfo == null) { return; } UWarGoodsStoreView.GetWarGoodsIcon(_nParam.SchemeGoodsInfo.GoodsIconID, GoodsIcon); GoodsCost.text = _nParam.GoodsCost.ToString(); GoodsName.text = _nParam.SchemeGoodsInfo.GoodsName; string des = _nParam.SchemeGoodsInfo.GoodsDes; UBBProperty.GetInstance().getRatio(des); U3D_Render.Common.UBB.toHtml(ref des, UBB_FORMAT_TYPE.UGUI); GoodsDetailInfo.text = des; SetBuyBtnEnable(_nParam.GoodsCanBuy); if (DataCenter.LogicDataCenter.warMobaGoodsDataManager.EnableGoodsFilter) { if (_nParam.IsFiltered) { BuyBtn.gameObject.SetActive(false); } else { BuyBtn.gameObject.SetActive(true); } } else { BuyBtn.gameObject.SetActive(true); } }
public override void OnMobaGoodsClick(UWarGoodsStoreItem _nParam) { if (m_RecommendGoodsGroup.SelectedIndex != -1 && m_MyParent.CurrentSelectedGoods.GoodsID != m_ReCommendGoodsItemList[m_RecommendGoodsGroup.SelectedIndex].GoodsID) { m_RecommendGoodsGroup.SetAllItemDeSelected(); } }
protected override void AlwaysChangeData(UWarGoodsStoreItem item) { base.AlwaysChangeData(item); if (IsTooltipInit()) { GoodsTooltips.SetText(GoodsTooltip_CostParamName, item.GoodsSoldOutCost.ToString()); } }
public void SetPurchasedGoods(List <GameLogic.cmd_war_persongoodsinfo> _goodsList) { for (int i = 0; i < _goodsList.Count; ++i) { UWarGoodsStoreItem item = LogicDataCenter.warMobaGoodsDataManager.GetWarGoodsStoreItem(_goodsList[i].nGoodID, false); SetPurchasedGoods(_goodsList[i].nSlotIndex, item); } UpdatePurchasedGoodsListData(); }
/// <summary> /// Returns a value indicating whether Input occurs within specified value. /// </summary> /// <param name="value">Value.</param> /// <returns>true if the Input occurs within value parameter; otherwise, false.</returns> public virtual bool Contains(UWarGoodsStoreItem value) { if (LogicDataCenter.warMobaGoodsDataManager.EnableGoodsFilter && value.IsFiltered) { return(false); } if (value != null && value.SchemeGoodsInfo != null && !string.IsNullOrEmpty(value.SchemeGoodsInfo.GoodsName)) { return(value.SchemeGoodsInfo.GoodsName.Contains(m_tmpSearchTextInput)); } return(false); }
public void SetData(UWarGoodsStoreItem item) { AlwaysChangeData(item); if (CurrentGoodsID != item.GoodsID) { CurrentGoodsID = item.GoodsID; NonAlwaysChangeData(item); } GoodsTooltips.enabled = CurrentGoodsID > 0; this.gameObject.SetActive(item.GoodsComponentVisible); }
public void Clear() { GoodsDepth = 0; GoodsChildCount = 0; ParentNode = null; GoodsItem = null; GoodsNodeComponent = null; if (ChildsNodeList != null) { ChildsNodeList.Clear(); } ParentNodeWidth = 0; }
private void IteratorFindNeedGoods(int _nGoodsID, ref int _nDepth)//, ref List<UWarGoodsStoreTreeNodeData> _list) { UWarGoodsStoreTreeNodeData node; GetUnuseTreeNodeData(out node);// new UWarGoodsStoreTreeNodeData(); UWarGoodsStoreItem item = LogicDataCenter.warMobaGoodsDataManager.GetWarGoodsStoreItem(_nGoodsID); node.GoodsItem = item; node.GoodsDepth = _nDepth; //这里会挺频繁new的,有需要的时候再优化吧 List <int> NeedSynthesizedGoodsIDList = GameMobaSchemesManager.Instance.GetSchemeGoodsNeedComposeList(_nGoodsID);//item.SchemeGoodsInfo.GoodsCanComposeList.Split(MobaSchemesConfig.separator).ToList(); m_nRunFindNum++; if (m_nRunFindNum == 1) { m_nFirstGoodsID = _nGoodsID; } if (m_nRunFindNum > 10) { Trace.LogError("配置物品的合成所需物品ID重复,导致运行死循环,请核查!!FirstGoodsID=" + m_nFirstGoodsID.ToString() + ",CurGoodsID=" + _nGoodsID.ToString()); m_nRunFindNum--; m_nFirstGoodsID = 0; return; } if (NeedSynthesizedGoodsIDList == null) { node.GoodsChildCount = 0; //_list.Add(node); } else { node.GoodsChildCount = NeedSynthesizedGoodsIDList.Count; //_list.Add(node); _nDepth++; for (int i = 0; i < NeedSynthesizedGoodsIDList.Count; i++) { int nID = Convert.ToInt32(NeedSynthesizedGoodsIDList[i]); IteratorFindNeedGoods(nID, ref _nDepth);//, ref _list); } } m_nRunFindNum--; }
public void SetData(UWarGoodsStoreItem item) { //if (item.SchemeGoodsInfo != null && gameObject != null) // Debug.Log(item.SchemeGoodsInfo.GoodsName + ",Enable:" + this.enabled + ",go.active:" + this.gameObject.activeInHierarchy); //else // Debug.Log("null 不能设置颜色"); if (CurrentGoodsID != item.GoodsID) { CurrentGoodsID = item.GoodsID; NonAlwaysChangeData(item); } AlwaysChangeData(item); GoodsTooltips.enabled = CurrentGoodsID > 0; }
protected virtual void AlwaysChangeData(UWarGoodsStoreItem item) { if (GoodsCost != null) { if (item.SchemeGoodsInfo != null && CanShowProperty_GoodsName) { GoodsCost.text = item.SchemeGoodsInfo.GoodsName + "\n" + item.GoodsCost.ToString(); } else { GoodsCost.text = item.GoodsCost.ToString(); } } if (CanUseProperty_GoodsCanBuy) { if (item.GoodsCanBuy) { GoodsIcon.color = Color.white;//.DOColor(Color.white, 0.1f); GoodsCost.color = UDefines.CommomColor(ECommonColor.ECC_Gold1); } else { GoodsIcon.color = Color.gray;//.DOColor(Color.gray, 0.1f); GoodsCost.color = Color.gray; } //GoodsIcon.Rebuild(CanvasUpdate.PreRender); } //物品购买时是否需要显示已购买图标 if (CanUseProperty_IsPurchased && GoodsPurchasedIcon != null) { GoodsPurchasedIcon.gameObject.SetActive(item.IsPurchased); GoodsCost.gameObject.SetActive(!item.IsPurchased); } if (GoodsCanUseTimes != null) { GoodsCanUseTimes.text = item.GoodsCanUseTimes > 1 ? item.GoodsCanUseTimes.ToString() : " "; } if (IsTooltipInit()) { GoodsTooltips.SetText(GoodsTooltip_CostParamName, item.GoodsCost.ToString()); } }
public void SetRecommendedGoods(int _newGoodsID, int _nRecommendIndex) { UWarGoodsStoreItem newItem = null; List <int> tmpNeedComposeList = null; if (_newGoodsID != 0) { newItem = LogicDataCenter.warMobaGoodsDataManager.GetWarGoodsStoreItem(_newGoodsID);//m_MyParent.GetWarGoodsStoreItem(schemeGoods); if (newItem == null) { Trace.LogWarning("没找到ID:" + _newGoodsID + "的物品,策划检查下是不是该物品不能用于当前战场。"); return; } newItem.GoodsComponentVisible = true; if (LogicDataCenter.warMobaGoodsDataManager.IsMainHeroPDBIDValid && LogicDataCenter.warMobaGoodsDataManager.GetMainPlayerGoodsInfo() != null) { foreach (var PurchasedInfo in LogicDataCenter.warMobaGoodsDataManager.GetMainPlayerGoodsInfo()) { //策划强烈要求,如果已购买大件的话,推荐页不显示小件物品。 tmpNeedComposeList = GoodsSchemesDataManager.Instance.GetSchemeGoodsNeedComposeList(PurchasedInfo.nGoodID); if (PurchasedInfo.nGoodID == newItem.GoodsID || newItem.GoodsID == 0 || (tmpNeedComposeList != null && tmpNeedComposeList.Contains(newItem.GoodsID))) { newItem.GoodsComponentVisible = false; } } } } else { newItem = new UWarGoodsStoreItem(_newGoodsID); newItem.GoodsComponentVisible = false; } if (_nRecommendIndex >= 0 && _nRecommendIndex < m_ReCommendGoodsItemList.Count) { m_ReCommendGoodsItemList[_nRecommendIndex] = newItem; } else { Trace.LogError("设置推荐物品出错,物品ID:" + _newGoodsID + ",序号:" + _nRecommendIndex); } }
public override void OnMobaGoodsClick(UWarGoodsStoreItem _nParam) { List <string> CanSynthesizedGoodsIDList = _nParam.SchemeGoodsInfo.GoodsCanComposeList.Split(MobaSchemesConfig.separator).ToList(); if (CanSynthesizedGoodsIDList != null && CanSynthesizedGoodsIDList.Count > 0) { int nGoodsID = -1; //移除旧的侦听 CanSynthesizedGoodsTile.OnSelect.RemoveListener(OnMobaGoodsSelected); CanSynthesizedGoodsTile.onDoubleClick.RemoveListener(OnMobaGoodsBuy); CanSynthesizedGoodsTile.onRightClick.RemoveListener(OnMobaGoodsBuy); CanSynthesizedGoodsTile.OnEndScrolling.RemoveListener(OnGoodsTileScrollEnd); m_CanSynthesizedGoodsTileDataSource.Clear(); foreach (var strGoodsID in CanSynthesizedGoodsIDList) { if (string.IsNullOrEmpty(strGoodsID)) { continue; } nGoodsID = Convert.ToInt32(strGoodsID); UWarGoodsStoreItem item = LogicDataCenter.warMobaGoodsDataManager.GetWarGoodsStoreItem(nGoodsID); if (item != null) { m_CanSynthesizedGoodsTileDataSource.Add(item); } } CanSynthesizedGoodsTile.DataSource = m_CanSynthesizedGoodsTileDataSource; //添加新的侦听 CanSynthesizedGoodsTile.OnSelect.AddListener(OnMobaGoodsSelected); CanSynthesizedGoodsTile.onDoubleClick.AddListener(OnMobaGoodsBuy); CanSynthesizedGoodsTile.onRightClick.AddListener(OnMobaGoodsBuy); CanSynthesizedGoodsTile.OnEndScrolling.AddListener(OnGoodsTileScrollEnd); RecalculatePages(); CurrentPage = 0; } }
protected virtual void AlwaysChangeData(UWarGoodsStoreItem item) { if (GoodsCost != null) { GoodsCost.text = item.GoodsCost.ToString(); } if (item.GoodsCanBuy) { GoodsIcon.color = Color.white; GoodsCost.color = UDefines.CommomColor(ECommonColor.ECC_Gold1); } else { GoodsIcon.color = Color.gray; GoodsCost.color = Color.gray; } if (IsTooltipInit()) { GoodsTooltips.SetText(GoodsTooltip_CostParamName, item.GoodsCost.ToString()); } }
public override void OnMobaGoodsClick(UWarGoodsStoreItem _nParam) { UpdateView(_nParam); }
public override void OnMobaGoodsClick(UWarGoodsStoreItem _nParam) { SelectedFrameVisible(m_SelectedPurchasedGoodsComponent, false); }
private void ForeachRecommendGoodesItem(UWarGoodsStoreItem _nItem) { }
/// <summary> /// 当前选择的物品改变时响应的方法 /// </summary> /// <param name="_nParam"></param> public virtual void OnMobaGoodsClick(UWarGoodsStoreItem _nParam) { }
public void BoxRecommendedGoodsByGoodsType(System.Collections.Generic.List <SSchemeMobaGoods> _typeList, List <int> _dispositionTypeList, EMobaRecommendGoods _eRecommendType) { m_nUsedRecommendType++; //取显示对象挂载容器 Transform containner = GetCurrentContainer(); ResNode go = AssetBundleManager.GetAssets(AssetType.Asset_Prefab, "UI/Prefabs/" + UPath.UDynamicMobaState + "/WarGoodsStore/WarGoodsStoreRecommendComponent"); UWarGoodsStoreRecommendComponent component; //取该类型标题本地化文本 if (GetCurrentContainerTitleText() != null) { ULocalizationService.Instance.Get(GetCurrentContainerTitleText(), "UIView", "WarGoodsStore", _eRecommendType.ToString()); } //移除英雄限制的装备 int nHeroId = EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_VOCATION); PersonSkinModelItem ModelItem = new PersonSkinModelItem(); GameLogicAPI.GetPersonModel((UInt16)nHeroId, ref ModelItem); var list = _typeList.Select(d => d).Where(s => (s.GoodsVocationLimit != 0 && s.GoodsVocationLimit == ModelItem.nTraits)).ToList(); foreach (var i in list) { _typeList.Remove(i); } int count = _typeList.Count >= 6 ? 6 : _typeList.Count; for (int i = 0; i < count; ++i) //each (var schemeGoods in _typeList) { SSchemeMobaGoods schemeGoods = _typeList[i]; UWarGoodsStoreItem newItem = LogicDataCenter.warMobaGoodsDataManager.GetWarGoodsStoreItem(schemeGoods);//m_MyParent.GetWarGoodsStoreItem(schemeGoods); if (newItem != null) { m_ReCommendGoodsItemList.Add(newItem); component = go.InstanceMainRes <UWarGoodsStoreRecommendComponent>(); component.gameObject.name = newItem.SchemeGoodsInfo.GoodsName; component.SetData(newItem); component.Group = m_RecommendGoodsGroup; component.transform.SetParent(containner, false); component.onSelectedChangedEx.AddListener(OnMobaGoodsSelected); component.onDoubleClick.AddListener(OnMobaGoodsBuy); component.onRightClick.AddListener(OnMobaGoodsBuy); } else { newItem = new UWarGoodsStoreItem(schemeGoods); if (LogicDataCenter.warMobaGoodsDataManager.EnableGoodsFilter && newItem.IsFiltered) { continue; } newItem.GoodsComponentVisible = false; m_ReCommendGoodsItemList.Add(newItem); component = go.InstanceMainRes <UWarGoodsStoreRecommendComponent>(); component.Group = m_RecommendGoodsGroup; component.transform.SetParent(containner, false); component.onSelectedChangedEx.AddListener(OnMobaGoodsSelected); component.onDoubleClick.AddListener(OnMobaGoodsBuy); component.onRightClick.AddListener(OnMobaGoodsBuy); component.SetData(newItem); } //存下更改物品配置时需要替换的推荐类型 if (_dispositionTypeList != null && _dispositionTypeList.Contains((int)_eRecommendType)) { LogicDataCenter.warMobaGoodsDataManager.SetHeroDefaultGoods(i, schemeGoods.GoodsID, m_nUsedRecommendType); } } }