Browse Source

修复离线恢复神识bug
添加功法重置

lzx 1 day from now
parent
commit
b1a0c7e8d3

+ 2 - 2
Assets/Res/UI/SentimentPanel/SentimentInfoPanel.prefab

@@ -2311,7 +2311,7 @@ RectTransform:
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
   m_AnchoredPosition: {x: 0, y: 0}
   m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 628, y: 1360}
+  m_SizeDelta: {x: 750, y: 1624}
   m_Pivot: {x: 0.5, y: 0.5}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &4159330424245520485
 --- !u!114 &4159330424245520485
 MonoBehaviour:
 MonoBehaviour:
@@ -2700,7 +2700,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
       objectReference: {fileID: 0}
     - target: {fileID: 8879216144060700877, guid: 9d4f51c4bf9f70844814409f339d6203, type: 3}
     - target: {fileID: 8879216144060700877, guid: 9d4f51c4bf9f70844814409f339d6203, type: 3}
       propertyPath: m_SizeDelta.x
       propertyPath: m_SizeDelta.x
-      value: 77
+      value: 0
       objectReference: {fileID: 0}
       objectReference: {fileID: 0}
     - target: {fileID: 8879216144060700877, guid: 9d4f51c4bf9f70844814409f339d6203, type: 3}
     - target: {fileID: 8879216144060700877, guid: 9d4f51c4bf9f70844814409f339d6203, type: 3}
       propertyPath: m_SizeDelta.y
       propertyPath: m_SizeDelta.y

+ 234 - 0
Assets/Res/UI/SkillSelectPanel/GongFaUpgradePanel.prefab

@@ -1098,6 +1098,7 @@ RectTransform:
   - {fileID: 5473342035507285947}
   - {fileID: 5473342035507285947}
   - {fileID: 753562404598425228}
   - {fileID: 753562404598425228}
   - {fileID: 1062516556747891371}
   - {fileID: 1062516556747891371}
+  - {fileID: 3050497527537795491}
   - {fileID: 5964692562241983256}
   - {fileID: 5964692562241983256}
   - {fileID: 1219834969852229682}
   - {fileID: 1219834969852229682}
   - {fileID: 2507585154746067127}
   - {fileID: 2507585154746067127}
@@ -1405,6 +1406,15 @@ MonoBehaviour:
     - gameObject: {fileID: 4649527201698735611}
     - gameObject: {fileID: 4649527201698735611}
     - gameObject: {fileID: 6899362910355405383}
     - gameObject: {fileID: 6899362910355405383}
     - gameObject: {fileID: 2266735464070336714}
     - gameObject: {fileID: 2266735464070336714}
+  - key: Btn_Rest
+    gameObject: {fileID: 7192584731598602621}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas:
+    - gameObject: {fileID: 8243822813260717961}
+    - gameObject: {fileID: 4649527201698735611}
+    - gameObject: {fileID: 6899362910355405383}
+    - gameObject: {fileID: 2266735464070336714}
   isAssetBundle: 1
   isAssetBundle: 1
 --- !u!1 &2864693667708896535
 --- !u!1 &2864693667708896535
 GameObject:
 GameObject:
@@ -1605,6 +1615,230 @@ MonoBehaviour:
   m_FlexibleWidth: -1
   m_FlexibleWidth: -1
   m_FlexibleHeight: -1
   m_FlexibleHeight: -1
   m_LayoutPriority: 1
   m_LayoutPriority: 1
