Browse Source

修改bug

lzx 2 days ago
parent
commit
83993a7a43

+ 13 - 13
Assets/Scripts/GameLogic/Player/DropManager.cs

@@ -164,27 +164,26 @@ namespace GameLogic.Player
 
                 ItemInfo itemInfo = null;
 
+
                 if (dropItemConfig.dropItemType == 1)
                 {
-                    itemInfo = new ItemInfo(dropItemConfig.itemID[j], c);
+                    if (c < 0)
+                    {
+                        itemInfo = DropResourceLevel(dropItemConfig.itemID[j], c);
+                    }
+                    else
+                    {
+                        itemInfo = new ItemInfo(dropItemConfig.itemID[j], c);
+                    }
                 }
-                // else if (dropItemConfig.dropItemType == 4)
-                // {
-                //     itemInfo = PlayerManager.Instance.eqController.BuildEquipmentForItemId(dropItemConfig.itemID[0],
-                //         dropItemConfig.itemID[1],
-                //         dropItemConfig.itemID[2]);
-                //     
-                //     j += 2;
-                //     // itemInfo = DropEquipment(dropItemConfig.itemID[j]);
-                // }
                 else
                 {
                     itemInfo = new ItemInfo(dropItemConfig);
                 }
 
+
                 itemInfos.Add(itemInfo);
             }
-            // }
         }
 
         private DropCountConfig GetCountBl(int dropCountGroupID)
@@ -243,7 +242,7 @@ namespace GameLogic.Player
             List<ItemInfo> itemInfos = new List<ItemInfo>();
             if (count < 0)
             {
-                 itemInfos.Add(DropResourceLevel(itemID, count));
+                itemInfos.Add(DropResourceLevel(itemID, count));
             }
             else
             {
@@ -251,7 +250,7 @@ namespace GameLogic.Player
                 if (dropConfig.dropType == 3)
                 {
                     ItemInfo itemInfo = new ItemInfo(dropConfig.dropGroupID[0], count);
-                    itemInfos.Add(itemInfo); 
+                    itemInfos.Add(itemInfo);
                 }
                 else
                 {
@@ -262,6 +261,7 @@ namespace GameLogic.Player
 
             return itemInfos;
         }
+
         public ItemInfo DropResourceLevel(int itemID, int count)
         {
             ResourceLevelConfig resourceLevelConfig = ConfigComponent.Instance.Get<ResourceLevelConfig>(PlayerManager.Instance.myHero.powerUpConfig.ID);

+ 10 - 4
Assets/Scripts/GameLogic/Player/PlayerManager.cs

@@ -48,6 +48,8 @@ public class PlayerManager : Singleton<PlayerManager>
 
     private TimerEntity _timerEntity;
 
+    public bool isLogin;
+
     public void Init()
     {
         AccountFileInfo.Instance.LoadPlayerData();
@@ -88,6 +90,7 @@ public class PlayerManager : Singleton<PlayerManager>
 
         CalculateOfflineRewards();
         AccountFileInfo.Instance.SavePlayerData();
+        isLogin = true;
     }
 
     /// <summary>
@@ -475,16 +478,19 @@ public class PlayerManager : Singleton<PlayerManager>
 
     public void CalculateOfflineRewards()
     {
-        if (AccountFileInfo.Instance.playerData.QiankundaiDropTimer <= PlayerManager.Instance.gameConstantConfig.qiankundaiMaxTime &&  AccountFileInfo.Instance.playerData.ExitTime > 0)
+        if (AccountFileInfo.Instance.playerData.QiankundaiDropTimer <= PlayerManager.Instance.gameConstantConfig.qiankundaiMaxTime && AccountFileInfo.Instance.playerData.ExitTime > 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 : miao;
             AccountFileInfo.Instance.playerData.QiankundaiDropTimer += miao;
-            PlayerManager.Instance.QianKunDaiAward();
+            for (int i = 0; i < miao; i++)
+            {
+                QianKunDaiAward();
+            }
         }
 
         AccountFileInfo.Instance.playerData.ExitTime = 0;
-         AccountFileInfo.Instance.SavePlayerData();
+        AccountFileInfo.Instance.SavePlayerData();
     }
 
 
@@ -557,7 +563,7 @@ public class PlayerManager : Singleton<PlayerManager>
 
         int qiangDuLevelId = Mathf.CeilToInt(testHeroInfoConfig.level / 5f);
         HeroQiangDuAddConfig heroQiangDuAddConfig = ConfigComponent.Instance.Get<HeroQiangDuAddConfig>(qiangDuLevelId);
-        int index = Mathf.RoundToInt(heroQiangDuAddConfig.qiangDuZhi)-1;
+        int index = Mathf.RoundToInt(heroQiangDuAddConfig.qiangDuZhi) - 1;
         myHero.hp = (EncryptionLong)(myHero.hp.Value * (qiangDu[index] / 100f + 1));
         myHero.attack = (EncryptionLong)(myHero.attack.Value * (qiangDu[index] / 100f + 1));
         myHero.defense = (EncryptionLong)(myHero.defense.Value * (qiangDu[index] / 100f + 1));

+ 28 - 5
Assets/Scripts/GameUI/GameApplctionMono.cs

@@ -61,21 +61,44 @@ namespace GameUI
         //     Debug.Log(m);
         // }
 
-        
-
-        public async void OnApplicationPause(bool pauseStatus)
+        private void OnApplicationFocus(bool hasFocus)
         {
-            if (pauseStatus)
+            if (hasFocus && PlayerManager.Instance.isLogin)
             {
                 // 退出时记录时间
                 AccountFileInfo.Instance.playerData.ExitTime = TimeHelper.ClientNow();
                 AccountFileInfo.Instance.SavePlayerData();
             }
-            else
+            else if(PlayerManager.Instance.isLogin)
             {
                 PlayerManager.Instance.CalculateOfflineRewards();
             }
         }
+
+        private void OnApplicationQuit()
+        {
+            // 退出时记录时间
+            AccountFileInfo.Instance.playerData.ExitTime = TimeHelper.ClientNow();
+            AccountFileInfo.Instance.SavePlayerData();
+            // if (hasFocus)
+            // {
+            //
+            // }
+            // else
+            // {
+            //     PlayerManager.Instance.CalculateOfflineRewards();
+            // }
+        }
+
+        // private void OnApplicationPause(bool pauseStatus)
+        // {
+        //     throw new NotImplementedException();
+        // }
+
+        // public async void OnApplicationPause(bool pauseStatus)
+        // {
+
+        // }
         public void LateUpdate()
         {
             EventSystem.Instance.LateUpdate();