| System/KnapSack/BetterItemGetBehaviour.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/KnapSack/KnapsackTimeCDMgr.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/KnapSack/Logic/ItemModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/KnapSack/Logic/PackModelInterface.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/KnapSack/Logic/PlayerPackModels.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Utility/EnumHelper.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
System/KnapSack/BetterItemGetBehaviour.cs
@@ -79,7 +79,7 @@ var coolData = KnapsackTimeCDMgr.Instance.GetItemCoolById(model.currentEquipGuid); if (model.CheckIsAutoEquip(betterEquip) && coolData == null) { KnapsackTimeCDMgr.Instance.Register(betterEquip.itemInfo.ItemGUID, betterEquip.itemId, model.autoEquipCoolTime); KnapsackTimeCDMgr.Instance.Register(betterEquip.itemInfo.ItemGUID, betterEquip.itemId, model.autoEquipCoolTime,0); } } } System/KnapSack/KnapsackTimeCDMgr.cs
@@ -7,7 +7,7 @@ namespace Snxxz.UI { [XLua.LuaCallCSharp] public class KnapsackTimeCDMgr : SingletonMonobehaviour<KnapsackTimeCDMgr> public class KnapsackTimeCDMgr : SingletonMonobehaviour<KnapsackTimeCDMgr> { private List<ItemCDCool> itemCDList = new List<ItemCDCool>(); @@ -15,7 +15,7 @@ public event Action<string> RefresCoolTimeAct; public event Action<string> RefreshItemOverdueTimeAct; public event Action<string> RefreshItemOverdueAct; public event Action<int,int> RefreshNormalCDAct; public event Action<int, int> RefreshNormalCDAct; int secondBuf = -1; int minuteBuf = -1; private void LateUpdate() @@ -23,7 +23,7 @@ CheckItemCoolTime(TimeRefreshType.Frame); var minute = DateTime.Now.Minute; var second = DateTime.Now.Second; if(second != secondBuf) if (second != secondBuf) { CheckNormalCoolTime(TimeRefreshType.Second); secondBuf = second; @@ -50,7 +50,7 @@ } break; case TimeRefreshType.Minute: if(RefreshItemOverdueTimeAct != null) if (RefreshItemOverdueTimeAct != null) { RefreshItemOverdueTimeAct(itemCDList[i].guid); } @@ -80,9 +80,9 @@ case TimeRefreshType.Frame: break; case TimeRefreshType.Second: if(RefreshNormalCDAct != null) if (RefreshNormalCDAct != null) { RefreshNormalCDAct(normalCDList[i].code,(int)remianCD); RefreshNormalCDAct(normalCDList[i].code, (int)remianCD); } break; case TimeRefreshType.Minute: @@ -97,21 +97,21 @@ } public void Register(string guid,int itemId,double cdTime) public void Register(string guid, int itemId, double cdTime,int serverSurplusTime) { int index; if (ContainsItemCD(guid,out index)) if (ContainsItemCD(guid, out index)) { itemCDList[index].SetTime(cdTime); itemCDList[index].SetTime(serverSurplusTime>0? serverSurplusTime: cdTime); } else { ItemCDCool cool = new ItemCDCool(guid,itemId,cdTime); ItemCDCool cool = new ItemCDCool(guid, itemId, serverSurplusTime > 0 ? serverSurplusTime : cdTime); itemCDList.Add(cool); } } public void Register(int code,double cdTime) public void Register(int code, double cdTime) { int index; if (ContainsNormalCD(code, out index)) @@ -120,7 +120,7 @@ } else { NormalCDCool cool = new NormalCDCool(code,cdTime); NormalCDCool cool = new NormalCDCool(code, cdTime); normalCDList.Add(cool); } } @@ -164,14 +164,14 @@ } List<ItemCDCool> typeCoollist = new List<ItemCDCool>(); public List<ItemCDCool> GetItemCoolByCDType(int type,out bool isCool) public List<ItemCDCool> GetItemCoolByCDType(int type, out bool isCool) { typeCoollist.Clear(); isCool = false; for (int i = 0; i < itemCDList.Count; i++) typeCoollist.Clear(); isCool = false; for (int i = 0; i < itemCDList.Count; i++) { ItemConfig itemConfig = Config.Instance.Get<ItemConfig>(itemCDList[i].itemId); if(itemConfig != null if (itemConfig != null && itemConfig.CDType == type && itemCDList[i].GetRemainTime() > 0) { @@ -196,7 +196,7 @@ return false; } private bool ContainsNormalCD(int code,out int index) private bool ContainsNormalCD(int code, out int index) { index = 0; for (int i = 0; i < normalCDList.Count; i++) @@ -224,7 +224,8 @@ public int itemId; public double totalTime; public DateTime startTime { get; private set; } public ItemCDCool(string guid,int itemId,double totalTime) public ItemCDCool(string guid, int itemId, double totalTime) { this.guid = guid; this.itemId = itemId; @@ -241,7 +242,7 @@ public double GetRemainTime() { double remainTime = totalTime - (DateTime.Now - startTime).TotalSeconds; if(remainTime <= 0) if (remainTime <= 0) { remainTime = 0; } @@ -254,7 +255,7 @@ public int code; public double totalTime; public DateTime startTime { get; private set; } public NormalCDCool(int code,double totalTime) public NormalCDCool(int code, double totalTime) { this.code = code; this.totalTime = totalTime; System/KnapSack/Logic/ItemModel.cs
@@ -55,6 +55,12 @@ } useDataDict = ConfigParse.Analysis(info.UserData); var serverSurplusTime = 0; if (useDataDict.ContainsKey(48) && useDataDict[48].Count > 0) { serverSurplusTime=useDataDict[48][0]; } this.equipScore = modelInterface.SetEquipScore(packType,itemInfo.ItemID,useDataDict); if(GetUseDataModel((int)ItemUseDataKey.Def_IudetItemCount) != null) { @@ -73,7 +79,7 @@ case EquipReduceType.Def_EquipReduceType_ATK: break; case EquipReduceType.Def_EquipReduceType_Time: modelInterface.SetItemEffectCDTime(info.ItemGUID, info.ItemID, itemEffectTime[0]); modelInterface.SetItemEffectCDTime(info.ItemGUID, info.ItemID, itemEffectTime[0], serverSurplusTime); break; case EquipReduceType.Def_EquipReduceType_AttackValue: break; @@ -86,7 +92,7 @@ case EquipReduceType.Def_EquipReduceType_Horse: break; case EquipReduceType.Def_EquipReduceType_RTimeItem: modelInterface.SetItemEffectCDTime(info.ItemGUID, info.ItemID, itemEffectTime[0]); modelInterface.SetItemEffectCDTime(info.ItemGUID, info.ItemID, itemEffectTime[0], serverSurplusTime); break; case EquipReduceType.Def_EquipReduceType_Day: break; System/KnapSack/Logic/PackModelInterface.cs
@@ -1030,7 +1030,7 @@ /// <summary> /// 物品使用时间限制 /// </summary> public void SetItemEffectCDTime(string guid, int itemID, int getTime) public void SetItemEffectCDTime(string guid, int itemID, int getTime,int serverSurplusTime) { double time = GetTimeOffest(TimeUtility.GetTime((uint)getTime)); if (time < 0) @@ -1045,7 +1045,7 @@ return; } double remainTime = itemConfig.ExpireTime - time; KnapsackTimeCDMgr.Instance.Register(guid,itemID,remainTime); KnapsackTimeCDMgr.Instance.Register(guid,itemID,remainTime, serverSurplusTime); } public double GetTimeOffest(DateTime getTime) System/KnapSack/Logic/PlayerPackModels.cs
@@ -428,7 +428,7 @@ ItemConfig itemConfig = Config.Instance.Get<ItemConfig>(id); if (itemConfig.CDType != 0) { float cdTime = (float)Math.Round((double)itemConfig.CDTime / 1000, 1); float configCdTime = (float)Math.Round((double)itemConfig.CDTime / 1000, 1); List<ItemModel> modellist = null; GetSinglePackModel(PackType.rptItem).GetItemCountByType((int)ItemType.Buff, out modellist); for (int i = 0; i < modellist.Count; i++) @@ -438,7 +438,13 @@ || modellist[i].itemId == 903 || modellist[i].itemId == 904) { KnapsackTimeCDMgr.Instance.Register(modellist[i].itemInfo.ItemGUID, modellist[i].itemInfo.ItemID, cdTime); var realCdTime = 0; if (modellist[i].useDataDict.ContainsKey(48) && modellist[i].useDataDict[48].Count > 0) { realCdTime = modellist[i].useDataDict[48][0]; } KnapsackTimeCDMgr.Instance.Register(modellist[i].itemInfo.ItemGUID, modellist[i].itemInfo.ItemID, configCdTime, realCdTime); break; } } Utility/EnumHelper.cs
@@ -1525,7 +1525,7 @@ Def_IudetBirthChartLV = 40, // 命格等级 Def_IudetWingProgressValue = 42, //羽翼精炼值 Def_IudetCreateTime = 44, // 时效物品的创建时间 Def_IudetTotalTime = 48, // 时效物品的剩余时间 #region 200~300 宠物数据用 Def_IudetPet_NPCID = 200, //npcID Def_IudetPet_ClassLV = 202, // 阶级