+--- !u!1 &2985746228315747806
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 3050497527537795491}
+  - component: {fileID: 1738658701210907711}
+  - component: {fileID: 8779855129492413753}
+  - component: {fileID: 7192584731598602621}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: Btn_Rest
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3050497527537795491
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2985746228315747806}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 8100594656288996914}
+  m_Father: {fileID: 6694772361877173011}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: -65.4, y: -45.4}
+  m_SizeDelta: {x: 53.0398, y: 53.0398}
+  m_Pivot: {x: 1, y: 1}
+--- !u!222 &1738658701210907711
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2985746228315747806}
+  m_CullTransparentMesh: 1
+--- !u!114 &8779855129492413753
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2985746228315747806}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3c247620ca3a1fd4ab2a2f3a5b287e07, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.24313727, g: 0.20784315, b: 0.14117648, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+  _icon_name: dec_ty_yuan
+  isNotLoadDeftIcon: 0
+  CurrSpriteAtlas: {fileID: 100100200, guid: b02f6b41a7a9fa8458f4226ab6b3ea47, type: 3}
+  packInfo:
+    packName: tongyong
+    packgJsonPath: /Art/UIAssets/TextrueJson\tongyong.txt
+    packgSpritePath: Assets/Res/UIAtlas/tongyong.spriteatlasv2
+    lasetJsonGUID: 009d01eadc79b5b12c19322b6a4cd057
+  imageH: 100
+  useGradient: 0
+  topOrLeftColor: {r: 1, g: 1, b: 1, a: 1}
+  bottomOrRightColor: {r: 0, g: 0, b: 0, a: 1}
+  direction: 0
+--- !u!114 &7192584731598602621
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2985746228315747806}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 8779855129492413753}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!1 &3191778558194080149
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 8100594656288996914}
+  - component: {fileID: 4249454982721208177}
+  - component: {fileID: 7377174464466216454}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: Btn_Rest (1)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8100594656288996914
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3191778558194080149}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 3050497527537795491}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 35.3188, y: 31.7271}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &4249454982721208177
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3191778558194080149}
+  m_CullTransparentMesh: 1
+--- !u!114 &7377174464466216454
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3191778558194080149}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3c247620ca3a1fd4ab2a2f3a5b287e07, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+  _icon_name: dec_fuhao_cz
+  isNotLoadDeftIcon: 0
+  CurrSpriteAtlas: {fileID: 100100200, guid: b02f6b41a7a9fa8458f4226ab6b3ea47, type: 3}
+  packInfo:
+    packName: tongyong
+    packgJsonPath: /Art/UIAssets/TextrueJson\tongyong.txt
+    packgSpritePath: Assets/Res/UIAtlas/tongyong.spriteatlasv2
+    lasetJsonGUID: 009d01eadc79b5b12c19322b6a4cd057
+  imageH: 100
+  useGradient: 0
+  topOrLeftColor: {r: 1, g: 1, b: 1, a: 1}
+  bottomOrRightColor: {r: 0, g: 0, b: 0, a: 1}
+  direction: 0
 --- !u!1 &3256041832133504665
 --- !u!1 &3256041832133504665
 GameObject:
 GameObject:
   m_ObjectHideFlags: 0
   m_ObjectHideFlags: 0

+ 69 - 32
Assets/Scripts/GameLogic/Player/PlayerManager.cs

@@ -112,6 +112,7 @@ public class PlayerManager : Singleton<PlayerManager>
             }
             }
         }
         }
 
 
+        EveryDayRefence();
         CalculateOfflineRewards();
         CalculateOfflineRewards();
         AccountFileInfo.Instance.SavePlayerData();
         AccountFileInfo.Instance.SavePlayerData();
         SummonManager.CustomInit();
         SummonManager.CustomInit();
@@ -382,25 +383,7 @@ public class PlayerManager : Singleton<PlayerManager>
         }
         }
 
 
         //每天刷新
         //每天刷新
-        if (TimeHelper.ClientNow() > AccountFileInfo.Instance.playerData.nextRefence)
-        {
-            AccountFileInfo.Instance.playerData.nextRefence =
-                TimeHelper.GetBaseRefreshTime(TimeHelper.ClientNow());
-            AccountFileInfo.Instance.playerData.todayUseExpElixrPanelCount = 0;
-            AccountFileInfo.Instance.playerData.todayDivineSensePoint = 0;
-
-            foreach (var playerDataSummonData in AccountFileInfo.Instance.playerData.SummonDatas)
-            {
-                playerDataSummonData.onePayCount = 0;
-                playerDataSummonData.tenPayCount = 0;
-                playerDataSummonData.oneFreeCount = 0;
-                playerDataSummonData.nextOneFreeTime = 0;
-                playerDataSummonData.tenFreeCount = 0;
-                playerDataSummonData.nextTenFreeTime = 0;
-            }
-
-            AccountFileInfo.Instance.SavePlayerData();
-        }
+        EveryDayRefence();
 
 
 
 
         foreach (var keyValuePair in AccountFileInfo.Instance.playerData.daoYouGuaiJiDatas)
         foreach (var keyValuePair in AccountFileInfo.Instance.playerData.daoYouGuaiJiDatas)
