From 5afed21972d27993fa39d92deb9cf63e1aa05ab9 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期四, 25 十月 2018 17:58:01 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 System/KnapSack/Logic/PackSendQuestMgr.cs             |   68 +++++++++---
 System/Strengthening/EquipSuit/PlayerSuitModel.cs     |   10 +
 System/WindowJump/WindowJumpMgr.cs                    |   15 ++
 System/KnapSack/New/BatchUseModel.cs                  |    8 +
 Core/Editor/AssetBundleBrowser/AssetBundleBuildTab.cs |    4 
 System/KnapSack/New/OfflineHangUpUseWin.cs.meta       |   12 ++
 System/Strengthening/EquipSuitTips.cs                 |   23 ++--
 System/KnapSack/New/OfflineHangUpUseWin.cs            |  136 +++++++++++++++++++++++++++
 System/Strengthening/WingsRefined.cs                  |   11 +
 9 files changed, 251 insertions(+), 36 deletions(-)

diff --git a/Core/Editor/AssetBundleBrowser/AssetBundleBuildTab.cs b/Core/Editor/AssetBundleBrowser/AssetBundleBuildTab.cs
index 96afec0..8d0a18c 100644
--- a/Core/Editor/AssetBundleBrowser/AssetBundleBuildTab.cs
+++ b/Core/Editor/AssetBundleBrowser/AssetBundleBuildTab.cs
@@ -497,6 +497,7 @@
             ExcuteBuildLevels();
             ExcuteBuildGraphic();
             ExcuteBuildUI();
+            ExcuteBuildBuiltIn();
 
             AssetDatabase.Refresh(ImportAssetOptions.ForceUpdate);
 
@@ -539,6 +540,9 @@
 
         private void ExcuteBuildBuiltIn()
         {
+            BuiltInResourceSetting.SetLaunchBackGround(publishers.Split('|')[0], (BuildTarget)m_UserData.m_BuildTarget);
+            BuiltInResourceSetting.SetLoginBackGround(publishers.Split('|')[0], (BuildTarget)m_UserData.m_BuildTarget);
+            BuiltInResourceSetting.SetLoginLogo(publishers.Split('|')[0], (BuildTarget)m_UserData.m_BuildTarget);
             ExcuteBuildAsset("builtin");
         }
 
diff --git a/System/KnapSack/Logic/PackSendQuestMgr.cs b/System/KnapSack/Logic/PackSendQuestMgr.cs
index ca36c6f..493b07d 100644
--- a/System/KnapSack/Logic/PackSendQuestMgr.cs
+++ b/System/KnapSack/Logic/PackSendQuestMgr.cs
@@ -824,7 +824,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)
                 {
@@ -867,12 +885,6 @@
                 {
                     switch (itemModel.itemInfo.ItemID)
                     {
-                        case 952:
-                            if (!CheckIsMaxOfflineTime(itemModel))
-                            {
-                                SendMakeUseQuest(itemModel.itemInfo.ItemPlace);
-                            }
-                            break;
                         case RoleRenameWin.renameToolId:
                             WindowCenter.Instance.Open<RoleRenameWin>();
                             break;
@@ -888,29 +900,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);
diff --git a/System/KnapSack/New/BatchUseModel.cs b/System/KnapSack/New/BatchUseModel.cs
index aedf4b7..b07c055 100644
--- a/System/KnapSack/New/BatchUseModel.cs
+++ b/System/KnapSack/New/BatchUseModel.cs
@@ -51,5 +51,13 @@
             storeConfig = null;
         }
         #endregion
+
+        #region 绂荤嚎鎸傛満鏈嶄娇鐢ㄦ暟鎹�
+        public string offlineGuid { get; private set; }
+        public void SetOfflineUseModel(string guid)
+        {
+            this.offlineGuid = guid;
+        }
+        #endregion
     }
 }
