protected void _removeHeroGoodsDisposition(int _nHeroID, int _nDispositionID) { //通知逻辑去移除 EquipSchemeDataManager.Instance.delEquipScheme(_nHeroID, (byte)_nDispositionID); //移除当前英雄的 if (_nHeroID == CurrentSelectHero) { //移除当前英雄的 int index = GetGoodsDispositionIndex(_nDispositionID); if (index != -1) { GoodsDispositionList.RemoveAt(index); } //如果移除的是当前的物品配置的话 if (_nDispositionID == CurrentGoodsDispositionID) { if (GoodsDispositionList.Count > 0) { CurrentGoodsDispositionID = GoodsDispositionList[0].DispositionID; } else { //走申请 AddHeroGoodsDisposition(); } } } }
/// <summary> /// 给当前英雄添加新的物品配置 /// </summary> public void AddHeroGoodsDisposition() { cmd_war_equipscheme newScheme = new cmd_war_equipscheme(); //向上申请新配置 if (EquipSchemeDataManager.Instance.addEquipScheme(CurrentSelectHero, ref newScheme)) { UGD_GoodsDispositionItem item = new UGD_GoodsDispositionItem(); item.From(newScheme, true); GoodsDispositionList.Add(item); CurrentGoodsDispositionID = newScheme.bySchemeID; } else { //USpeedUI.TooltipAndDialog.UIDialogData data = new USpeedUI.TooltipAndDialog.UIDialogData( // title: ULocalizationService.Instance.Get("UIView", "GoodsDispositionView", "TitleAsk"), // message: ULocalizationService.Instance.Get("UIView", "GoodsDispositionView", "DispositionFilled"), // buttons: new UIWidgets.DialogActions() { // {ULocalizationService.Instance.Get("UIView", "Common", "ConfirmBtn"), null},} // ); //UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_COMMON_DIALOG, data); UGD_DispositionFilledMsgData msgData = new UGD_DispositionFilledMsgData(); msgData.HeroID = CurrentSelectHero; msgData.onConfirmCallback = AddHeroGoodsDisposition; UISystem.Instance.SendTargetWndMessage(WndID.WND_ID_GOODSDISPOSITION, WndMsgID.WND_MSG_GOODSDISPOSITION_OPEN_DISPOSITIONFILLED, msgData); } }
public bool AddHeroGoodsDispositionFromShare(int _nHeroID, cmd_war_equipscheme _nNewScheme) { if (EquipSchemeDataManager.Instance.addEquipScheme(_nHeroID, ref _nNewScheme)) { if (_nHeroID == CurrentSelectHero) { UGD_GoodsDispositionItem item = new UGD_GoodsDispositionItem(); item.From(_nNewScheme, true); GoodsDispositionList.Add(item); } return(true); } else { return(false); } }
/// <summary> /// 每次切换英雄时,获取当前英雄的所有物品配置列表 /// </summary> protected void SetHeroGoodsDispositionList() { if (CurrentSelectHero <= 0) { return; } List <cmd_war_equipscheme> schemeList; if (!EquipSchemeDataManager.Instance.getDiyEquipSchemeList(CurrentSelectHero, out schemeList)) { return; } GoodsDispositionList.Clear(); int defaultDispositionID = 0; { for (int i = 0; i < schemeList.Count; ++i) { cmd_war_equipscheme scheme = schemeList[i]; UGD_GoodsDispositionItem item = new UGD_GoodsDispositionItem(); item.From(scheme); if (i == 0) { defaultDispositionID = item.DispositionID; item.IsCurrent = true; } GoodsDispositionList.Add(item); } } CurrentGoodsDispositionID = defaultDispositionID; TimerManager.KillTimer(this, (int)ETimerHandlerID.GoodsDispositionList); //UISystem.Instance.SendTargetWndMessage(WndID.WND_ID_GOODSDISPOSITION, WndMsgID.WND_MSG_GOODSDISPOSITION_SET_HEROGOODSDISPOSITIONLIST, null); }