@@ -464,9 +447,33 @@ public class PlayerManager : Singleton<PlayerManager>
         }
         }
     }
     }
 
 
-    public async CTask ChangeMap(int mapId,bool isShowUI = true)
+    private void EveryDayRefence()
+    {
+        if (TimeHelper.ClientNow() > AccountFileInfo.Instance.playerData.nextRefence)
+        {
+            AccountFileInfo.Instance.playerData.nextRefence =
+                TimeHelper.GetBaseRefreshTime(TimeHelper.ClientNow());
+            AccountFileInfo.Instance.playerData.todayUseExpElixrPanelCount = 0;
+            AccountFileInfo.Instance.playerData.todayDivineSensePoint = 0;
+
+            foreach (var playerDataSummonData in AccountFileInfo.Instance.playerData.SummonDatas)
+            {
+                playerDataSummonData.onePayCount = 0;
+                playerDataSummonData.tenPayCount = 0;
+                playerDataSummonData.oneFreeCount = 0;
+                playerDataSummonData.nextOneFreeTime = 0;
+                playerDataSummonData.tenFreeCount = 0;
+                playerDataSummonData.nextTenFreeTime = 0;
+            }
+
+            AccountFileInfo.Instance.SavePlayerData();
+        }
+    }
+
+    public async CTask ChangeMap(int mapId, bool isShowUI = true)
     {
     {
-        SmallPlacesConfig currentSmallPlacesConfig = ConfigComponent.Instance.Get<SmallPlacesConfig>(PlayerManager.Instance.CurrentsmallPlaces.id);
+        SmallPlacesConfig currentSmallPlacesConfig =
+            ConfigComponent.Instance.Get<SmallPlacesConfig>(PlayerManager.Instance.CurrentsmallPlaces.id);
         SmallPlacesConfig smallPlacesConfig = ConfigComponent.Instance.Get<SmallPlacesConfig>(mapId);
         SmallPlacesConfig smallPlacesConfig = ConfigComponent.Instance.Get<SmallPlacesConfig>(mapId);
         if (smallPlacesConfig.ID == 0)
         if (smallPlacesConfig.ID == 0)
             return;
             return;
@@ -518,7 +525,6 @@ public class PlayerManager : Singleton<PlayerManager>
 
 
         if (currentSmallPlacesConfig.PlacesId == smallPlacesConfig.PlacesId)
         if (currentSmallPlacesConfig.PlacesId == smallPlacesConfig.PlacesId)
         {
         {
-        
             CombatController.currActiveCombat.ChangeState(CombatController.miniSceneSwitch);
             CombatController.currActiveCombat.ChangeState(CombatController.miniSceneSwitch);
         }
         }
         else
         else
@@ -526,9 +532,9 @@ public class PlayerManager : Singleton<PlayerManager>
             CombatController.currActiveCombat.ChangeState(CombatController.sceneSwitch);
             CombatController.currActiveCombat.ChangeState(CombatController.sceneSwitch);
         }
         }
 
 
-    
+
         await _cTask;
         await _cTask;
-        if(isShowUI)
+        if (isShowUI)
             UIManager.Instance.ShowLastHindAllShowPanel();
             UIManager.Instance.ShowLastHindAllShowPanel();
         EventManager.Instance.Dispatch(CustomEventType.ChangeMap, null);
         EventManager.Instance.Dispatch(CustomEventType.ChangeMap, null);
     }
     }
