using UnityEngine; namespace GameWrapper.Pay { public class WXPayHandle : MonoBehaviour { private static WXPayHandle _instance; public static WXPayHandle Instance { get { if (_instance == null) { var go = new GameObject("WXPayHandle"); _instance = go.AddComponent(); DontDestroyOnLoad(go); } return _instance; } } private void Awake() { if (_instance == null) { _instance = this; Initialize(); DontDestroyOnLoad(gameObject); } else { Destroy(gameObject); } } void OnApplicationPause(bool pauseStatus) { PaymentServiceLocator.WxPaymentService.OnApplicationPause(pauseStatus); } /// /// 初始化支付服务 /// public void Initialize() { PaymentServiceLocator.WxPaymentService.Initialize(); } /// /// 检查微信是否已初始化 /// public bool IsWxInitialized() { return PaymentServiceLocator.WxPaymentService.IsAppInitialized(); } /// /// 开始支付 /// public void BuyGoods(string currencyID, int count, int itemID, int param = 0, int shopID = 0, int goodsID = 0, int index = 0) { PaymentServiceLocator.WxPaymentService.BuyGoods(currencyID, count, itemID, param, shopID, goodsID, index); } /// /// 支付回调 由java层调用 /// public void OnPaymentCallback(string result) { DebugUtil.Log("WXPayHandle.OnPaymentCallback result: {0}", result); PaymentServiceLocator.WxPaymentService.OnPaymentCallback(result); } /// /// 是否在支付流程中 /// public bool IsPaying() { return PaymentServiceLocator.WxPaymentService.IsPaying(); } } }