Browse Source

修改bug

lzx 2 days ago
parent
commit
772b5e2c7a

+ 2 - 2
Assets/Res/UI/BoxPanel/OpenBoxScorePanel.prefab

@@ -177,7 +177,7 @@ RectTransform:
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
   m_AnchoredPosition: {x: -3563, y: -182}
-  m_SizeDelta: {x: 750, y: 1624}
+  m_SizeDelta: {x: 1500, y: 3248}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &8965272612517638377
 MonoBehaviour:
@@ -2359,7 +2359,7 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 1}
   m_AnchorMax: {x: 0.5, y: 1}
-  m_AnchoredPosition: {x: 15.5, y: -35.8}
+  m_AnchoredPosition: {x: 15.5, y: -35.80005}
   m_SizeDelta: {x: 594.45, y: 183.3175}
   m_Pivot: {x: 0.5, y: 1}
 --- !u!222 &5039672387026751436

+ 1 - 0
Assets/Scripts/GameLogic/Player/AccountFileInfo.cs

@@ -486,6 +486,7 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
     public class SummonSocreData
     {
         public int id;
+        public int currentCount;
         public int count;
     }
 

+ 32 - 17
Assets/Scripts/GameLogic/Player/SummonManager.cs

@@ -23,7 +23,8 @@ namespace GameLogic.Player
             //每次进游戏检查是否有新的抽卡
             foreach (var openBoxConfig in openBoxConfigs)
             {
-                if (AccountFileInfo.Instance.playerData.SummonDatas.FirstOrDefault(s => s.id == openBoxConfig.ID) == null)
+                if (AccountFileInfo.Instance.playerData.SummonDatas.FirstOrDefault(s => s.id == openBoxConfig.ID) ==
+                    null)
                 {
                     AccountFileInfo.SummonData summonData = new AccountFileInfo.SummonData();
                     summonData.id = openBoxConfig.ID;
@@ -66,17 +67,20 @@ namespace GameLogic.Player
             if (count == 1)
             {
                 //有免费次数,并且让到时间了就免费抽
-                if (summonData.oneFreeCount < openBoxConfig.oneConsumeFreePara[1] && PlayerManager.Instance.serverTime >= summonData.nextOneFreeTime)
+                if (summonData.oneFreeCount < openBoxConfig.oneConsumeFreePara[1] &&
+                    PlayerManager.Instance.serverTime >= summonData.nextOneFreeTime)
                 {
                     allIitem = Summon(summonData, 1);
 
                     summonData.oneFreeCount++;
-                    summonData.nextOneFreeTime = PlayerManager.Instance.serverTime + openBoxConfig.oneConsumeFreePara[0] * 1000;
+                    summonData.nextOneFreeTime =
+                        PlayerManager.Instance.serverTime + openBoxConfig.oneConsumeFreePara[0] * 1000;
                 }
                 else
                 {
                     //验证道具是否足够
-                    if (PlayerManager.Instance.BagController.IsEnough(openBoxConfig.CostItemID, openBoxConfig.oneConsume))
+                    if (PlayerManager.Instance.BagController.IsEnough(openBoxConfig.CostItemID,
+                            openBoxConfig.oneConsume))
                     {
                         PlayerManager.Instance.BagController.DeductCoin(openBoxConfig.oneConsume);
                         allIitem = Summon(summonData, 1);
@@ -94,7 +98,8 @@ namespace GameLogic.Player
             else if (count == 10)
             {
                 //有免费次数,并且让到时间了就免费抽
-                if (summonData.tenFreeCount < openBoxConfig.oneConsumeFreePara_1[1] && PlayerManager.Instance.serverTime >= summonData.nextTenFreeTime)
+                if (summonData.tenFreeCount < openBoxConfig.oneConsumeFreePara_1[1] &&
+                    PlayerManager.Instance.serverTime >= summonData.nextTenFreeTime)
                 {
                     allIitem = Summon(summonData, 10);
                     if (summonData.isSummonSocre)
@@ -106,21 +111,22 @@ namespace GameLogic.Player
                             drawHistory.Add(itemInfo.itemID);
                         }
 
-                        AccountFileInfo.IntList  intList = new AccountFileInfo.IntList();
+                        AccountFileInfo.IntList intList = new AccountFileInfo.IntList();
                         intList.list = drawHistory;
                         summonData.drawHistory.Add(intList);
                         CheckAchievements(summonData);
                     }
-                    
-                   
+
 
                     summonData.tenFreeCount++;
-                    summonData.nextTenFreeTime = PlayerManager.Instance.serverTime + openBoxConfig.oneConsumeFreePara_1[0] * 1000;
+                    summonData.nextTenFreeTime =
+                        PlayerManager.Instance.serverTime + openBoxConfig.oneConsumeFreePara_1[0] * 1000;
                 }
                 else
                 {
                     //验证道具是否足够
-                    if (PlayerManager.Instance.BagController.IsEnough(openBoxConfig.CostItemID, openBoxConfig.tenConsume))
+                    if (PlayerManager.Instance.BagController.IsEnough(openBoxConfig.CostItemID,
+                            openBoxConfig.tenConsume))
                     {
                         PlayerManager.Instance.BagController.DeductCoin(openBoxConfig.tenConsume);
                         allIitem = Summon(summonData, 10);
@@ -132,7 +138,8 @@ namespace GameLogic.Player
                             {
                                 drawHistory.Add(itemInfo.itemID);
                             }
-                            AccountFileInfo.IntList  intList = new AccountFileInfo.IntList();
+
+                            AccountFileInfo.IntList intList = new AccountFileInfo.IntList();
                             intList.list = drawHistory;
                             summonData.drawHistory.Add(intList);
 
@@ -165,10 +172,12 @@ namespace GameLogic.Player
             DropConfig dropConfig = ConfigComponent.Instance.Get<DropConfig>(openBoxConfig.reward2);
             for (var i = 0; i < dropConfig.dropGroupID.Length; i++)
             {
-                DropGroupConfig dropGroupConfig = ConfigComponent.Instance.Get<DropGroupConfig>(dropConfig.dropGroupID[i]);
+                DropGroupConfig dropGroupConfig =
+                    ConfigComponent.Instance.Get<DropGroupConfig>(dropConfig.dropGroupID[i]);
                 for (var i1 = 0; i1 < dropGroupConfig.dropItemID.Length; i1++)
                 {
-                    DropItemConfig dropItemConfig = ConfigComponent.Instance.Get<DropItemConfig>(dropGroupConfig.dropItemID[i1]);
+                    DropItemConfig dropItemConfig =
+                        ConfigComponent.Instance.Get<DropItemConfig>(dropGroupConfig.dropItemID[i1]);
                     for (var i2 = 0; i2 < dropItemConfig.itemID.Length; i2++)
                     {
                         baodiItems.Add(dropItemConfig.itemID[i2]);
@@ -217,7 +226,8 @@ namespace GameLogic.Player
                 List<ItemInfo> addItem2;
                 if (count == 1)
                 {
-                    addItem2 = DropManager.Instance.DropItem(openBoxConfig.reward[Random.Range(0, openBoxConfig.reward.Length)]);
+                    addItem2 = DropManager.Instance.DropItem(
+                        openBoxConfig.reward[Random.Range(0, openBoxConfig.reward.Length)]);
                     PlayerManager.Instance.BagController.AddItem(addItem2);
                     allIitem.AddRange(addItem2);
                     summonData.baodiCount1++;
@@ -267,7 +277,9 @@ namespace GameLogic.Player
 
                 bool allDrawsSatisfy = true;
                 // 检查最近 Para0 次十连是否都满足条件
-                for (int i = summonData.drawHistory.Count - openBoxScoreRule.para0; i < summonData.drawHistory.Count; i++)
+                for (int i = summonData.drawHistory.Count - openBoxScoreRule.para0;
+                     i < summonData.drawHistory.Count;
+                     i++)
                 {
                     if (!CheckSingleDraw(openBoxScoreRule, summonData.drawHistory[i].list))
                     {
@@ -288,7 +300,8 @@ namespace GameLogic.Player
                 OpenBoxScoreRule openBoxScoreRule = ConfigComponent.Instance.Get<OpenBoxScoreRule>(id);
                 summonData.score += openBoxScoreRule.score;
 
-                AccountFileInfo.SummonSocreData summonSocreData = summonData.summonSocreData.FirstOrDefault(ss => ss.id == openBoxScoreRule.ID);
+                AccountFileInfo.SummonSocreData summonSocreData =
+                    summonData.summonSocreData.FirstOrDefault(ss => ss.id == openBoxScoreRule.ID);
                 if (summonSocreData == null)
                 {
                     summonSocreData = new AccountFileInfo.SummonSocreData();
@@ -297,7 +310,9 @@ namespace GameLogic.Player
                 }
 
                 summonSocreData.count++;
-                LogTool.Log($"达成成就 ID: {openBoxScoreRule.ID}, 分数: {openBoxScoreRule.score}, 描述: 连续{openBoxScoreRule.para0}次十连获得{openBoxScoreRule.para1}个品质{openBoxScoreRule.para3}的道具");
+                summonSocreData.currentCount++;
+                LogTool.Log(
+                    $"达成成就 ID: {openBoxScoreRule.ID}, 分数: {openBoxScoreRule.score}, 描述: 连续{openBoxScoreRule.para0}次十连获得{openBoxScoreRule.para1}个品质{openBoxScoreRule.para3}的道具");
             }
         }
 

+ 5 - 1
Assets/Scripts/GameUI/UI/BoxPanel/OpenBoxScorePanel.cs

@@ -159,7 +159,11 @@ namespace Fort23.Mono
                 summonData.isSummonSocre = false;
                 summonData.score = 0;
                 summonData.drawHistory.Clear();
-                summonData.summonSocreData.Clear();
+                foreach (var summonSocreData in summonData.summonSocreData)
+                {
+                    summonSocreData.currentCount = 0;
+                }
+                // summonData.summonSocreData.Clear();
                 AccountFileInfo.Instance.SavePlayerData();
             }
             else

+ 2 - 2
Assets/Scripts/GameUI/UI/BoxPanel/SummonScoreRuleWidget.cs

@@ -39,8 +39,8 @@ namespace Fort23.Mono
             socreData = summonData.summonSocreData.FirstOrDefault(ss => ss.id == scoreRule.ID);
             Text_Name.text = LanguageManager.Instance.Text(scoreRule.lanID);
             Text_Score.text = scoreRule.score.ToString();
-            Text_CompleteCount.text = socreData == null ? "0" : socreData.count.ToString();
-            Text_AllScore.text = socreData == null ? "0" : (socreData.count * scoreRule.score).ToString();
+            Text_CompleteCount.text = socreData == null ? "0" : socreData.currentCount.ToString();
+            Text_AllScore.text = socreData == null ? "0" : (socreData.currentCount * scoreRule.score).ToString();
         }
     }
 }

+ 9 - 1
Assets/Scripts/GameUI/UI/BoxPanel/WidgetItemType2.cs

@@ -35,7 +35,7 @@ namespace Fort23.Mono
         {
             // long count = itemInfo.count.Value;
             AccumulatorUtility.StartAccumulation(
-                (int)(count * bl), 0.2f, 20,
+                (int)(count * bl), 0.2f, 10,
                 current =>
                 {
                     count += current;
@@ -46,6 +46,7 @@ namespace Fort23.Mono
 
         public void InitWidget(ItemInfo itemInfo)
         {
+            count = 0;
             this.itemInfo = itemInfo;
             ItemConfig itemConfig = itemInfo.config;
             Icon_New.gameObject.SetActive(false);
@@ -178,5 +179,12 @@ namespace Fort23.Mono
             //     Text_Count.gameObject.SetActive(false);
             // }
         }
+
+        public override void DormancyObj()
+        {
+            count = 0;
+            this.itemInfo = null;
+            base.DormancyObj();
+        }
     }
 }

BIN
Excel2Json/Excel/Language.xlsx