@@ -603,23 +609,54 @@ public class PlayerManager : Singleton<PlayerManager>
 
 
     public void CalculateOfflineRewards()
     public void CalculateOfflineRewards()
     {
     {
-        // return;
+        int exitMiao = (int)((TimeHelper.ClientNow() - AccountFileInfo.Instance.playerData.ExitTime) / 1000);
+        if (exitMiao <= 0)
+            return;
         if (AccountFileInfo.Instance.playerData.QiankundaiDropTimer <=
         if (AccountFileInfo.Instance.playerData.QiankundaiDropTimer <=
-            PlayerManager.Instance.gameConstantConfig.qiankundaiMaxTime &&
-            AccountFileInfo.Instance.playerData.ExitTime > 0)
+            gameConstantConfig.qiankundaiMaxTime &&
+            exitMiao > 0)
         {
         {
-            int miao = (int)((TimeHelper.ClientNow() - AccountFileInfo.Instance.playerData.ExitTime) / 1000);
-            miao = AccountFileInfo.Instance.playerData.QiankundaiDropTimer + miao >=
-                   PlayerManager.Instance.gameConstantConfig.qiankundaiMaxTime
-                ? PlayerManager.Instance.gameConstantConfig.qiankundaiMaxTime - miao
+            int miao = AccountFileInfo.Instance.playerData.QiankundaiDropTimer + exitMiao;
+            miao = miao >= gameConstantConfig.qiankundaiMaxTime
+                ?  gameConstantConfig.qiankundaiMaxTime - miao
                 : miao;
                 : miao;
-            AccountFileInfo.Instance.playerData.QiankundaiDropTimer += miao;
             for (int i = 0; i < miao; i++)
             for (int i = 0; i < miao; i++)
             {
             {
                 QianKunDaiAward();
                 QianKunDaiAward();
             }
             }
         }
         }
 
 
+
+        HeroPowerUpConfig heroPowerUpConfig = myHero.powerUpConfig;
+
+        if (AccountFileInfo.Instance.playerData.divineSensePoint < heroPowerUpConfig.ShenshiMax)
+        {
+            int miao = 0;
+            if (AccountFileInfo.Instance.playerData.todayDivineSensePoint <
+                gameConstantConfig.shenshiPointRecSPD[0])
+            {
+                float todayResidueShenShi = gameConstantConfig.shenshiPointRecSPD[0] -
+                                            AccountFileInfo.Instance.playerData.todayDivineSensePoint;
+
+                miao = (int)(todayResidueShenShi / gameConstantConfig.shenshiPointRecSPD[1]);
+
+                float todayResidue = gameConstantConfig.shenshiPointRecSPD[1] * miao;
+                todayResidue = todayResidue > heroPowerUpConfig.ShenshiMax ? heroPowerUpConfig.ShenshiMax : todayResidue;
+                AccountFileInfo.Instance.playerData.todayDivineSensePoint += todayResidue;
+                AccountFileInfo.Instance.playerData.divineSensePoint += todayResidue;
+            }
+
+            int residueExitMiao = exitMiao - miao;
+            if (residueExitMiao > 0)
+            {
+                float todaySs2 = gameConstantConfig.shenshiPointRecSPD[2] * residueExitMiao;
+                todaySs2 = todaySs2 > heroPowerUpConfig.ShenshiMax ? heroPowerUpConfig.ShenshiMax : todaySs2;
+                AccountFileInfo.Instance.playerData.divineSensePoint += todaySs2;
+            }
+        }
+
+
+        EventManager.Instance.Dispatch(CustomEventType.DivineSensePointChange, null);
         AccountFileInfo.Instance.playerData.ExitTime = 0;
         AccountFileInfo.Instance.playerData.ExitTime = 0;
         AccountFileInfo.Instance.SavePlayerData();
         AccountFileInfo.Instance.SavePlayerData();
     }
     }

+ 2 - 0
Assets/Scripts/GameLogic/Player/SummonManager.cs

