Jelajahi Sumber

添加广告次数限制

lzx 1 hari lalu
induk
melakukan
23106f57ba

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

@@ -170,6 +170,8 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
         public bool MusicEffects = true;
 
         public int totalAds;
+
+        public int todayTotalAds;
     }
 
     [System.Serializable]

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

@@ -483,6 +483,7 @@ public class PlayerManager : Singleton<PlayerManager>
     {
         if (TimeHelper.ClientNow() > AccountFileInfo.Instance.playerData.nextRefence)
         {
+            AccountFileInfo.Instance.playerData.todayTotalAds = 0;
             AccountFileInfo.Instance.playerData.nextRefence =
                 TimeHelper.GetBaseRefreshTime(TimeHelper.ClientNow());
             AccountFileInfo.Instance.playerData.todayUseExpElixrPanelCount = 0;

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

@@ -21,6 +21,7 @@ namespace Fort23.Mono
                 LogTool.Error($"获取网络时间失败,抽卡失败");
                 return null;
             }
+
             AccountFileInfo.SummonData summonData = PlayerManager.Instance.SummonManager.summonDataMap[configId];
             OpenBoxConfig openBoxConfig = ConfigComponent.Instance.Get<OpenBoxConfig>(configId);
             //有免费次数,并且让到时间了就免费抽
@@ -44,6 +45,19 @@ namespace Fort23.Mono
                     return null;
                 }
 
+                //看广告
+                if (openBoxConfig.CostItemID == 1007)
+                {
+                    if (AccountFileInfo.Instance.playerData.todayTotalAds >= 80)
+                    {
+                        TipMessagePanel.OpenTipMessagePanel("今日看广告次数已经达上限!")
+                        return null;
+                    }
+
+                    AccountFileInfo.Instance.playerData.todayTotalAds++;
+                    AccountFileInfo.Instance.SavePlayerData();
+                }
+
                 if (!PlayerManager.Instance.BagController.IsEnough(23002, 1))
                 {
                     await MarskPanel.OpenPanel();
@@ -55,7 +69,7 @@ namespace Fort23.Mono
                     MarskPanel.ClosePanel();
                 }
 
-            
+
                 return itemInfos;
                 // return await PlayerManager.Instance.SummonManager.Summon(configId, 10);
             }
@@ -68,7 +82,7 @@ namespace Fort23.Mono
                 LogTool.Error($"获取网络时间失败,抽卡失败");
                 return null;
             }
-            
+
             AccountFileInfo.SummonData summonData = PlayerManager.Instance.SummonManager.summonDataMap[configId];
             OpenBoxConfig openBoxConfig = ConfigComponent.Instance.Get<OpenBoxConfig>(configId);
             //有免费次数,并且让到时间了就免费抽