少年修仙传客户端代码仓库
5530 【前端】【1.4】高级守护合成 ,合成后的守护剩余时间以服务端通知的时间为准。
6个文件已修改
71 ■■■■■ 已修改文件
System/KnapSack/BetterItemGetBehaviour.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/KnapsackTimeCDMgr.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/ItemModel.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/PackModelInterface.cs 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/PlayerPackModels.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/EnumHelper.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | 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,  // 阶级