@@ -320,12 +320,14 @@ namespace GameLogic.Player
             {
             {
                 int poolIndex = index % config.reward.Length;
                 int poolIndex = index % config.reward.Length;
                 addItem = DropManager.Instance.DropItem(config.reward[poolIndex]);
                 addItem = DropManager.Instance.DropItem(config.reward[poolIndex]);
+                // summonData.baodiCount2++;
                 index++;
                 index++;
             }
             }
 
 
             // AccountFileInfo.Instance.SavePlayerData();
             // AccountFileInfo.Instance.SavePlayerData();
             // PlayerManager.Instance.BagController.AddItem(addItem);
             // PlayerManager.Instance.BagController.AddItem(addItem);
             summonData.baodiCount1++;
             summonData.baodiCount1++;
+         
 
 
             return addItem;
             return addItem;
         }
         }

+ 60 - 2
Assets/Scripts/GameUI/UI/GongFaUpgradePanel/GongFaUpgradePanel.cs

@@ -6,6 +6,7 @@ using Core.Language;
 using Excel2Json;
 using Excel2Json;
 using Fort23.Core;
 using Fort23.Core;
 using Fort23.UTool;
 using Fort23.UTool;
+using GameLogic.Bag;
 using GameLogic.Hero;
 using GameLogic.Hero;
 using GameLogic.Player;
 using GameLogic.Player;
 using UnityEngine;
 using UnityEngine;
@@ -76,6 +77,64 @@ namespace Fort23.Mono
             Btn_UpStarOk.onClick.AddListener(() => { UpStarClick(); });
             Btn_UpStarOk.onClick.AddListener(() => { UpStarClick(); });
 
 
             Btn_UpGradeOkLongPress.longPress = () => { UpgradeClick(); };
             Btn_UpGradeOkLongPress.longPress = () => { UpgradeClick(); };
+
+            Btn_Rest.onClick.AddListener(() =>
+            {
+                Dictionary<int, ItemInfo> itemInfo = new Dictionary<int, ItemInfo>();
+
+                for (int i = 1; i < _skillInfo.SkillPowerupConfig.ID; i++)
+                {
+                    SkillPowerupConfig skillPowerupConfig = ConfigComponent.Instance.Get<SkillPowerupConfig>(i);
+                    for (var i1 = 0; i1 < skillPowerupConfig.LevelupItem.Length; i1++)
+                    {
+                        if (itemInfo.ContainsKey(skillPowerupConfig.LevelupItem[i1]))
+                        {
+                            itemInfo[skillPowerupConfig.LevelupItem[i1]].count += skillPowerupConfig.LevelupItemNum[i1];
+                        }
+                        else
+                        {
+                            itemInfo.Add(skillPowerupConfig.LevelupItem[i1], new ItemInfo(
+                                skillPowerupConfig.LevelupItem[i1],
+                                skillPowerupConfig.LevelupItemNum[i1]));
+                        }
+                    }
+                }
+
+                ItemConfig itemConfig = ConfigComponent.Instance.Get<ItemConfig>(_skillInfo.skillConfig.PieceID);
+
+                SkillConstant skillConstant = ConfigComponent.Instance.Get<SkillConstant>(itemConfig.quality);
+                int count = 0;
+                for (int i = 0; i < _skillInfo.skillConfig.level - 1; i++)
+                {
+                    count += skillConstant.SkillPromoteNeedPieceNum[i];
+                }
+
+                if (count > 0)
+                {
+                    if (itemInfo.ContainsKey(_skillInfo.skillConfig.PieceID))
+                    {
+                        itemInfo[_skillInfo.skillConfig.PieceID].count += count;
+                    }
+                    else
+                    {
+                        itemInfo.Add(_skillInfo.skillConfig.PieceID, new ItemInfo(_skillInfo.skillConfig.PieceID,
+                            count));
+                    }
+                }
+
+
+                _skillInfo.SkillData.star = 1;
+                _skillInfo.SkillData.level = 1;
+                _skillInfo.CustomInt(_skillInfo.SkillData);
+                PlayerManager.Instance.myHero.ComputeHeroInfo();
+                CustomInit(_skillInfo);
+                foreach (var keyValuePair in itemInfo)
+                {
+                    PlayerManager.Instance.BagController.AddItem(keyValuePair.Value);
+                }
+
+                RewardsPanel.OpenPanel(itemInfo);
+            });
         }
         }
 
 
         private void UpStarClick()
         private void UpStarClick()