diff --git a/System/KnapSack/New/OfflineHangUpUseWin.cs b/System/KnapSack/New/OfflineHangUpUseWin.cs
new file mode 100644
index 0000000..7a63f70
--- /dev/null
+++ b/System/KnapSack/New/OfflineHangUpUseWin.cs
@@ -0,0 +1,136 @@
+锘縰sing System;
+using UnityEngine;
+using UnityEngine.UI;
+
+namespace Snxxz.UI
+{
+    public class OfflineHangUpUseWin : Window
+    {
+        [SerializeField] Slider _batchUseSlider;
+        [SerializeField] Text _number;
+        [SerializeField] Button _addBtn;
+        [SerializeField] Button _reduceBtn;
+        [SerializeField] Button _useBtn;
+        [SerializeField] Button _closeBtn;
+        [SerializeField] Text offlineText;
+        private ItemModel itemModel;
+        PlayerPackModel _playerPack;
+        PlayerPackModel playerPack
+        {
+            get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); }
+        }
+        #region Built-in
+        protected override void BindController()
+        {
+
+        }
+
+        protected override void AddListeners()
+        {
+            _addBtn.onClick.AddListener(OnClickAddBtn);
+            _reduceBtn.onClick.AddListener(OnClickReduceBtn);
+            _useBtn.onClick.AddListener(OnClickBatchUseBtn);
+            _closeBtn.onClick.AddListener(CloseClick);
+            _batchUseSlider.onValueChanged.AddListener(delegate
+            {
+                OnUseValueChange();
+            });
+        }
+
+        protected override void OnPreOpen()
+        {
+            Display();
+        }
+
+        protected override void OnAfterOpen()
+        {
+           
+        }
+
+        protected override void OnPreClose()
+        {
+
+        }
+        protected override void OnAfterClose()
+        {
+
+        }
+        #endregion
+
+        public void Display()
+        {
+            itemModel = playerPack.GetItemModelByGUID(BatchUseModel.Instance.offlineGuid);
+            if (itemModel == null) return;
+
+            int maxOfflineNum = PackSendQuestMgr.Instance.GetOfflineMaxNum(itemModel);
+            _batchUseSlider.maxValue = maxOfflineNum;
+            _batchUseSlider.minValue = 1;
+            _batchUseSlider.value = _batchUseSlider.minValue;
+            OnUseValueChange();
+        }
+
+        public void OnUseValueChange()
+        {
+            _number.text = Mathf.Ceil(_batchUseSlider.value).ToString();
+            UpdateOfflineTime();
+        }
+
+        public void UpdateOfflineTime()
+        {
+            if (itemModel == null) return;
+            offlineText.text = GetOfflinePluginTime();
+        }
+
+        public void OnClickAddBtn()
+        {
+            if (_batchUseSlider.value < _batchUseSlider.maxValue)
+            {
+                _batchUseSlider.value++;
+            }
+        }
+
+        public void OnClickReduceBtn()
+        {
+            if (_batchUseSlider.value > _batchUseSlider.minValue)
+            {
+                _batchUseSlider.value--;
+            }
+        }
+
+        public void OnClickBatchUseBtn()
+        {
+            if (itemModel == null)
+                return;
+            bool isMax = PackSendQuestMgr.Instance.CheckIsMaxOfflineTime((int)Mathf.Ceil(_batchUseSlider.value), itemModel);
+            if(!isMax)
+            {
+                PackSendQuestMgr.Instance.SendMakeUseQuest(itemModel.itemInfo.ItemPlace, (int)Mathf.Ceil(_batchUseSlider.value));
+            }
+            CloseClick();
+        }
+
+        public string GetOfflinePluginTime()
+        {
+            TimeSpan timeSpan = TimeSpan.FromSeconds(HangUpSetModel.Instance.offlinePluginTime);
+            string s = "";
+            if (timeSpan.Hours > 0)
+            {
+                s = Language.Get("ItemOverdue103", timeSpan.Hours);
+            }
+            if (timeSpan.Minutes > 0)
+            {
+                s = StringUtility.Contact(s, Language.Get("ItemOverdue104", timeSpan.Minutes));
+            }
+
+            if (s == "")
+            {
+                s = Language.Get("ItemOverdue104", 0);
+            }
+
+            int addHour = (itemModel.chinItemModel.EffectValueA1 / 3600)* (int)Mathf.Ceil(_batchUseSlider.value);
+            s = StringUtility.Contact(s,"+", Language.Get("ItemOverdue103",addHour));
+            return s;
+        }
+
+    }
+}
diff --git a/System/KnapSack/New/OfflineHangUpUseWin.cs.meta b/System/KnapSack/New/OfflineHangUpUseWin.cs.meta
new file mode 100644
index 0000000..8126638
--- /dev/null
+++ b/System/KnapSack/New/OfflineHangUpUseWin.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 5682063d28a2b244db79c05ce7f0075e
+timeCreated: 1540449836
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/System/Strengthening/EquipSuit/PlayerSuitModel.cs b/System/Strengthening/EquipSuit/PlayerSuitModel.cs
index 3eeaabc..01f32c2 100644
--- a/System/Strengthening/EquipSuit/PlayerSuitModel.cs
+++ b/System/Strengthening/EquipSuit/PlayerSuitModel.cs
@@ -110,6 +110,13 @@
             CheckTypeBtnRedPointCondition();
         }
 
