Core/GameEngine/DataToCtl/NeverConnectState.cs
@@ -1,6 +1,7 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; using Snxxz.UI; public class NeverConnectState : NetState { @@ -8,6 +9,7 @@ public override void OnEnter() { base.OnEnter(); NetLinkWin.Hide(); } protected override void Update() Core/GameEngine/Login/LoginStage.cs
@@ -13,8 +13,9 @@ checkClientTimer = Time.time + 60f; checkAssetVersionTimer = Time.time + 70f; WindowCenter.Instance.Close<FightingPKWin>(); WindowCenter.Instance.Open<LaunchBackGroundWin>(true); var backGroundWin = WindowCenter.Instance.Get<LaunchBackGroundWin>(); if (backGroundWin != null) { Fight/GameActor/GAStaticDefine.cs
@@ -257,7 +257,8 @@ public static void PopHp(GActor caster, GActor target, int attackType, int value) { if (target == null || CameraController.Instance == null) || CameraController.Instance == null || PlayerDatas.Instance.hero == null) { return; } @@ -280,6 +281,12 @@ ///** 闪避 9*/ //Miss, if (attackType == (int)HurtAttackType.Recovery && target is GA_Player && target != PlayerDatas.Instance.hero.SelectTarget) { return; } // 判断伤血的归属是否为玩家或者玩家的召唤物或者宠物 //bool _isHurtHero = target.ServerInstID == PlayerDatas.Instance.PlayerId; //if (!_isHurtHero) @@ -295,7 +302,7 @@ || (attackType == (int)HurtAttackType.Recovery && (target.ActorType == GameObjType.gotNPC || (PlayerDatas.Instance.hero != null && target == PlayerDatas.Instance.hero.SelectTarget)))// npc和当前选中目标的回血显示 ||(caster == null && target.ActorInfo.ownerSID == 0)) || (caster == null && target.ActorInfo.ownerSID == 0)) { // 决定显示的类型 int _base = (int)PopUpNum.Pattern.PlayerAttack; Fight/GameActor/GA_NpcFightNorm.cs
@@ -57,7 +57,7 @@ else { // 初始化坐标 AdjustPos(_h0406.PosX, _h0406.PosY, false); AdjustPos(_h0406.PosX, _h0406.PosY, NpcConfig.IsBoss > 1); } GAStaticDefine.NPCLocation _npcLocation; Fight/GameActor/GActor.cs
@@ -67,7 +67,7 @@ //} //Debug.Log(_content); //Debug.Log("转向了.......: " + m_Forward); //Debug.Log("转向了.......: " + m_Forward); } } } @@ -305,7 +305,7 @@ } } public void MoveToPosition(Vector3 destPos, float keepDist = 0,bool force = false) public void MoveToPosition(Vector3 destPos, float keepDist = 0, bool force = false) { if (PathFindStatus == E_PathFindStatus.Moving && m_SearchType == E_SearchType.Static @@ -640,20 +640,19 @@ } else { //Debug.LogErrorFormat("服务端给定坐标: {0} 映射至客户端坐标: {1} 为客户端无法矫正的障碍点...当前地图: {2}", // new Vector2(sPosX, sPosY), new Vector2(_clntPos.x, _clntPos.z), PlayerDatas.Instance.baseData.MapID); if (!TryGetValidPos(_clntPos, ref _adjustPos)) { Debug.LogErrorFormat("服务端给定坐标: {0} 映射至客户端坐标: {1} 为客户端无法矫正的障碍点...当前地图: {2}", new Vector2(sPosX, sPosY), new Vector2(_clntPos.x, _clntPos.z), PlayerDatas.Instance.baseData.MapID); return; } } float _groundHeight; float _groundHeight = Pos.y; if (!CollisionUtility.TryGetGroundHeight(_adjustPos, out _groundHeight)) { Debug.LogErrorFormat("服务端给定坐标: {0} 映射至客户端坐标: {1} 客户端无法从此点计算出地板高度...", new Vector2(sPosX, sPosY), new Vector2(_clntPos.x, _clntPos.z)); return; Debug.LogErrorFormat("服务端给定坐标: {0} 映射至客户端坐标: {1} 并且矫正后: {2}客户端无法从此点计算出地板高度...", new Vector2(sPosX, sPosY), new Vector2(_clntPos.x, _clntPos.y), new Vector2(_adjustPos.x, _adjustPos.z)); } _adjustPos.y = _groundHeight; Fight/PrepareHandler.cs
@@ -93,6 +93,14 @@ _player.Collect(); } if (H0812.PlayerID == PlayerDatas.Instance.PlayerId) { if (PlayerDatas.Instance.hero != null) { PlayerDatas.Instance.hero.Behaviour.StopHandupAI(true); } } break; case E_PrepareType.pstCatching: break; System/CrossServerOneVsOne/FightingPKWin.cs
@@ -126,7 +126,7 @@ } protected override void LateUpdate() { if (PlayerDatas.Instance.hero.aiHandler.IsAuto()) if (PlayerDatas.Instance.hero!=null && PlayerDatas.Instance.hero.aiHandler.IsAuto()) { m_AutoImg.SetActive(false); } System/KnapSack/FBHelpPointExchageModel.cs
@@ -31,6 +31,7 @@ currentShopId = 0; helpPointShoplist.Clear(); storeModel.RefreshTCBPlayerDataEvent -= UpdateFBHelpPoint; storeModel.RefreshBuyShopLimitEvent -= UpdateBuyShop; TimeMgr.Instance.OnDayEvent -= UpdateDay; } @@ -41,6 +42,7 @@ shopLifeLocalSave = StringUtility.Contact("ShopLifeLocalSave",playerId); curDayLocalSave = StringUtility.Contact("CurDayLocalSave",playerId); storeModel.RefreshTCBPlayerDataEvent += UpdateFBHelpPoint; storeModel.RefreshBuyShopLimitEvent += UpdateBuyShop; TimeMgr.Instance.OnDayEvent += UpdateDay; GetLocalSaveData(); } @@ -119,6 +121,12 @@ ClearShopDayLocalSave(); } private void UpdateBuyShop() { UpdateFBHelpPoint(PlayerDataRefresh.FBHelpPoint); } private void UpdateFBHelpPoint(PlayerDataRefresh type) { if (type != PlayerDataRefresh.FBHelpPoint System/KnapSack/Logic/BoxInfoWin.cs
@@ -180,25 +180,7 @@ operateBtn.SetActive(false); CreateFuncBtn(); if (itemTipsModel.curAttrData.itemConfig.ExpireTime > 0) { List<int> itemEffectTime = itemTipsModel.curAttrData.GetUseDataModel((int)ItemUseDataKey.Def_IudetCreateTime); if (itemEffectTime != null && itemEffectTime[0] != 0 && itemTipsModel.curAttrData.guid != "") { RefreshRemainTime(itemTipsModel.curAttrData.guid); } else { SetDateLimitUI(itemTipsModel.curAttrData.itemConfig.ExpireTime); } } else { dateText.gameObject.SetActive(false); } RefreshRemainTime(itemTipsModel.curAttrData.guid); } private void CheckUselimit() @@ -282,14 +264,12 @@ { return; } ItemCDCool cool = KnapsackTimeCDMgr.Instance.GetItemCoolById(guid); if (cool != null) double remainTime = 0; bool isRemain = itemTipsModel.curAttrData.TryGetItemRemainTime(out remainTime); dateText.gameObject.SetActive(isRemain); if (isRemain) { SetDateLimitUI(cool.GetRemainTime()); } else { SetDateLimitUI(0); SetDateLimitUI(remainTime); } } System/KnapSack/Logic/EquipTip.cs
@@ -225,23 +225,7 @@ container_FightPower.SetActive(itemTipsModel.IsPeerlessEquip(itemAttrData.itemId)); fightPowerText.text = itemTipsModel.GetEquipFightPower(itemAttrData.score).ToString(); CheckUselimit(); if (itemAttrData.itemConfig.ExpireTime > 0) { List<int> itemEffectTime = itemAttrData.GetUseDataModel((int)ItemUseDataKey.Def_IudetCreateTime); if(itemEffectTime != null && itemEffectTime[0] != 0 && itemAttrData.guid != "") { RefreshRemainTime(itemAttrData.guid); } else { SetDateLimitUI(itemAttrData.itemConfig.ExpireTime); } } else { dateText.gameObject.SetActive(false); } RefreshRemainTime(itemAttrData.guid); #endregion #region 设置MidUI @@ -379,14 +363,13 @@ { return; } ItemCDCool cool = KnapsackTimeCDMgr.Instance.GetItemCoolById(guid); if (cool != null) double remainTime = 0; bool isRemain = itemAttrData.TryGetItemRemainTime(out remainTime); dateText.gameObject.SetActive(isRemain); if(isRemain) { SetDateLimitUI(cool.GetRemainTime()); } else { SetDateLimitUI(0); SetDateLimitUI(remainTime); } } System/KnapSack/Logic/GuardTip.cs
@@ -195,23 +195,7 @@ needLvValue.color = conditionColor; } if (itemAttrData.itemConfig.ExpireTime > 0) { List<int> itemEffectTime = itemAttrData.GetUseDataModel((int)ItemUseDataKey.Def_IudetCreateTime); if (itemEffectTime != null && itemEffectTime[0] != 0 && itemAttrData.guid != "") { RefreshRemainTime(itemAttrData.guid); } else { SetDateLimitUI(itemAttrData.itemConfig.ExpireTime); } } else { dateText.gameObject.SetActive(false); } RefreshRemainTime(itemAttrData.guid); #endregion #region 设置MidUI @@ -245,14 +229,12 @@ { return; } ItemCDCool cool = KnapsackTimeCDMgr.Instance.GetItemCoolById(guid); if (cool != null) double remainTime = 0; bool isRemain = itemAttrData.TryGetItemRemainTime(out remainTime); dateText.gameObject.SetActive(isRemain); if (isRemain) { SetDateLimitUI(cool.GetRemainTime()); } else { SetDateLimitUI(0); SetDateLimitUI(remainTime); } } System/KnapSack/Logic/ItemInfoWin.cs
@@ -163,25 +163,7 @@ CreateFuncBtn(); if (itemTipsModel.curAttrData.itemConfig.ExpireTime > 0) { List<int> itemEffectTime = itemTipsModel.curAttrData.GetUseDataModel((int)ItemUseDataKey.Def_IudetCreateTime); if (itemEffectTime != null && itemEffectTime[0] != 0 && itemTipsModel.curAttrData.guid != "") { RefreshRemainTime(itemTipsModel.curAttrData.guid); } else { SetDateLimitUI(itemTipsModel.curAttrData.itemConfig.ExpireTime); } } else { dateText.gameObject.SetActive(false); } RefreshRemainTime(itemTipsModel.curAttrData.guid); switch (itemTipsModel.curAttrData.itemConfig.Type) { case 125: @@ -291,14 +273,12 @@ { return; } ItemCDCool cool = KnapsackTimeCDMgr.Instance.GetItemCoolById(guid); if (cool != null) double remainTime = 0; bool isRemain = itemTipsModel.curAttrData.TryGetItemRemainTime(out remainTime); dateText.gameObject.SetActive(isRemain); if (isRemain) { SetDateLimitUI(cool.GetRemainTime()); } else { SetDateLimitUI(0); SetDateLimitUI(remainTime); } } System/KnapSack/Logic/ItemTipsModel.cs
@@ -36,7 +36,8 @@ public Dictionary<int, string> petAndMountQualityDict = new Dictionary<int, string>(); public Dictionary<int, List<int>> itemParamsDict { get; private set; } public string expValueFormula = ""; public Dictionary<int, string> exhaustedAttrFormula { get; private set; } public Dictionary<int, int> exhaustedMaxLvDict { get; private set; } public int[] guardAutoDrops; public int[] gemOpenLvs { get; private set; } @@ -82,6 +83,17 @@ m_storeModel.RefreshTCBPlayerDataEvent += RefreshOfflinePluginTime; exhaustedFunc = Config.Instance.Get<FuncConfigConfig>("OutOfPrintValue"); exhaustedAttrFormula = new Dictionary<int, string>(); JsonData exhaustedJsonData = JsonMapper.ToObject(exhaustedFunc.Numerical2); foreach(var key in exhaustedJsonData.Keys) { int attrId = int.Parse(key); exhaustedAttrFormula.Add(attrId,exhaustedJsonData[key].ToString()); } FuncConfigConfig OutOfPrintValueDes = Config.Instance.Get<FuncConfigConfig>("OutOfPrintValueDes"); exhaustedMaxLvDict = ConfigParse.GetDic<int, int>(OutOfPrintValueDes.Numerical1); FuncConfigConfig suitlimitModel = Config.Instance.Get<FuncConfigConfig>("EquipSuitLimit"); equipSuitStar = int.Parse(suitlimitModel.Numerical2); @@ -1726,16 +1738,17 @@ #region 设置绝版属性 public string GetExhaustedAtrr(ItemAttrData attrData) { return SetExhaustedAttr(attrData.exhaustedMaxDataDict.Keys.ToList(),attrData.exhaustedMaxDataDict.Values.ToList()); return SetExhaustedAttr(attrData,attrData.exhaustedMaxDataDict.Keys.ToList(),attrData.exhaustedMaxDataDict.Values.ToList()); } //即将丢弃 public string GetEquipExhaustedAtrr(List<int> idlist, List<int> valuelist) { return SetExhaustedAttr(idlist, valuelist); //return SetExhaustedAttr(idlist, valuelist); return ""; } private string SetExhaustedAttr(List<int> idlist, List<int> valuelist) private string SetExhaustedAttr(ItemAttrData attrData,List<int> idlist, List<int> valuelist) { if (idlist == null) return ""; @@ -1751,10 +1764,10 @@ switch ((AttrEnum)idlist[i]) { case AttrEnum.OnlyFinalHurt: s = Language.Get("EquipTip_ExtraDamage",GetExhaustedAttrValue(valuelist[i]),valuelist[i]); s = Language.Get("EquipTip_ExtraDamage",GetExhaustedAttrValue(idlist[i],valuelist[i]),GetExhaustedMaxLv(attrData.itemConfig.LV),valuelist[i]); break; case AttrEnum.PVPAtkBackHP: s = Language.Get("EquipTip_ExtraHpBack", GetExhaustedAttrValue(valuelist[i]), valuelist[i]); s = Language.Get("EquipTip_ExtraHpBack", GetExhaustedAttrValue(idlist[i], valuelist[i]), GetExhaustedMaxLv(attrData.itemConfig.LV), valuelist[i]); break; } @@ -1772,12 +1785,24 @@ return attrSB.ToString(); } private int GetExhaustedAttrValue(int value) private int GetExhaustedAttrValue(int attrId,int value) { Equation.Instance.Clear(); Equation.Instance.AddKeyValue("maxOOPValue",value); Equation.Instance.AddKeyValue("lv", PlayerDatas.Instance.baseData.LV); return Equation.Instance.Eval<int>(exhaustedFunc.Numerical1); string formula = string.Empty; if(exhaustedAttrFormula.ContainsKey(attrId)) { formula = exhaustedAttrFormula[attrId]; } return Equation.Instance.Eval<int>(formula); } public int GetExhaustedMaxLv(int equipLV) { int maxLv = 0; exhaustedMaxLvDict.TryGetValue(equipLV,out maxLv); return maxLv; } #endregion @@ -2826,6 +2851,40 @@ return cnt; } public bool TryGetItemRemainTime(out double remainTime) { ItemCDCool cool = KnapsackTimeCDMgr.Instance.GetItemCoolById(guid); if (cool != null) { remainTime = cool.GetRemainTime(); return true; } else { remainTime = itemConfig.ExpireTime; var getTimes = GetUseDataModel((int)ItemUseDataKey.Def_IudetCreateTime); var serverSurplusTimes = GetUseDataModel((int)ItemUseDataKey.Def_IudetTotalTime); if(remainTime > 0) { if (getTimes != null && serverSurplusTimes != null) { int getTime = getTimes[0]; int serverSurplusTime = serverSurplusTimes[0]; if (getTime > 0) { double time = modelInterface.GetTimeOffest(TimeUtility.GetTime((uint)getTime)); time = time > 0 ? time : 0; remainTime = (serverSurplusTime > 0 ? serverSurplusTime : itemConfig.ExpireTime) - time; } } return true; } } return false; } #region 预览定制属性逻辑处理 public bool CheckIsCustomItem() { System/KnapSack/Logic/UnionWarehouseEquipTip.cs
@@ -187,22 +187,7 @@ container_FightPower.SetActive(itemTipsModel.IsPeerlessEquip(itemAttrData.itemId)); fightPowerText.text = itemTipsModel.GetEquipFightPower(itemAttrData.score).ToString(); CheckUselimit(); if (itemAttrData.itemConfig.ExpireTime > 0) { List<int> itemEffectTime = itemAttrData.GetUseDataModel((int)ItemUseDataKey.Def_IudetCreateTime); if (itemEffectTime != null && itemEffectTime[0] != 0 && itemAttrData.guid != "") { RefreshRemainTime(itemAttrData.guid); } else { SetDateLimitUI(itemAttrData.itemConfig.ExpireTime); } } else { dateText.gameObject.SetActive(false); } RefreshRemainTime(itemAttrData.guid); #endregion #region 设置MidUI @@ -340,14 +325,12 @@ return; } ItemCDCool cool = KnapsackTimeCDMgr.Instance.GetItemCoolById(guid); if(cool != null) double remainTime = 0; bool isRemain = itemAttrData.TryGetItemRemainTime(out remainTime); dateText.gameObject.SetActive(isRemain); if (isRemain) { SetDateLimitUI(cool.GetRemainTime()); } else { SetDateLimitUI(0); SetDateLimitUI(remainTime); } } System/KnapSack/Logic/WingsTip.cs
@@ -207,24 +207,8 @@ conditionText.gameObject.SetActive(false); conditionValueText.gameObject.SetActive(false); } if (itemAttrData.itemConfig.ExpireTime > 0) { List<int> itemEffectTime = itemAttrData.GetUseDataModel((int)ItemUseDataKey.Def_IudetCreateTime); if (itemEffectTime != null && itemEffectTime[0] != 0 && itemAttrData.guid != "") { RefreshRemainTime(itemAttrData.guid); } else { SetDateLimitUI(itemAttrData.itemConfig.ExpireTime); } } else { dateText.gameObject.SetActive(false); } RefreshRemainTime(itemAttrData.guid); #endregion #region 设置MidUI @@ -271,14 +255,12 @@ { return; } ItemCDCool cool = KnapsackTimeCDMgr.Instance.GetItemCoolById(guid); if (cool != null) double remainTime = 0; bool isRemain = itemAttrData.TryGetItemRemainTime(out remainTime); dateText.gameObject.SetActive(isRemain); if (isRemain) { SetDateLimitUI(cool.GetRemainTime()); } else { SetDateLimitUI(0); SetDateLimitUI(remainTime); } } System/KnapSack/New/GetWingsPathTips.cs
@@ -219,23 +219,7 @@ conditionValueText.gameObject.SetActive(false); } if (itemAttrData.itemConfig.ExpireTime > 0) { List<int> itemEffectTime = itemAttrData.GetUseDataModel((int)ItemUseDataKey.Def_IudetCreateTime); if (itemEffectTime != null && itemEffectTime[0] != 0 && itemAttrData.guid != "") { RefreshRemainTime(itemAttrData.guid); } else { SetDateLimitUI(itemAttrData.itemConfig.ExpireTime); } } else { dateText.gameObject.SetActive(false); } RefreshRemainTime(itemAttrData.guid); #endregion #region 设置MidUI @@ -266,14 +250,13 @@ { return; } ItemCDCool cool = KnapsackTimeCDMgr.Instance.GetItemCoolById(guid); if (cool != null) double remainTime = 0; bool isRemain = itemAttrData.TryGetItemRemainTime(out remainTime); dateText.gameObject.SetActive(isRemain); if (isRemain) { SetDateLimitUI(cool.GetRemainTime()); } else { SetDateLimitUI(0); SetDateLimitUI(remainTime); } } System/Login/CrossServerLogin.cs
@@ -15,7 +15,6 @@ public bool reconnectBackGround { get; set; } int reLoginTime = 0; Clock loginOverTimeClock; float lastLoginTime = 0f; int reLoginTimes = 0; @@ -59,7 +58,7 @@ MaxProDef = (int)matchOK.MatchPlayer[0].MaxProDef, }; Clock.Create(DateTime.Now + new TimeSpan(5 * TimeSpan.TicksPerSecond), () => Clock.Create(DateTime.Now + new TimeSpan(3 * TimeSpan.TicksPerSecond), () => { if (oneVsOnePlayerData.waitForLoginCrossServer) { @@ -246,11 +245,12 @@ private void ProcessLoginFailure() { StopLoginOverTimeProcess(); busy = false; ExceptionCatcher.ReportException("登录跨服出现异常", StringUtility.Contact("角色:", PlayerDatas.Instance.baseData.PlayerName)); var sendInfo = new CC003_tagCGForceQuitCrossState(); GameNetSystem.Instance.SendInfo(sendInfo); GameNetSystem.Instance.crossServerConnected_Loigc = false; Clock.Create(DateTime.Now + new TimeSpan(2 * TimeSpan.TicksPerSecond), () => { loginModel.ReAccountLogin(); System/MainInterfacePanel/CoinTaskTipModel.cs
@@ -114,6 +114,10 @@ private IEnumerator PopupPanel() { yield return WaitingForSecondConst.WaitMS1500; if (PlayerDatas.Instance.baseData.ExAttr5 == 1)//在跨服竞技场不打开 { yield break; } if (NewBieCenter.Instance.inGuiding || ModelCenter.Instance.GetModel<TreasureModel>().newGotShowing || WindowCenter.Instance.IsOpen<TreasureBaseWin>()) { yield break; @@ -136,6 +140,10 @@ private IEnumerator FairyAuTaskPanel() { yield return WaitingForSecondConst.WaitMS1500; if (PlayerDatas.Instance.baseData.ExAttr5 == 1)//在跨服竞技场不打开 { yield break; } if (NewBieCenter.Instance.inGuiding || ModelCenter.Instance.GetModel<TreasureModel>().newGotShowing || WindowCenter.Instance.IsOpen<TreasureBaseWin>()) { yield break; System/Mount/PlayerMountDatas.cs
@@ -332,7 +332,27 @@ } int GetMinLV = 100; int GetMountID = 0; for (int j = 0; j < SortMount.Count; j++) for (int j = 0; j < SortMount.Count; j++)//选取出可升级坐骑等级最低且有未激活技能的坐骑 { int Id = SortMount[j].HorseID; int GetHorseMaxLv = GetMountSkillMaxLV(Id); if (IntList.Contains(Id) && _DicHorse.ContainsKey(Id)) { if (_DicHorse[Id].Lv < GetMinLV && _DicHorse[Id].Lv< GetHorseMaxLv) { GetMinLV = _DicHorse[Id].Lv; GetMountID = Id; } } } if (GetMountID != 0 && ASingleFeedRedPoint.ContainsKey(GetMountID)) { ASingleFeedRedPoint[GetMountID].state = RedPointState.Simple; return; } for (int j = 0; j < SortMount.Count; j++)//选取出可升级坐骑等级最低 { int Id = SortMount[j].HorseID; if (IntList.Contains(Id) && _DicHorse.ContainsKey(Id)) @@ -344,26 +364,10 @@ } } } bool IsFullBool = true; foreach (var key in _DicHorse.Keys) if (GetMountID != 0 && ASingleFeedRedPoint.ContainsKey(GetMountID)) { if (_DicHorse[key].Lv < 20) { IsFullBool = false; } } if (ASingleFeedRedPoint.ContainsKey(GetMountID)) { if (_DicHorse[GetMountID].Lv < 20) { ASingleFeedRedPoint[GetMountID].state = RedPointState.Simple; return; } else if (_DicHorse[GetMountID].Lv >= 20 && IsFullBool) { ASingleFeedRedPoint[GetMountID].state = RedPointState.Simple; return; } ASingleFeedRedPoint[GetMountID].state = RedPointState.Simple; return; } } @@ -378,9 +382,11 @@ } int GetMountID = 0; int MountLV = 999; foreach (var key in _DicHorse.Keys)//无红点时跳转选中最低阶数 foreach (var key in _DicHorse.Keys)//无红点时跳转选中最低阶数且未满级 { if (_DicHorse[key].Lv < MountLV) var mountConfig = Config.Instance.Get<HorseConfig>(key); if (_DicHorse[key].Lv < MountLV && _DicHorse[key].Lv< mountConfig.MaxLV) { GetMountID = key; MountLV = _DicHorse[key].Lv; @@ -389,7 +395,7 @@ return GetMountID; } public int GetMountSkillMaxLV(int MountId)//获取灵宠最大技能等级 public int GetMountSkillMaxLV(int MountId)//获取坐骑最大技能等级 { int SkillLv = 0; foreach (var key in GetMountSkillAndItem.Keys) System/Pet/PlayerPetDatas.cs
@@ -356,7 +356,32 @@ return; } } for (int i = 0; i < ListInt.Count; i++) for (int i = 0; i < ListInt.Count; i++)//选择出升级灵宠等级最低且有技能未解锁的 { if (_DicPetBack.ContainsKey(ListInt[i])) { var PetConfig = Config.Instance.Get<PetInfoConfig>(ListInt[i]); if (PetConfig == null) { return; } int[] SkillUnLockInt = PetConfig.SkillUnLock; int SkillLvMax = SkillUnLockInt[(SkillUnLockInt.Length-1)]; if (_DicPetBack[(ListInt[i])].PetClass < petLv && _DicPetBack[(ListInt[i])].PetClass<SkillLvMax) { petLv = _DicPetBack[(ListInt[i])].PetClass; GetPetId = (ListInt[i]); } } } if (GetPetId != 0 && CultivateRedPoint.ContainsKey(GetPetId)) { CultivateRedPoint[GetPetId].state = RedPointState.Simple; return; } for (int i = 0; i < ListInt.Count; i++)//选择出等级最低的灵宠 { if (_DicPetBack.ContainsKey(ListInt[i])) { @@ -367,26 +392,10 @@ } } } bool IsFullBool = true; foreach (var key in _DicPetBack.Keys) if (GetPetId != 0 && CultivateRedPoint.ContainsKey(GetPetId)) { if (_DicPetBack[key].PetClass < 20) { IsFullBool = false; } } if (CultivateRedPoint.ContainsKey(GetPetId)) { if (_DicPetBack[GetPetId].PetClass < 20) { CultivateRedPoint[GetPetId].state = RedPointState.Simple; return; } else if (_DicPetBack[GetPetId].PetClass >= 20 && IsFullBool) { CultivateRedPoint[GetPetId].state = RedPointState.Simple; return; } CultivateRedPoint[GetPetId].state = RedPointState.Simple; return; } } @@ -401,9 +410,11 @@ } int GetPetId = 0; int GetPetLv = 999; foreach (var key in _DicPetBack.Keys)//无红点时跳转选中等级最低的 { if (_DicPetBack[key].PetClass < GetPetLv) var config = Config.Instance.Get<PetInfoConfig>(key); if (_DicPetBack[key].PetClass < GetPetLv && _DicPetBack[key].PetClass < config.MaxRank) { GetPetId = key; GetPetLv = _DicPetBack[key].PetClass; System/Store/StoreModel.cs
@@ -466,14 +466,14 @@ bool isLimitBuy = TryGetLimitBuy(storeConfig, out canBuyCnt, out addBuyCnt); if (!isLimitBuy) return false; int remainNum = canBuyCnt; remainCnt = canBuyCnt; BuyShopItemLimit shopItemLimit = GetBuyShopLimit((uint)storeConfig.ID); if (shopItemLimit != null) { remainNum -= shopItemLimit.BuyCnt; remainCnt -= shopItemLimit.BuyCnt; } if (remainNum <= 0) if (remainCnt <= 0) { return true; }