using System; using UnityEngine; using UnityEngine.UI; public class GotoChargeWin : UIBase { [SerializeField] Text m_CTGStageDisplay; public long startTime = DateTime.Now.Ticks; private void Update() { #if !UNITY_EDITOR if (SDKUtils.Instance.FreePlatformInfo == null || string.IsNullOrEmpty(SDKUtils.Instance.FreePlatformInfo.account)){ return; } if (DateTime.Now.Ticks - startTime > 50000000) { CloseWindow(); } #endif if (DateTime.Now.Ticks - startTime > 10000000) { CloseWindow(); } } protected override void OnPreOpen() { SDKUtils.Instance.onFreePlatformPayCancel += OnChargeComplete; SDKUtils.Instance.onFreePlatformPayFail += OnChargeComplete; SDKUtils.Instance.onFreePlatformPayOk += OnChargeComplete; m_CTGStageDisplay.text = Language.Get("GotoCharging"); RechargeManager.Instance.OnCTGStageChange += OnCTGStageChange; startTime = DateTime.Now.Ticks; } protected override void OnPreClose() { SDKUtils.Instance.onFreePlatformPayCancel -= OnChargeComplete; SDKUtils.Instance.onFreePlatformPayFail -= OnChargeComplete; SDKUtils.Instance.onFreePlatformPayOk -= OnChargeComplete; RechargeManager.Instance.OnCTGStageChange -= OnCTGStageChange; } private void OnCTGStageChange(string _display) { m_CTGStageDisplay.text = _display; } private void OnChargeComplete() { CloseWindow(); } }