少年修仙传客户端代码仓库
client_Wu Xijin
2018-10-26 82931aabaaa3e479bc04e11630a77cd9c9dd5fe3
System/KnapSack/Logic/PackSendQuestMgr.cs
@@ -95,6 +95,7 @@
            get { return _suitModel ?? (_suitModel = ModelCenter.Instance.GetModel<PlayerSuitModel>()); }
        }
        RolePointModel rolePointModel { get { return ModelCenter.Instance.GetModel<RolePointModel>(); } }
        DogzModel dogzModel { get { return ModelCenter.Instance.GetModel<DogzModel>(); } }
@@ -330,7 +331,7 @@
                                foreach (var key in sumOffsetlist.Keys)
                                {
                                    PlayerDatas.Instance.PlayerDataRefreshInfoEvent += RefreshFreePoint;
                                    //rolePointModel.SendAddPoint((int)key, (int)sumOffsetlist[key]);
                                    rolePointModel.SendAddPoint((int)key, (int)sumOffsetlist[key]);
                                }
                            }
                            else
@@ -826,7 +827,25 @@
                return;
            }
            if (useItemModel.itemInfo.ItemID == fairyModel.changeFairyNameItem)
            if(itemModel.itemId == 952)
            {
                int maxUseCnt = GetOfflineMaxNum(itemModel);
                if(maxUseCnt <= 1)
                {
                    if (!CheckIsMaxOfflineTime(maxUseCnt,itemModel))
                    {
                        SendMakeUseQuest(itemModel.itemInfo.ItemPlace);
                    }
                }
                else
                {
                    BatchUseModel.Instance.SetOfflineUseModel(itemModel.itemInfo.ItemGUID);
                    WindowCenter.Instance.Open<OfflineHangUpUseWin>();
                }
                return;
            }
            if (itemModel.itemInfo.ItemID == fairyModel.changeFairyNameItem)
            {
                if (PlayerDatas.Instance.fairyData.HasFairy)
                {
@@ -869,12 +888,6 @@
                {
                    switch (itemModel.itemInfo.ItemID)
                    {
                        case 952:
                            if (!CheckIsMaxOfflineTime(itemModel))
                            {
                                SendMakeUseQuest(itemModel.itemInfo.ItemPlace);
                            }
                            break;
                        case RoleRenameWin.renameToolId:
                            WindowCenter.Instance.Open<RoleRenameWin>();
                            break;
@@ -890,29 +903,47 @@
                }
            }
        }
        private bool CheckIsMaxOfflineTime(ItemModel itemModel)
        public int GetOfflineMaxNum(ItemModel itemModel)
        {
            int willTime = HangUpSetModel.Instance.offlinePluginTime + itemModel.chinItemModel.EffectValueA1;
            if (HangUpSetModel.Instance.offlinePluginTime >= HangUpSetModel.Instance.maxOfflinePluginTime)
            int remainOffline = HangUpSetModel.Instance.maxOfflinePluginTime - HangUpSetModel.Instance.offlinePluginTime;
            int maxUseCnt = 0;
            if (remainOffline > 0)
            {
                int extraCnt = remainOffline % itemModel.chinItemModel.EffectValueA1 > 0 ? 1 : 0;
                maxUseCnt = remainOffline / itemModel.chinItemModel.EffectValueA1 + extraCnt;
                if (maxUseCnt > itemModel.itemInfo.ItemCount)
                {
                    return itemModel.itemInfo.ItemCount;
                }
            }
            return maxUseCnt;
        }
        public bool CheckIsMaxOfflineTime(int useNum, ItemModel itemModel)
        {
            int remainOffline = HangUpSetModel.Instance.maxOfflinePluginTime - HangUpSetModel.Instance.offlinePluginTime;
            if (remainOffline <= 0)
            {
                SysNotifyMgr.Instance.ShowTip("OfflinePluginTime");
                return true;
            }
            else if (willTime > HangUpSetModel.Instance.maxOfflinePluginTime)
            else
            {
                ConfirmCancel.ShowPopConfirm(Language.Get("OfflinePluginTime102"), Language.Get("OfflinePluginTime101"), (bool isOk) =>
                int willTime = HangUpSetModel.Instance.offlinePluginTime + itemModel.chinItemModel.EffectValueA1 * useNum;
                if (willTime > HangUpSetModel.Instance.maxOfflinePluginTime)
                {
                    if (isOk)
                    ConfirmCancel.ShowPopConfirm(Language.Get("OfflinePluginTime102"), Language.Get("OfflinePluginTime101"), (bool isOk) =>
                    {
                        SendMakeUseQuest(itemModel.itemInfo.ItemPlace);
                    }
                });
                return true;
                        if (isOk)
                        {
                           SendMakeUseQuest(itemModel.itemInfo.ItemPlace,useNum);
                        }
                    });
                    return true;
                }
            }
            return false;
        }
        public void SendMakeUseQuest(int index, int useCnt = 1, int extra = 0)
        {
            ItemModel itemModel = playerPack.GetItemModelByIndex(PackType.rptItem,index);
@@ -1148,9 +1179,9 @@
        #endregion
        #region 发送续费请求 
        public void SendRenewalQuest(ItemWinBtnType btnType,int index)
        public void SendRenewalQuest(ItemWinBtnType btnType,string guid)
        {
            itemOverdue.guardOverdueIndex = index;
            GuardOverdueWin.guid = guid;
            WindowCenter.Instance.Open<GuardOverdueWin>();
        }
        #endregion