using System; using TapTap.AntiAddiction.Model; using MobileBridgeAntiAddiction = Plugins.AntiAddictionUIKit.AntiAddictionUIKit; using CheckPayResult = Plugins.AntiAddictionUIKit.CheckPayResult; namespace TapTap.AntiAddiction { public sealed class AntiAddictionMobileOldJob : IAntiAddictionJob { private Action _externalCallback; public Action ExternalCallback { get => _externalCallback; } public int AgeRange => MobileBridgeAntiAddiction.CurrentUserAgeLimit(); /// /// 剩余时间(单位:秒) /// public int RemainingTime => MobileBridgeAntiAddiction.CurrentUserRemainTime(); /// /// 剩余时间(单位:分钟) /// public int RemainingTimeInMinutes { get { int seconds = RemainingTime; if (seconds <= 0) return 0; return UnityEngine.Mathf.CeilToInt(seconds / 60.0f); } } public string CurrentToken => MobileBridgeAntiAddiction.CurrentToken(); private bool useTapLogin; public void Init(AntiAddictionConfig config, Action callback) { _externalCallback = callback; useTapLogin = config.useTapLogin; MobileBridgeAntiAddiction.Init(config.gameId, true, true, config.showSwitchAccount , (data) => callback?.Invoke(data.code, null) , (data) => callback?.Invoke(-1, data)); } public void Startup(string userId) { MobileBridgeAntiAddiction.Startup(useTapLogin, userId); } public void Exit() { MobileBridgeAntiAddiction.Logout(); } public void EnterGame() { MobileBridgeAntiAddiction.EnterGame(); } public void LeaveGame() { MobileBridgeAntiAddiction.LeaveGame(); } public void CheckPayLimit(long amount, Action handleCheckPayLimit, Action handleCheckPayLimitException) { MobileBridgeAntiAddiction.CheckPayLimit(amount, handleCheckPayLimit, handleCheckPayLimitException); } public void SubmitPayResult(long amount, Action handleSubmitPayResult, Action handleSubmitPayResultException) { MobileBridgeAntiAddiction.SubmitPayResult(amount, handleSubmitPayResult, handleSubmitPayResultException); } public bool isStandalone() { return MobileBridgeAntiAddiction.isStandalone(); } } }