/// <summary> /// 检测是否可进阶 /// </summary> /// <returns></returns> bool CheckJinJie() { int levelLimit = 0; int equipID1 = 0; int equipID2 = 0; int equipID3 = 0; int equipID4 = 0; int equipID5 = 0; int equipID6 = 0; if (ConfigM.GetNextQuality(m_soldierInfo.Quality) == 0) { return(false); } SoldierM.GetUpQualityNeed(m_soldierInfo.SoldierTypeID, m_soldierInfo.Quality, ref levelLimit, ref equipID1, ref equipID2, ref equipID3, ref equipID4, ref equipID5, ref equipID6); if (CheckUpEquip(levelLimit, equipID1, equipID2, equipID3, equipID4, equipID5, equipID6) == false) { return(false); } return(true); }
/// <summary> /// 升阶 /// </summary> void BtnJinSheng_OnClickEventHandler(UIButton sender) { int levelLimit = 0; int equipID1 = 0; int equipID2 = 0; int equipID3 = 0; int equipID4 = 0; int equipID5 = 0; int equipID6 = 0; if (ConfigM.GetNextQuality(m_soldierInfo.Quality) == 0) { NGUIUtil.ShowTipWndByKey("30000017", 1.0f, ConstantData.iDepBefore3DModel); return; } SoldierM.GetUpQualityNeed(m_soldierInfo.SoldierTypeID, m_soldierInfo.Quality, ref levelLimit, ref equipID1, ref equipID2, ref equipID3, ref equipID4, ref equipID5, ref equipID6); if (CheckUpEquip(levelLimit, equipID1, equipID2, equipID3, equipID4, equipID5, equipID6) == false) { NGUIUtil.ShowTipWndByKey(30000019); return; } //可以进阶啦,发送进阶请求 EnablePrevNextBtn(false); DoEquipsFly(); m_preSoldierInfo.Copy(m_soldierInfo); SoldierDC.Send_SoldierQualityUpRequest(m_soldierInfo.ID); }
/// <summary> /// 陷阱能否升阶. /// </summary> /// <returns>The quality can U.</returns> /// <param name="info">Info.</param> public static CanQualityResult GetQualityCanUP(BuildInfo info) { int NextQuality = ConfigM.GetNextQuality(info.Quality); if (NextQuality == info.Quality) { return(CanQualityResult.QualityMax); } int LimitLev = 0; Dictionary <int, int> lNeedMaterial = new Dictionary <int, int>(); Dictionary <int, int> lhaveFragment = new Dictionary <int, int> (); buildingM.GetUpQualityNeed(info.BuildType, info.Quality, ref lNeedMaterial, ref LimitLev); if (info.Level < LimitLev) { return(CanQualityResult.LevelLimit); } if (lNeedMaterial.Count == 0 && info.Quality == NextQuality) { return(CanQualityResult.QualityMax); } foreach (int itemtype in lNeedMaterial.Keys) { if (lNeedMaterial[itemtype] == 0 && info.Quality == NextQuality) { return(CanQualityResult.QualityMax); } } //获取已有的资源。 List <int> litemType = new List <int>(); foreach (int itemtype in lNeedMaterial.Keys) { litemType.Add(itemtype); } ItemDC.GetItemCount(litemType, ref lhaveFragment); foreach (int itemtype in lNeedMaterial.Keys) { if (lhaveFragment[itemtype] < lNeedMaterial[itemtype]) { return(CanQualityResult.MaterialLimit); } } return(CanQualityResult.CanUp); }
private void SetUI() { // AddDoubleLabelItem ("[552d0a]"+NGUIUtil.GetStringByKey(10000058)+"[-]"+m_Info.m_Solidity.ToString() // ,"[552d0a]"+NGUIUtil.GetStringByKey(10000059)+"[-]"+m_Info.m_Intensity.ToString(),22); // // AddDoubleLabelItem ("[552d0a]"+NGUIUtil.GetStringByKey(10000060)+"[-]"+m_Info.m_Tenacity.ToString() // ,"[552d0a]"+NGUIUtil.GetStringByKey(10000057)+"[-]"+m_Info.m_hp.ToString(),22); // // AddDoubleLabelItem ("[552d0a]"+NGUIUtil.GetStringByKey(10000053)+"[-]"+m_Info.m_phyattack.ToString() // ,"[552d0a]"+NGUIUtil.GetStringByKey(10000055)+"[-]"+m_Info.m_phydefend.ToString(),22); // // AddDoubleLabelItem ("[552d0a]"+NGUIUtil.GetStringByKey(10000071)+"[-]"+m_Info.m_magicattack.ToString() // ,"[552d0a]"+NGUIUtil.GetStringByKey(10000056)+"[-]"+m_Info.m_magicdefend.ToString(),22); AddGrayItem(); string StrLimit = ""; int NextQuality = ConfigM.GetNextQuality(m_Info.Quality); int LimitLev = buildingM.GetUpQualityLevelNeed(m_Info); CanQualityResult result = buildingM.GetQualityCanUP(m_Info); if (result == CanQualityResult.QualityMax) { MyHead.table.Reposition(); return; } if (result != CanQualityResult.CanUp) { StrLimit = string.Format("[552d0a]" + NGUIUtil.GetStringByKey(10000072) + "[-]" + "[FF0000]" + NGUIUtil.GetStringByKey(10000091) + "[-]", LimitLev); } else { StrLimit = string.Format("[552d0a]" + NGUIUtil.GetStringByKey(10000072) + ":[-]"); } m_CanUp = result == CanQualityResult.CanUp; AddLabelItem(StrLimit, 20); AddNeedMaTerial(); AddShengJieBtn(); MyHead.table.Reposition(); DoCanShengJie(); }
/// <summary> /// 获取升阶所需资源 /// </summary> /// <param name="SoldierType">炮弹兵类型</param> /// <param name="Quality">当前阶</param> /// <param name="NeedMaterial">需要材料,key item id,value 数量</param> /// <param name="Star">建筑星级</param> /// <returns>建筑数据,null 获取失败</returns> public static void GetUpQualityNeed(int SoldierType, int CurQuality, ref int LimitLevel, ref int equipID1, ref int equipID2, ref int equipID3, ref int equipID4, ref int equipID5, ref int equipID6) { s_soldierqualityInfo Info = GetqualityInfoData(SoldierType, CurQuality); if (Info != null) { equipID1 = Info.equipment0; equipID2 = Info.equipment1; equipID3 = Info.equipment2; equipID4 = Info.equipment3; equipID5 = Info.equipment4; equipID6 = Info.equipment5; } // s_soldierqualityInfo Info1 = GetqualityInfoData(SoldierType, ConfigM.GetNextQuality(CurQuality)); if (Info1 != null) { LimitLevel = Info1.levellimit; } }
/// <summary> /// 检测炮弹兵是否满足进阶条件 /// </summary> public bool CheckSoldierJinJie() { Dictionary <int, int> l = new Dictionary <int, int>(); // 是否最高阶 if (ConfigM.GetNextQuality(Quality) == 0) { return(false); } int levelLimit = 0; int equipID1 = 0; int equipID2 = 0; int equipID3 = 0; int equipID4 = 0; int equipID5 = 0; int equipID6 = 0; SoldierM.GetUpQualityNeed(SoldierTypeID, Quality, ref levelLimit, ref equipID1, ref equipID2, ref equipID3, ref equipID4, ref equipID5, ref equipID6); // 等级限制 if (Level < levelLimit) { return(false); } //需要的装备 List <int> lEquipsID = new List <int>(); if (Equipment0 <= 0) { lEquipsID.Add(equipID1); } if (Equipment1 <= 0) { lEquipsID.Add(equipID2); } if (Equipment2 <= 0) { lEquipsID.Add(equipID3); } if (Equipment3 <= 0) { lEquipsID.Add(equipID4); } if (Equipment4 <= 0) { lEquipsID.Add(equipID5); } if (Equipment5 <= 0) { lEquipsID.Add(equipID6); } // 不缺装备 if (lEquipsID.Count == 0) { return(true); } //统计需要的装备 foreach (int itemid in lEquipsID) { ItemTypeInfo ItemInfo = ItemDC.SearchItem(itemid); //检测装备道具是否存在 //检测装备是否存在 if (ItemInfo == null) { return(false); } //检测等级是否满足装备要求 if (Level < ItemInfo.m_level) { return(false); } if (l.ContainsKey(itemid) == false) { l.Add(itemid, 1); } else { l[itemid] = l[itemid] + 1; } } //判断装备数量是否够 foreach (int itemid in l.Keys) { int num = ItemDC.CheckItem(itemid); if (num < l[itemid]) { return(false); } } return(true); }