//using asap.core; //using cfg; using System; using System.Collections.Generic; using System.Threading.Tasks; using asap.core; using cfg; using Newtonsoft.Json.Linq; using tysdk; namespace game { public class DevIAPService : IIAPService { [Inject] public IRTService rts { get; set; } private IDisposable disposable; public async Task> GetSKUs() { var IAPList = GContext.container.Resolve().TbIAPItemList.DataList; var result = new List(); foreach (var iap in IAPList) { result.Add(new SKUDetail { productId = iap.ProductId1, title = iap.ID.ToString(), price = $"US${iap.PaymentAmount}", }); } await Awaiters.NextFrame; return result; ; } public async Task Pay(Action OnSuccessFromSdk,string replenishmentDataStr, SKUDetail sku, int count, float usdPrice, JObject extraPurcheInfo) { await Awaiters.NextFrame; return new PaymentInfo() { code = "0" }; } public void Release() { disposable?.Dispose(); disposable = null; } public void Init() { Release(); disposable = rts.OnEvent(OnOrderCompleted); } public async Task> GetOrderUnreceived() { await Awaiters.NextFrame; return new Dictionary(); } private void OnOrderCompleted(SC_OrderConfirmEvt evt) { UnityEngine.Debug.Log($"[AggIAPService] OnOrderCompleted \r\n {evt}"); } public async Task ConfirmOrders(List orderIDs) { await Awaiters.NextFrame; return false; } } }