| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 | 
							- using System;
 
- using ET;
 
- using UnityEngine;
 
- namespace GFGGame
 
- {
 
-     public class AntiAddictionController
 
-     {
 
-         public static void ShowAntiAddictionAlert()
 
-         {
 
-             string promptStr = "您属于未成年人,账号已被纳入防沉迷系统,根据国家新闻出版署《关于防止未成年人沉迷网络游戏的通知》、《关于进一步严格管理切实防止未成年人沉迷网络游戏的通知》要求,您仅可在周五、周六、周日和法定节假日每日20时只21时登录游戏。未满8周岁用户无法充值;8周岁至未满16周岁用户单次充值不得超过50元,每月累计充值金额不得超过200元;16周岁至未满18周岁用户单次充值不得超过100元,每月累计充值金额不得超过400元。目前已超出健康游戏体验时间,将强制游戏下线。";
 
-             AlertSystem.Show(promptStr)
 
-                 .SetRightButton(true, "知道啦", (object data) =>
 
-                 {
 
-                     GameController.QuitToLoginView(true);
 
-                 });
 
-         }
 
-         public static bool CheckAntiAddictionWhenLogin()
 
-         {
 
-             if (!GameGlobal.antiAddiction)
 
-             {
 
-                 return false;
 
-             }
 
-             int age = GameGlobal.userAge;
 
-             if (age < 18)
 
-             {
 
-                 int remainMinutes = GetRemainGameMinutes();
 
-                 if (remainMinutes <= 0)
 
-                 {
 
-                     ShowAntiAddictionAlert();
 
-                     return true;
 
-                 }
 
-                 else
 
-                 {
 
-                     string ageRangeStr = null;
 
-                     int maxRechargeSingle = 0;
 
-                     int maxRechargeTotal = 0;
 
-                     GetAntiValue(out ageRangeStr, out maxRechargeSingle, out maxRechargeTotal);
 
-                     string promptStr = "您属于{0}未成年人,已被纳入防沉迷系统。仅可在周五、周六、周日和法定节假日每日20时至21时登录游戏,目前游戏剩余{1}分钟。";
 
-                     promptStr = String.Format(promptStr, ageRangeStr, remainMinutes);
 
-                     if (age < 8)
 
-                     {
 
-                         promptStr += "本游戏不为未满8周岁的用户提供游戏充值服务。";
 
-                     }
 
-                     else
 
-                     {
 
-                         promptStr += "单次充值金额不得超过{0}元人民币,每月充值金额不得超过{1}元人民币。";
 
-                         promptStr = String.Format(promptStr, maxRechargeSingle, maxRechargeTotal);
 
-                     }
 
-                     AlertSystem.Show(promptStr)
 
-                         .SetRightButton(true, "知道啦");
 
-                 }
 
-             }
 
-             return false;
 
-         }
 
-         public static bool CheckAntiAddictionWhenPlay()
 
-         {
 
-             if (!GameGlobal.antiAddiction)
 
-             {
 
-                 return false;
 
-             }
 
-             int age = GameGlobal.userAge;
 
-             if (age < 18)
 
-             {
 
-                 int remainMinutes = GetRemainGameMinutes();
 
-                 if (remainMinutes <= 0)
 
-                 {
 
-                     string promptStr = "您属于未成年人,已被纳入防沉迷系统。仅可在周五、周六、周日和法定节假日每日20时至21时登录游戏。目前已超出健康游戏体验时间,将强制游戏下线。";
 
-                     AlertSystem.Show(promptStr)
 
-                         .SetRightButton(true, "知道啦", (object data) =>
 
-                         {
 
-                             GameController.QuitToLoginView(false);
 
-                         });
 
-                     return true;
 
-                 }
 
-             }
 
-             return false;
 
-         }
 
-         public static bool CheckAntiAddictionRecharge(int value)
 
-         {
 
-             if (!GameGlobal.antiAddiction)
 
-             {
 
-                 return false;
 
-             }
 
-             string promptStr = "";
 
-             if (GameGlobal.isVisitor)
 
-             {
 
-                 promptStr += "您当前为游客模式,已被纳入防沉迷系统,在此模式下不能充值和付费消费。";
 
-                 AlertSystem.Show(promptStr)
 
-                      .SetRightButton(true, "知道啦");
 
-                 return true;
 
-             }
 
-             string ageRangeStr = null;
 
-             int maxRechargeSingle = 0;
 
-             int maxRechargeTotal = 0;
 
-             GetAntiValue(out ageRangeStr, out maxRechargeSingle, out maxRechargeTotal);
 
-             promptStr = "您属于{0}未成年人,已被纳入防沉迷系统。";
 
-             promptStr = String.Format(promptStr, ageRangeStr);
 
-             int age = GameGlobal.userAge;
 
-             if (age < 8)
 
-             {
 
-                 promptStr += "本游戏不为未满8周岁的用户提供游戏充值服务。";
 
-                 AlertSystem.Show(promptStr)
 
-                     .SetRightButton(true, "知道啦");
 
-                 return true;
 
-             }
 
-             else if (age < 18)
 
-             {
 
-                 int preTotalMon = RoleDataManager.rechargeTotalMon + value;
 
-                 if (value > maxRechargeSingle || preTotalMon > maxRechargeTotal)
 
-                 {
 
-                     promptStr += "单次充值金额不得超过{0}元人民币,每月充值金额不得超过{1}元人民币。";
 
-                     promptStr = String.Format(promptStr, maxRechargeSingle, maxRechargeTotal);
 
-                     AlertSystem.Show(promptStr)
 
-                         .SetRightButton(true, "知道啦");
 
-                     return true;
 
-                 }
 
-             }
 
-             return false;
 
-         }
 
-         private static void GetAntiValue(out string ageRangeStr, out int maxRechargeSingle, out int maxRechargeTotal)
 
-         {
 
-             int age = GameGlobal.userAge;
 
-             if (age < 8)
 
-             {
 
-                 ageRangeStr = "未满8周岁";
 
-                 maxRechargeSingle = 0;
 
-                 maxRechargeTotal = 0;
 
-             }
 
-             else if (age < 16)
 
-             {
 
-                 ageRangeStr = "8周岁以上未满16周岁";
 
-                 maxRechargeSingle = 50;
 
-                 maxRechargeTotal = 200;
 
-             }
 
-             else
 
-             {
 
-                 ageRangeStr = "16周岁以上未满18周岁";
 
-                 maxRechargeSingle = 100;
 
-                 maxRechargeTotal = 400;
 
-             }
 
-         }
 
-         /// <summary>
 
-         /// 防沉迷对象当日剩余可玩时间
 
-         /// </summary>
 
-         /// <returns></returns>
 
-         private static int GetRemainGameMinutes()
 
-         {
 
-             var dateTime = TimeHelper.DateTimeNow();
 
-             int hour = dateTime.Hour;
 
-             if (hour >= 20 && hour < 21)
 
-             {
 
-                 int minute = dateTime.Minute;
 
-                 return 60 - minute;
 
-             }
 
-             return 0;
 
-         }
 
-     }
 
- }
 
 
  |