| 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(); | 
|     } | 
| } |