public IActionOutputParameter Action(ActionParameter actionParameter) { BaseHero baseHero = actionParameter.Hero; GameContext gameContext = actionParameter.GameContext; BaseEquip equip = actionParameter.Equip; if (baseHero.Equip != null) { var oldEquip = baseHero.Equip; UnloadAction unloadAction = new UnloadAction(); var equipPara = new ActionParameter() { GameContext = gameContext, Equip = oldEquip, }; unloadAction.Action(equipPara); } baseHero.Equip = equip; var user = gameContext.GetUserContextByMyCard(equip); gameContext.CastCardCount++; equip.CastIndex = gameContext.CastCardCount; equip.CardLocation = CardLocation.场上; ActionParameter resetPara = new ActionParameter { PrimaryCard = baseHero, GameContext = actionParameter.GameContext }; CardActionFactory.CreateAction(baseHero, ActionType.重置攻击次数).Action(resetPara); return(null); }
public bool CheckEquip(int type, string name, string pin, ref BaseEquip b) { if (type == (int)GoodsType.TYPE_EQUIP) { if (pin.Length > 0) { var baseequip1 = FixedResources.BASE_EQUIP.FirstOrDefault( m => m.id == Convert.ToInt32(name)); if (baseequip1 == null) { return(false); } var baseequip = FixedResources.BASE_EQUIP.FirstOrDefault( m => m.name == baseequip1.name && m.grade == Convert.ToInt32(pin)); if (baseequip == null) { baseequip = FixedResources.BASE_EQUIP.FirstOrDefault(m => m.name == name); b = baseequip; return(false); } } } return(true); }
/// <summary> /// 进行自动勾选装备操作 /// </summary> private void DoAutoSelectSellEquip() { if (null == gridDataList) { return; } BaseEquip baseEquip = null; bool select = false; for (int i = 0; i < gridDataList.Count; i++) { baseEquip = imgr.GetBaseItemByQwThisId <BaseEquip>(gridDataList[i]); if (null != baseEquip && !baseEquip.IsMuhon) { if (IsGradeFilterEnable()) { select = IsMatchGradeFilter(baseEquip.EquipGrade); if (IsQualityFilterEnable()) { select = select && IsMatchQualityFilter(baseEquip.QualityType); } } else if (IsQualityFilterEnable()) { select = IsMatchQualityFilter(baseEquip.QualityType); } UpdateSellShopSelectData(gridDataList[i], select); } } //刷新格子状态 UpdateKnapsackGrid(); }
List <BaseEquip> GetSortList(List <BaseEquip> list) { if (list != null) { EquipManager em = DataManager.Manager <EquipManager>(); if (em == null) { return(null); } List <uint> removeList = new List <uint>(); for (int j = 0; j < list.Count; j++) { BaseEquip packageEquip = list[j]; if (packageEquip == null) { continue; } if (!DataManager.Manager <EquipManager>().CanPlayerWearEquipment(packageEquip.QWThisID)) { removeList.Add(packageEquip.QWThisID); continue; } ItemDataBase db = GameTableManager.Instance.GetTableItem <ItemDataBase>(packageEquip.BaseId); if (db != null) { if (!db.IsPush) { removeList.Add(packageEquip.QWThisID); continue; } } } for (int i = 0; i < removeList.Count; i++) { for (int j = 0; j < list.Count; j++) { BaseEquip packageEquip = list[j]; if (removeList[i] == packageEquip.QWThisID) { list.Remove(packageEquip); break; } } } //foreach (var equip in list) //{ // Log.Error("======================= equip powwer is " + equip.Power); //} list.Sort(new BaseEquipComparison()); list.Reverse_NoHeapAlloc(); } return(list); }
/// <summary>组装获得装备属性</summary> public tg_bag BuildEquipAtt(BaseEquip equip) { var newequip = new tg_bag(); #region if (equip.captain != 0) { newequip = EquipAtt(newequip, (int)RoleAttributeType.ROLE_CAPTAIN, equip.captain); } if (equip.force != 0) { newequip = EquipAtt(newequip, (int)RoleAttributeType.ROLE_FORCE, equip.force); } if (equip.brains != 0) { newequip = EquipAtt(newequip, (int)RoleAttributeType.ROLE_BRAINS, equip.brains); } if (equip.govern != 0) { newequip = EquipAtt(newequip, (int)RoleAttributeType.ROLE_GOVERN, equip.govern); } if (equip.charm != 0) { newequip = EquipAtt(newequip, (int)RoleAttributeType.ROLE_CHARM, equip.charm); } if (equip.attack != 0) { newequip = EquipAtt(newequip, (int)RoleAttributeType.ROLE_ATTACK, equip.attack); } if (equip.hurtIncrease != 0) { newequip = EquipAtt(newequip, (int)RoleAttributeType.ROLE_HURTINCREASE, Convert.ToDouble(equip.hurtIncrease)); } if (equip.defense != 0) { newequip = EquipAtt(newequip, (int)RoleAttributeType.ROLE_DEFENSE, equip.defense); } if (equip.hurtReduce != 0) { newequip = EquipAtt(newequip, (int)RoleAttributeType.ROLE_HURTREDUCE, Convert.ToDouble(equip.hurtReduce)); } if (equip.life != 0) { newequip = EquipAtt(newequip, (int)RoleAttributeType.ROLE_LIFE, equip.life); } #endregion newequip.base_id = equip.id; newequip.type = (int)GoodsType.TYPE_EQUIP; newequip.equip_type = equip.typeSub; newequip.state = 0; newequip.count = 1; return(newequip); }
/// <summary> /// 更新批量分解数据 /// </summary> /// <param name="qwThisId"></param> /// <param name="select"></param> private void UpdateBatchSplitSelectData(uint qwThisId, bool select, Action fullDlg = null) { BaseEquip baseItem = imgr.GetBaseItemByQwThisId <BaseEquip>(qwThisId); if (!IsInitMode(KnapsackStatus.BatchSplit)) { return; } if (null != baseItem && !baseItem.CanSplit && select) { return; } bool needUpdateData = false; uint baseId = 0; if (IsBatchSplitSelectItem(qwThisId) && !select) { needUpdateData = true; baseId = m_dic_selectSplitIds[qwThisId]; m_dic_selectSplitIds.Remove(qwThisId); } else if (!IsBatchSplitSelectItem(qwThisId) && select) { if (null != baseItem && baseItem.IsBaseReady && baseItem.IsEquip) { if (m_dic_selectSplitIds.Count < EquipManager.CONST_BATCH_SPLIT_NUM_MAX) { needUpdateData = true; m_dic_selectSplitIds.Add(qwThisId, baseItem.BaseId); baseId = baseItem.BaseId; } else if (null != fullDlg) { fullDlg.Invoke(); } } } if (needUpdateData) { if (null != gridDataList && gridDataList.Contains(qwThisId)) { UpdateKnapsackGrid(gridDataList.IndexOf(qwThisId)); } IncrementalUpdateSplitGetData(baseId, select); UpdateBatchSplitInfo(); } }
/// <summary>获取品质装备</summary> /// <param name="user_id">玩家id</param> /// <param name="base_equip">基表装备实体</param> /// <returns></returns> private static tg_bag GradeEquip(Int64 user_id, BaseEquip base_equip) { //根据概率随机属性个数 var number = RandomAttributeNumber(); var list = GetAttribute(base_equip); if (list.Any()) { var entity = new tg_bag(); entity.user_id = user_id; entity.base_id = (int)base_equip.id; entity.type = (int)GoodsType.TYPE_EQUIP; entity.equip_type = base_equip.typeSub; entity.state = (int)LoadStateType.UNLOAD; entity.count = 1; //number = 3; var list_att = RandomAttribute(number, base_equip.typeSub, list); var i = 0; foreach (var item in list_att) { switch (i) { #region 属性赋值 case 0: { entity.attribute1_type = item.type; entity.attribute1_value = item.value; break; } case 1: { entity.attribute2_type = item.type; entity.attribute2_value = item.value; break; } case 2: { entity.attribute3_type = item.type; entity.attribute3_value = item.value; break; } #endregion } i++; } return(entity); } return(null); }
/// <summary>获取绿色装备</summary> /// <param name="user_id">玩家id</param> /// <param name="base_equip">基表装备实体</param> private static tg_bag GreenEquip(Int64 user_id, BaseEquip base_equip) { var list = GetAttribute(base_equip); if (list.Any()) { var att = list.FirstOrDefault(); return(new tg_bag { user_id = user_id, base_id = (int)base_equip.id, type = (int)GoodsType.TYPE_EQUIP, equip_type = base_equip.typeSub, state = (int)LoadStateType.UNLOAD, count = 1, attribute1_type = att.type, attribute1_value = att.value, }); } return(null); }
public void LoadEquip(BaseHero hero, BaseEquip equip) { var user = GameContext.GetUserContextByMyCard(hero); // user.ComboSwitch = true; user.Power -= equip.Cost < 0 ? 0 : equip.Cost; var equipPara = new ActionParameter() { GameContext = GameContext, PrimaryCard = equip, Equip = equip, Hero = hero, }; new LoadAction().Action(equipPara); GameContext.AddActionStatement(new ComboOnAction(), equipPara); GameContext.EventQueue.AddLast(new PrimaryPlayerPlayCardEvent() { EventCard = equip, Parameter = equipPara }); // GameContext.AddEndOfPlayerActionEvent(); GameContext.Settlement(); _gameCache.SetContext(GameContext); }
public ActionResult Index(FormCollection collection) { if (!IsLogin) { return(Redirect("/Home/Login")); } var platform = collection["platform"]; var sid = collection["server"]; var playname = collection["playname"]; var gift = collection["gift"]; //礼包名称 var gifttype = collection["gifttype"]; //礼包类型 1:全服礼包 2:个人礼包 var m1 = collection["m_1"]; var m2 = collection["m_2"]; var m3 = collection["m_3"]; var m4 = collection["m_4"]; var m5 = collection["m_5"]; var n1 = collection["name_1"]; var n2 = collection["name_2"]; var n3 = collection["name_3"]; var n4 = collection["name_4"]; var n5 = collection["name_5"]; var c1 = collection["count_1"]; var c2 = collection["count_2"]; var c3 = collection["count_3"]; var c4 = collection["count_4"]; var c5 = collection["count_5"]; var p1 = collection["pin_1"]; var p2 = collection["pin_2"]; var p3 = collection["pin_3"]; var p4 = collection["pin_4"]; var p5 = collection["pin_5"]; var t11 = collection["att_1_1"]; var t12 = collection["att_1_2"]; var t13 = collection["att_1_3"]; var av11 = collection["att_v_1_1"]; var av12 = collection["att_v_1_2"]; var av13 = collection["att_v_1_3"]; var t21 = collection["att_2_1"]; var t22 = collection["att_2_2"]; var t23 = collection["att_2_3"]; var av21 = collection["att_v_2_1"]; var av22 = collection["att_v_2_2"]; var av23 = collection["att_v_2_3"]; var t31 = collection["att_3_1"]; var t32 = collection["att_3_2"]; var t33 = collection["att_3_3"]; var av31 = collection["att_v_3_1"]; var av32 = collection["att_v_3_2"]; var av33 = collection["att_v_3_3"]; var t41 = collection["att_4_1"]; var t42 = collection["att_4_2"]; var t43 = collection["att_4_3"]; var av41 = collection["att_v_4_1"]; var av42 = collection["att_v_4_2"]; var av43 = collection["att_v_4_3"]; var t51 = collection["att_3_1"]; var t52 = collection["att_3_2"]; var t53 = collection["att_3_3"]; var av51 = collection["att_v_3_1"]; var av52 = collection["att_v_3_2"]; var av53 = collection["att_v_3_3"]; var reason = collection["reason"]; var type = collection["type"]; var message = collection["message"]; var list = ApiPlatforms(); if (Convert.ToInt32(m1) == 0 && Convert.ToInt32(m2) == 0 && Convert.ToInt32(m3) == 0 && Convert.ToInt32(m4) == 0 && Convert.ToInt32(m5) == 0) { ViewBag.Error = -1; ViewBag.Message = "没选择资源"; ViewBag.Platform = list; return(View()); } if (c1 != "" && !Regex.IsMatch(c1, @"^\d+$") || c2 != "" && !Regex.IsMatch(c2, @"^\d+$") || c3 != "" && !Regex.IsMatch(c3, @"^\d+$") || c4 != "" && !Regex.IsMatch(c4, @"^\d+$") || c5 != "" && !Regex.IsMatch(c5, @"^\d+$") || av11 != "" && !Regex.IsMatch(av11, @"^\d+$") || av12 != "" && !Regex.IsMatch(av12, @"^\d+$") || av13 != "" && !Regex.IsMatch(av13, @"^\d+$") || av21 != "" && !Regex.IsMatch(av21, @"^\d+$") || av22 != "" && !Regex.IsMatch(av22, @"^\d+$") || av23 != "" && !Regex.IsMatch(av23, @"^\d+$") || av31 != "" && !Regex.IsMatch(av31, @"^\d+$") || av32 != "" && !Regex.IsMatch(av32, @"^\d+$") || av33 != "" && !Regex.IsMatch(av33, @"^\d+$") || av41 != "" && !Regex.IsMatch(av41, @"^\d+$") || av42 != "" && !Regex.IsMatch(av42, @"^\d+$") || av43 != "" && !Regex.IsMatch(av43, @"^\d+$") || av51 != "" && !Regex.IsMatch(av51, @"^\d+$") || av52 != "" && !Regex.IsMatch(av52, @"^\d+$") || av53 != "" && !Regex.IsMatch(av53, @"^\d+$")) { ViewBag.Error = -1; ViewBag.Message = "数据格式错误"; ViewBag.Platform = list; return(View()); } if (Convert.ToInt32(m1) > 0 && c1 == "" || Convert.ToInt32(m2) > 0 && c2 == "" || Convert.ToInt32(m3) > 0 && c3 == "" || Convert.ToInt32(m4) > 0 && c4 == "" || Convert.ToInt32(m5) > 0 && c5 == "") { ViewBag.Error = -1; ViewBag.Message = "某物品没填数量"; ViewBag.Platform = list; return(View()); } var b = new BaseEquip(); if (!CheckEquip(Convert.ToInt32(m1), n1, p1, ref b)) { ViewBag.Error = -1; ViewBag.Message = b.name + "没有该品质"; ViewBag.Platform = list; return(View()); } if (!CheckEquip(Convert.ToInt32(m2), n2, p2, ref b)) { ViewBag.Error = -1; ViewBag.Message = b.name + "没有该品质"; ViewBag.Platform = list; return(View()); } if (!CheckEquip(Convert.ToInt32(m3), n3, p3, ref b)) { ViewBag.Error = -1; ViewBag.Message = b.name + "没有该品质"; ViewBag.Platform = list; return(View()); } if (!CheckEquip(Convert.ToInt32(m4), n4, p4, ref b)) { ViewBag.Error = -1; ViewBag.Message = b.name + "没有该品质"; ViewBag.Platform = list; return(View()); } if (!CheckEquip(Convert.ToInt32(m5), n5, p5, ref b)) { ViewBag.Error = -1; ViewBag.Message = b.name + "没有该品质"; ViewBag.Platform = list; return(View()); } string s = ""; var s1 = GetString(Convert.ToInt32(m1), n1, c1, p1, t11, t12, t13, av11, av12, av13); var s2 = GetString(Convert.ToInt32(m2), n2, c2, p2, t21, t22, t23, av21, av22, av23); var s3 = GetString(Convert.ToInt32(m3), n3, c3, p3, t31, t32, t33, av31, av32, av33); var s4 = GetString(Convert.ToInt32(m4), n4, c4, p4, t41, t42, t43, av41, av42, av43); var s5 = GetString(Convert.ToInt32(m5), n5, c5, p5, t51, t52, t53, av51, av52, av53); if (platform == "" || sid == "") { ViewBag.Error = -1; ViewBag.Message = "请选择平台和服务器"; ViewBag.Platform = list; return(View()); } if (gifttype == "0") { ViewBag.Error = -1; ViewBag.Message = "没有选择申请类型"; ViewBag.Platform = list; return(View()); } if (playname != "" && gifttype == "1") { ViewBag.Error = -1; ViewBag.Message = "选择了玩家不能选择全服礼包类型"; ViewBag.Platform = list; return(View()); } var resource = ApiFindResource(user.token, Convert.ToInt64(platform), Convert.ToInt64(sid), user.id, playname, gift, Convert.ToInt32(gifttype), s1, s2, s3, s4, s5, reason, Convert.ToInt32(type), message); if (resource.result != 1) { ViewBag.Error = -1; ViewBag.Message = resource.message; ViewBag.Platform = list; return(View()); } ViewBag.Platform = list; return(View()); }
/// <summary> /// 显示装备 /// </summary> /// <param name="itemList"></param> private void OnShowEquipGridInfo(List <GameCmd.ItemSerialize> itemList) { //装备栏 GameCmd.ItemSerialize equipItem = null; uint cacheEquipId = 0; UIEquipGrid equipGrid = null; BaseItem baseItem = null; bool needSetData = false; //GameCmd.eItemAttribute for (GameCmd.EquipPos i = GameCmd.EquipPos.EquipPos_Hat; i < GameCmd.EquipPos.EquipPos_Max; i++) { if (i == GameCmd.EquipPos.EquipPos_Capes || i == GameCmd.EquipPos.EquipPos_Office) { continue; } needSetData = false; if (equipGridDic.TryGetValue(i, out equipGrid)) { if (Equip(itemList, (int)i, out equipItem)) { baseItem = new BaseEquip(equipItem.dwObjectID, equipItem); if (equipDic.TryGetValue(i, out cacheEquipId) && cacheEquipId != equipItem.qwThisID) { equipDic[i] = equipItem.qwThisID; needSetData = true; } else if (!equipDic.ContainsKey(i)) { equipDic.Add(i, equipItem.qwThisID); needSetData = true; } if (needSetData) { equipGrid.SetGridData(baseItem); } } else { baseItem = null; if (equipDic.ContainsKey(i)) { equipDic[i] = 0; } needSetData = true; } if (needSetData) { equipGrid.SetGridData(baseItem); } //强化等级 GameCmd.StrengthList strengthData = this.m_showInfo.strengthList.Find((data) => { return(data.equip_pos == i); }); if (strengthData != null) { equipGrid.UpdateStrengthenInfo(strengthData.level, baseItem != null); } else { equipGrid.UpdateStrengthenInfo(0, baseItem != null); } } } }
public void InitPushItem(PushItem item) { if (item == null) { return; } m_pushType = item.pushType; m_uThisID = item.thisID; //是不是成就推送 bool isAchievementPush = m_pushType == PushType.Achievement; m_trans_NormalRoot.gameObject.SetActive(!isAchievementPush); m_trans_AchievementRoot.gameObject.SetActive(isAchievementPush); if (isAchievementPush) { m_nCountDown = GameTableManager.Instance.GetGlobalConfig <int>("AchievementCountDown"); m_label_AchievementName.text = item.strName; UIEventListener.Get(m_label_ClickLabel.gameObject).onClick = OnClickLabel; } else { if (item.pushType == PushType.Equip) { m_trans_EffectContent.gameObject.SetActive(true); BaseEquip be = DataManager.Manager <ItemManager>().GetBaseItemByQwThisId <BaseEquip>(item.thisID); if (be != null) { m_label_power.text = be.Power.ToString(); } m_nCountDown = GameTableManager.Instance.GetGlobalConfig <int>("EquipUseCountDown"); } else if (item.pushType == PushType.Consum) { m_trans_EffectContent.gameObject.SetActive(false); m_nCountDown = GameTableManager.Instance.GetGlobalConfig <int>("DanyaoUseCountDown"); } BaseItem bi = DataManager.Manager <ItemManager>().GetBaseItemByQwThisId(item.thisID); if (bi != null) { ItemDataBase db = GameTableManager.Instance.GetTableItem <ItemDataBase>(bi.BaseId); if (db != null) { m_label_Name.text = db.itemName; UIManager.GetTextureAsyn(db.itemIcon, ref m_curIconAsynSeed, () => { if (null != m__Icon) { m__Icon.mainTexture = null; } }, m__Icon); UIManager.GetAtlasAsyn(bi.BorderIcon, ref m_curQualityAsynSeed, () => { if (null != m_sprite_qualityIcon) { m_sprite_qualityIcon.atlas = null; } }, m_sprite_qualityIcon); } } } }
/// <summary>获取基表装备属性</summary> /// <param name="base_equip">基表装备实体</param> private static List <EquipItem> GetAttribute(BaseEquip base_equip) { var list = new List <EquipItem>(); if (base_equip.captain > 0) { list.Add(new EquipItem { type = (int)RoleAttributeType.ROLE_CAPTAIN, value = base_equip.captain }); } if (base_equip.force > 0) { list.Add(new EquipItem { type = (int)RoleAttributeType.ROLE_FORCE, value = base_equip.force }); } if (base_equip.brains > 0) { list.Add(new EquipItem { type = (int)RoleAttributeType.ROLE_BRAINS, value = base_equip.brains }); } if (base_equip.govern > 0) { list.Add(new EquipItem { type = (int)RoleAttributeType.ROLE_GOVERN, value = base_equip.govern }); } if (base_equip.charm > 0) { list.Add(new EquipItem { type = (int)RoleAttributeType.ROLE_CHARM, value = base_equip.charm }); } if (base_equip.attack > 0) { list.Add(new EquipItem { type = (int)RoleAttributeType.ROLE_ATTACK, value = base_equip.attack }); } if (base_equip.defense > 0) { list.Add(new EquipItem { type = (int)RoleAttributeType.ROLE_DEFENSE, value = base_equip.defense }); } if (base_equip.life > 0) { list.Add(new EquipItem { type = (int)RoleAttributeType.ROLE_LIFE, value = base_equip.life }); } if (base_equip.hurtIncrease > 0) { list.Add(new EquipItem { type = (int)RoleAttributeType.ROLE_HURTINCREASE, value = base_equip.hurtIncrease }); } if (base_equip.hurtReduce > 0) { list.Add(new EquipItem { type = (int)RoleAttributeType.ROLE_HURTREDUCE, value = base_equip.hurtReduce }); } return(list); }
List <uint> GetPushList(BaseItem bi = null) { EquipManager em = DataManager.Manager <EquipManager>(); if (em == null) { return(null); } Dictionary <GameCmd.EquipType, List <BaseEquip> > dic = GetWillCompareDic(bi); //Array enumArray = Enum.GetValues(typeof(GameCmd.EquipType)); //for (int i = 0; i < enumArray.Length; i++) //{ // GameCmd.EquipType type = (GameCmd.EquipType)enumArray.GetValue(i); // List<BaseEquip> wareList = em.GetEquipsByPackageType(PACKAGETYPE.PACKAGETYPE_EQUIP, type); // List<BaseEquip> packageList = em.GetEquipsByPackageType(PACKAGETYPE.PACKAGETYPE_MAIN, type); // wareList.AddRange(packageList); // //if(type == EquipType.EquipType_AdornlOne) // //{ // // int a = 10; // //} // List<BaseEquip> tempList = GetSortList(wareList); // dic.Add(type, tempList); //} List <uint> pushList = new List <uint>(); Array posenumArray = Enum.GetValues(typeof(GameCmd.EquipPos)); for (int i = 0; i < posenumArray.Length; i++) { GameCmd.EquipPos pos = (GameCmd.EquipPos)posenumArray.GetValue(i); if (pos != null) { EquipType type = em.GetEquipTypeByEquipPos(pos); if (type == EquipType.EquipType_AdornlOne || type == EquipType.EquipType_SoulOne || type == EquipType.EquipType_None) { continue; } if (!dic.ContainsKey(type)) { continue; } List <BaseEquip> allList = dic[type]; if (allList == null) { continue; } uint posEquipID = 0; for (int m = 0; m < allList.Count; m++) { BaseEquip tempEquip = allList[m]; if (em.IsWearEquip(tempEquip.QWThisID)) { continue; } if (em.IsEquipPos(pos, out posEquipID)) { ItemManager im = DataManager.Manager <ItemManager>(); BaseEquip wareEquip = im.GetBaseItemByQwThisId(posEquipID) as BaseEquip; if (wareEquip.Power < tempEquip.Power) { pushList.Add(tempEquip.QWThisID); allList.RemoveAt(m); break; } } else { pushList.Add(tempEquip.QWThisID); allList.RemoveAt(m); break; } } } } //处理戒指和圣魂 if (type == EquipType.EquipType_AdornlOne || type ==EquipType.EquipType_SoulOne) if (dic.ContainsKey(EquipType.EquipType_AdornlOne)) { List <BaseEquip> adornList = dic[EquipType.EquipType_AdornlOne]; if (adornList != null) { for (int i = 0; i < adornList.Count; i++) { if (i > 1) { break; } BaseEquip temp = adornList[i]; if (!em.IsWearEquip(temp.QWThisID)) { pushList.Add(temp.QWThisID); } } } } if (dic.ContainsKey(EquipType.EquipType_SoulOne)) { List <BaseEquip> soulList = dic[EquipType.EquipType_SoulOne]; if (soulList != null) { for (int i = 0; i < soulList.Count; i++) { if (i > 1) { break; } BaseEquip temp = soulList[i]; if (!em.IsWearEquip(temp.QWThisID)) { pushList.Add(temp.QWThisID); } } } } return(pushList); }
/// <summary> /// 获取要比较的装备dic /// </summary> /// <param name="isSingle">是否只比较掉落的这一个</param> /// <returns></returns> Dictionary <GameCmd.EquipType, List <BaseEquip> > GetWillCompareDic(BaseItem bi = null) { EquipManager em = DataManager.Manager <EquipManager>(); if (em == null) { return(null); } Dictionary <GameCmd.EquipType, List <BaseEquip> > dic = new Dictionary <EquipType, List <BaseEquip> >(); if (bi != null) { if (bi.BaseType == ItemBaseType.ItemBaseType_Equip) { if (bi is BaseEquip) { BaseEquip be = bi as BaseEquip; if (be != null) { Array enumArray = Enum.GetValues(typeof(GameCmd.EquipType)); for (int i = 0; i < enumArray.Length; i++) { GameCmd.EquipType type = (GameCmd.EquipType)enumArray.GetValue(i); if (be.EType == type) { List <BaseEquip> wareList = em.GetEquipsByPackageType(PACKAGETYPE.PACKAGETYPE_EQUIP, type); wareList.Add(be); List <BaseEquip> tempList = GetSortList(wareList); dic.Add(type, tempList); } else { if (dic.ContainsKey(type)) { Log.Error("has contain key is " + type); } else { dic.Add(type, null); } } } } } } } else { Array enumArray = Enum.GetValues(typeof(GameCmd.EquipType)); for (int i = 0; i < enumArray.Length; i++) { GameCmd.EquipType type = (GameCmd.EquipType)enumArray.GetValue(i); List <BaseEquip> wareList = em.GetEquipsByPackageType(PACKAGETYPE.PACKAGETYPE_EQUIP, type); List <BaseEquip> packageList = em.GetEquipsByPackageType(PACKAGETYPE.PACKAGETYPE_MAIN, type); wareList.AddRange(packageList); List <BaseEquip> tempList = GetSortList(wareList); dic.Add(type, tempList); } } return(dic); }