@@ -219,7 +278,6 @@ namespace Fort23.Mono
             {
             {
                 QualityCsc.ChangeState(0);
                 QualityCsc.ChangeState(0);
                 Text_Quality.text = LanguageManager.Instance.Text(10797);
                 Text_Quality.text = LanguageManager.Instance.Text(10797);
-              
             }
             }
             else if (itemConfig.quality == 4)
             else if (itemConfig.quality == 4)
             {
             {
@@ -266,7 +324,7 @@ namespace Fort23.Mono
                     csc.ChangeState(4);
                     csc.ChangeState(4);
                     Icon_Attribute.icon_name = "dec_tu2";
                     Icon_Attribute.icon_name = "dec_tu2";
                     break;
                     break;
-                
+
                 case 0:
                 case 0:
                     csc.ChangeState(5);
                     csc.ChangeState(5);
                     Icon_Attribute.icon_name = "dec_fuzhu2";
                     Icon_Attribute.icon_name = "dec_fuzhu2";

+ 11 - 0
Assets/Scripts/GameUI/UI/GongFaUpgradePanel/GongFaUpgradePanelData.cs

@@ -340,6 +340,17 @@ namespace Fort23.Mono
 	      return _QualityCsc;
 	      return _QualityCsc;
 	     }
 	     }
 	   }
 	   }
+	  private Button _Btn_Rest;
+	  public Button Btn_Rest
+	   {
+	   get{
+	      if (_Btn_Rest == null)
+	       {
+	         _Btn_Rest  = GetUIUnit<Button>("Btn_Rest"); 
+	       }
+	      return _Btn_Rest;
+	     }
+	   }
 	  #endregion 自定义数据结束 
 	  #endregion 自定义数据结束 
 	 public override async CTask SetUIGameObject(GameObject gObjectPoolInterface)
 	 public override async CTask SetUIGameObject(GameObject gObjectPoolInterface)
 	{
 	{

+ 3 - 3
Assets/Scripts/GameUI/UI/RewardsPanel/RewardsPanel.cs

@@ -89,7 +89,7 @@ namespace Fort23.Mono
             txtlName.text = title;
             txtlName.text = title;
         }
         }
 
 
-        public async void InitRewardsPanel(Dictionary<string, ItemInfo> rewardsDic, Action onClose = null)
+        public async void InitRewardsPanel(Dictionary<int, ItemInfo> rewardsDic, Action onClose = null)
         {
         {
             this.onClose = onClose;
             this.onClose = onClose;
             foreach (var widgetItem in widgetItems)
             foreach (var widgetItem in widgetItems)
@@ -98,7 +98,7 @@ namespace Fort23.Mono
             }
             }
 
 
             widgetItems.Clear();
             widgetItems.Clear();
-            foreach (KeyValuePair<string, ItemInfo> keyValuePair in rewardsDic)
+            foreach (KeyValuePair<int, ItemInfo> keyValuePair in rewardsDic)
             {
             {
                 GenerateWidget(keyValuePair.Value);
                 GenerateWidget(keyValuePair.Value);
             }
             }
@@ -113,7 +113,7 @@ namespace Fort23.Mono
         }
         }
 
 
 
 
-        public async static CTask<RewardsPanel> OpenPanel(Dictionary<string, ItemInfo> rewardsDic,
+        public async static CTask<RewardsPanel> OpenPanel(Dictionary<int, ItemInfo> rewardsDic,
             Action onClose = null)
             Action onClose = null)
         {
         {
             RewardsPanel rewardsPanel =
             RewardsPanel rewardsPanel =