using UnityEngine; #if UNITY_IPHONE using System.Runtime.InteropServices; #endif public static class TDGAVirtualCurrency { #if UNITY_ANDROID private static readonly string VIRTUAL_CURRENCY_CLASS = "com.tendcloud.tenddata.TDGAVirtualCurrency"; private static AndroidJavaClass virtualCurrencyClass; #endif #if UNITY_IPHONE [DllImport("__Internal")] private static extern void TDGAOnChargeRequst(string orderId, string iapId, double currencyAmount, string currencyType, double virtualCurrencyAmount, string paymentType); [DllImport("__Internal")] private static extern void TDGAOnChargSuccess(string orderId); [DllImport("__Internal")] private static extern void TDGAOnReward(double virtualCurrencyAmount, string reason); #endif public static void OnChargeRequest(string orderId, string iapId, double currencyAmount, string currencyType, double virtualCurrencyAmount, string paymentType) { if (Application.platform != RuntimePlatform.OSXEditor && Application.platform != RuntimePlatform.WindowsEditor) { #if UNITY_ANDROID if (virtualCurrencyClass == null) { virtualCurrencyClass = new AndroidJavaClass(VIRTUAL_CURRENCY_CLASS); } virtualCurrencyClass.CallStatic("onChargeRequest", orderId, iapId, currencyAmount, currencyType, virtualCurrencyAmount, paymentType); #endif #if UNITY_IPHONE TDGAOnChargeRequst(orderId, iapId, currencyAmount, currencyType, virtualCurrencyAmount, paymentType); #endif } } public static void OnChargeSuccess(string orderId) { if (Application.platform != RuntimePlatform.OSXEditor && Application.platform != RuntimePlatform.WindowsEditor) { #if UNITY_ANDROID if (virtualCurrencyClass == null) { virtualCurrencyClass = new AndroidJavaClass(VIRTUAL_CURRENCY_CLASS); } virtualCurrencyClass.CallStatic("onChargeSuccess", orderId); #endif #if UNITY_IPHONE TDGAOnChargSuccess(orderId); #endif } } public static void OnReward(double virtualCurrencyAmount, string reason) { if (Application.platform != RuntimePlatform.OSXEditor && Application.platform != RuntimePlatform.WindowsEditor) { #if UNITY_ANDROID if (virtualCurrencyClass == null) { virtualCurrencyClass = new AndroidJavaClass(VIRTUAL_CURRENCY_CLASS); } virtualCurrencyClass.CallStatic("onReward", virtualCurrencyAmount, reason); #endif #if UNITY_IPHONE TDGAOnReward(virtualCurrencyAmount, reason); #endif } } }