using UnityEngine; using System; using System.Collections.Generic; using System.Runtime.InteropServices; using SimpleJSON; public class NimbleBridge_MTXCatalogItem : SafeHandle { public enum Type { UNKNOWN, NONCONSUMABLE, CONSUMABLE, SUBSCRIPTION } #if UNITY_EDITOR || ( ! UNITY_IPHONE && ! UNITY_ANDROID ) static private void NimbleBridge_MTXCatalogItem_Dispose(IntPtr wrapper) { } #else [DllImport (MarshalUtility.CINTERFACE_LIB_NAME)] static private extern void NimbleBridge_MTXCatalogItem_Dispose(IntPtr wrapper); #endif #if UNITY_EDITOR || ( ! UNITY_IPHONE && ! UNITY_ANDROID ) static private string NimbleBridge_MTXCatalogItem_getSku(NimbleBridge_MTXCatalogItem wrapper) { NimbleBridge_MockDataStorage.MTXCatalogItem mtxCatalogItem = NimbleBridge_MockDataStorage.Get().GetMTXCatalogItem(wrapper.m_id); if (mtxCatalogItem != null) { return mtxCatalogItem.Sku; } else { return string.Empty; } } #else [DllImport (MarshalUtility.CINTERFACE_LIB_NAME)] static private extern string NimbleBridge_MTXCatalogItem_getSku(NimbleBridge_MTXCatalogItem wrapper); #endif #if UNITY_EDITOR || ( ! UNITY_IPHONE && ! UNITY_ANDROID ) static private string NimbleBridge_MTXCatalogItem_getTitle(NimbleBridge_MTXCatalogItem wrapper) { NimbleBridge_MockDataStorage.MTXCatalogItem mtxCatalogItem = NimbleBridge_MockDataStorage.Get().GetMTXCatalogItem(wrapper.m_id); if (mtxCatalogItem != null) { return mtxCatalogItem.Title; } else { return string.Empty; } } #else [DllImport (MarshalUtility.CINTERFACE_LIB_NAME)] static private extern string NimbleBridge_MTXCatalogItem_getTitle(NimbleBridge_MTXCatalogItem wrapper); #endif #if UNITY_EDITOR || ( ! UNITY_IPHONE && ! UNITY_ANDROID ) static private string NimbleBridge_MTXCatalogItem_getDescription(NimbleBridge_MTXCatalogItem wrapper) { NimbleBridge_MockDataStorage.MTXCatalogItem mtxCatalogItem = NimbleBridge_MockDataStorage.Get().GetMTXCatalogItem(wrapper.m_id); if (mtxCatalogItem != null) { return mtxCatalogItem.Description; } else { return string.Empty; } } #else [DllImport (MarshalUtility.CINTERFACE_LIB_NAME)] static private extern string NimbleBridge_MTXCatalogItem_getDescription(NimbleBridge_MTXCatalogItem wrapper); #endif #if UNITY_EDITOR || ( ! UNITY_IPHONE && ! UNITY_ANDROID ) static private float NimbleBridge_MTXCatalogItem_getPriceDecimal(NimbleBridge_MTXCatalogItem wrapper) { NimbleBridge_MockDataStorage.MTXCatalogItem mtxCatalogItem = NimbleBridge_MockDataStorage.Get().GetMTXCatalogItem(wrapper.m_id); if (mtxCatalogItem != null) { return mtxCatalogItem.PriceDecimal; } else { return 0.0f; } } #else [DllImport (MarshalUtility.CINTERFACE_LIB_NAME)] static private extern float NimbleBridge_MTXCatalogItem_getPriceDecimal(NimbleBridge_MTXCatalogItem wrapper); #endif #if UNITY_EDITOR || ( ! UNITY_IPHONE && ! UNITY_ANDROID ) static private string NimbleBridge_MTXCatalogItem_getPriceWithCurrencyAndFormat(NimbleBridge_MTXCatalogItem wrapper) { NimbleBridge_MockDataStorage.MTXCatalogItem mtxCatalogItem = NimbleBridge_MockDataStorage.Get().GetMTXCatalogItem(wrapper.m_id); if (mtxCatalogItem != null) { return mtxCatalogItem.PriceWithCurrencyAndFormat; } else { return string.Empty; } } #else [DllImport (MarshalUtility.CINTERFACE_LIB_NAME)] static private extern string NimbleBridge_MTXCatalogItem_getPriceWithCurrencyAndFormat(NimbleBridge_MTXCatalogItem wrapper); #endif #if UNITY_EDITOR || ( ! UNITY_IPHONE && ! UNITY_ANDROID ) static private int NimbleBridge_MTXCatalogItem_getItemType(NimbleBridge_MTXCatalogItem wrapper) { NimbleBridge_MockDataStorage.MTXCatalogItem mtxCatalogItem = NimbleBridge_MockDataStorage.Get().GetMTXCatalogItem(wrapper.m_id); if (mtxCatalogItem != null) { return (int)mtxCatalogItem.ItemType; } else { return 0; } } #else [DllImport (MarshalUtility.CINTERFACE_LIB_NAME)] static private extern int NimbleBridge_MTXCatalogItem_getItemType(NimbleBridge_MTXCatalogItem wrapper); #endif #if UNITY_EDITOR || ( ! UNITY_IPHONE && ! UNITY_ANDROID ) static private string NimbleBridge_MTXCatalogItem_getMetaDataUrl(NimbleBridge_MTXCatalogItem wrapper) { NimbleBridge_MockDataStorage.MTXCatalogItem mtxCatalogItem = NimbleBridge_MockDataStorage.Get().GetMTXCatalogItem(wrapper.m_id); if (mtxCatalogItem != null) { return mtxCatalogItem.MetaDataUrl; } else { return string.Empty; } } #else [DllImport (MarshalUtility.CINTERFACE_LIB_NAME)] static private extern string NimbleBridge_MTXCatalogItem_getMetaDataUrl(NimbleBridge_MTXCatalogItem wrapper); #endif #if UNITY_EDITOR || ( ! UNITY_IPHONE && ! UNITY_ANDROID ) static private string NimbleBridge_MTXCatalogItem_getAdditionalInfo(NimbleBridge_MTXCatalogItem wrapper) { NimbleBridge_MockDataStorage.MTXCatalogItem mtxCatalogItem = NimbleBridge_MockDataStorage.Get().GetMTXCatalogItem(wrapper.m_id); if (mtxCatalogItem != null) { return mtxCatalogItem.AdditionalInfo; } else { return string.Empty; } } #else [DllImport (MarshalUtility.CINTERFACE_LIB_NAME)] static private extern string NimbleBridge_MTXCatalogItem_getAdditionalInfo(NimbleBridge_MTXCatalogItem wrapper); #endif #if UNITY_EDITOR || ( ! UNITY_IPHONE && ! UNITY_ANDROID ) private uint m_id; public NimbleBridge_MTXCatalogItem(uint id) : base(IntPtr.Zero, true) { m_id = id; } #endif private NimbleBridge_MTXCatalogItem() : base(IntPtr.Zero, true) { } internal NimbleBridge_MTXCatalogItem(IntPtr handle) : base(IntPtr.Zero, true) { SetHandle(handle); } public override bool IsInvalid { get { return handle == IntPtr.Zero; } } protected override bool ReleaseHandle() { NimbleBridge_MTXCatalogItem_Dispose(handle); return true; } public string GetSku() { return NimbleBridge_MTXCatalogItem_getSku(this); } public string GetTitle() { return NimbleBridge_MTXCatalogItem_getTitle(this); } public string GetDescription() { return NimbleBridge_MTXCatalogItem_getDescription(this); } public float GetPriceDecimal() { return NimbleBridge_MTXCatalogItem_getPriceDecimal(this); } public string GetPriceWithCurrencyAndFormat() { return NimbleBridge_MTXCatalogItem_getPriceWithCurrencyAndFormat(this); } public Type GetItemType() { return (Type) NimbleBridge_MTXCatalogItem_getItemType(this); } public string GetMetaDataUrl() { return NimbleBridge_MTXCatalogItem_getMetaDataUrl(this); } [Obsolete("Use GetAdditionalInfoDictionary instead")] public string GetAdditionalInfo() { return NimbleBridge_MTXCatalogItem_getAdditionalInfo(this); } public Dictionary GetAdditionalInfoDictionary() { JSONNode json = JSON.Parse(NimbleBridge_MTXCatalogItem_getAdditionalInfo(this)); return MarshalUtility.ConvertJsonToDictionary((JSONObject)json); } }