+        #region 澶勭悊璺宠浆鏁版嵁
+        public void SetJumpModel(int suitType)
+        {
+            EquipSuitTips.E_SuitType = (SuitType)suitType;
+        }
+        #endregion
+
         private void RefreshFuncOpenState(int funcId)
         {
             if (funcId != (int)FuncOpenEnum.Suit)
@@ -1004,7 +1011,7 @@
         }
         #endregion
 
-
+        #region 鎴愬氨鍓嶅線鏁版嵁
         public SuitType jumpToSuitType { get; private set;}
         public int jumpToGroupType { get; private set; }  //1.闃插叿 2.浠欏櫒
         public int jumpToEquipPlace { get; private set; }
@@ -1026,6 +1033,7 @@
             jumpToGroupType = 0;
             jumpToEquipPlace = 0;
         }
+        #endregion
 
         public int GetMakerEquipPlace()
         {
diff --git a/System/Strengthening/EquipSuitTips.cs b/System/Strengthening/EquipSuitTips.cs
index bd26ff6..b0dcbfa 100644
--- a/System/Strengthening/EquipSuitTips.cs
+++ b/System/Strengthening/EquipSuitTips.cs
@@ -138,19 +138,22 @@
         }
         else
         {
-            E_SuitType = SuitType.LowSuit;
-            bool isSwitch = true;
-            foreach(var red in SuitModel.suitCellRedPointDict.Values)
+            if(!WindowJumpMgr.Instance.IsJumpState)
             {
-                if(red.state == RedPointState.Simple)
+                E_SuitType = SuitType.LowSuit;
+                bool isSwitch = true;
+                foreach (var red in SuitModel.suitCellRedPointDict.Values)
                 {
-                    isSwitch = false;
-                    break;
+                    if (red.state == RedPointState.Simple)
+                    {
+                        isSwitch = false;
+                        break;
+                    }
                 }
-            }
-            if (SuitModel.typeBtnRedPoint.state == RedPointState.Simple && isSwitch)
-            {
-                E_SuitType = SuitType.HighSuit;
+                if (SuitModel.typeBtnRedPoint.state == RedPointState.Simple && isSwitch)
+                {
+                    E_SuitType = SuitType.HighSuit;
+                }
             }
         }
         equipPartlist = SuitModel.GetEquipOrderlist(E_SuitType);
diff --git a/System/Strengthening/WingsRefined.cs b/System/Strengthening/WingsRefined.cs
index 2f1a442..7faac73 100644
--- a/System/Strengthening/WingsRefined.cs
+++ b/System/Strengthening/WingsRefined.cs
@@ -282,10 +282,15 @@
 
 
         ItemModel itemModel = playerPack.GetItemModelByIndex(PackType.rptEquip, (int)RoleEquipType.retWing);
-        var WingItem = Config.Instance.Get<WingRefineExpConfig>(itemModel.itemId);
-        if (itemModel == null || WingItem == null)
+        if (itemModel == null)
+        {
             return;
-
+        }
+        var WingItem = Config.Instance.Get<WingRefineExpConfig>(itemModel.itemId);
+        if (WingItem == null)
+        {
+            return;
+        }      
         int YRefiningRatioMin = 0;//棰勮鐢熷懡姣斿��
         int YRefiningRatioMax = 0;//棰勮鐢熷懡姣斿��
         float _RefiningDegreesMin = 0;
diff --git a/System/WindowJump/WindowJumpMgr.cs b/System/WindowJump/WindowJumpMgr.cs
index 7bd419b..963eeea 100644
--- a/System/WindowJump/WindowJumpMgr.cs
+++ b/System/WindowJump/WindowJumpMgr.cs
@@ -47,6 +47,8 @@
     ImpactRankModel rankModel { get { return ModelCenter.Instance.GetModel<ImpactRankModel>(); } }
     ComposeWinModel composeModel { get { return ModelCenter.Instance.GetModel<ComposeWinModel>(); } }
     MapModel mapModel { get { return ModelCenter.Instance.GetModel<MapModel>(); } }
+    PlayerSuitModel suitModel { get { return ModelCenter.Instance.GetModel<PlayerSuitModel>(); } }
+
     public bool IsJumpState { get; private set; }
     public int jumpPhase { get; private set;}
     public int jumpType { get; private set; }
@@ -118,8 +120,14 @@
             case JumpUIType.StrengthFunc4:
             case JumpUIType.StrengthFunc5:
             case JumpUIType.EquipWashType2:
-            case JumpUIType.StrengthFunc1Type2:
-            case JumpUIType.EquipSuitType2:
+            case JumpUIType.StrengthFunc1Type2:  
+                SetJumpLogic<EquipReinforceWin>(_tagWinSearchModel.TABID);
+                break;
+            case JumpUIType.EquipHighSuit:
+            case JumpUIType.EquipLowSuit:
+                int suitType = 0;
+                int.TryParse(_tagWinSearchModel.SelectActive,out suitType);
+                suitModel.SetJumpModel(suitType);
                 SetJumpLogic<EquipReinforceWin>(_tagWinSearchModel.TABID);
                 break;
             case JumpUIType.ComposeFunc1:
@@ -1188,7 +1196,7 @@
     StrengthFunc2 = 13,
     StrengthFunc3 = 14,
     StrengthFunc4 = 15,
-    EquipSuitType2 = 241, //濂楄鐣岄潰
+    EquipLowSuit = 241, //鏅�氬瑁呯晫闈�
     StrengthFunc5 = 16,
     EquipWashType2 = 239, //瑁呭娲楃粌鐣岄潰
     ComposeFunc1 = 17,
@@ -1395,6 +1403,7 @@
     DogzFunc2Type2 = 251, //绁炲吔寮哄寲鐣岄潰
     BindGoldWheel = 252, //缁戠帀杞洏鐣岄潰
     FlashRushToBuy = 253, //绮惧僵娲诲姩鈥旈檺鏃舵姠璐晫闈�
+    EquipHighSuit = 254, //寮哄寲濂楄鐣岄潰
     DhszTs = 1001,//瀹氭捣绁為拡鍔熸硶鎻愬崌鐣岄潰
     HyqTs = 1002,//鐨撴湀鏋姛娉曟彁鍗囩晫闈�
     GyzTs = 1003,//楝肩墮鍒冨姛娉曟彁鍗囩晫闈�

--
Gitblit v1.8.0