using System; using System.Collections.Generic; namespace rail { public class IRailAssetsImpl : RailObject, IRailAssets, IRailComponent { internal IRailAssetsImpl(IntPtr cPtr) { swigCPtr_ = cPtr; } ~IRailAssetsImpl() { } public virtual RailResult AsyncRequestAllAssets(string user_data) { return (RailResult)RAIL_API_PINVOKE.IRailAssets_AsyncRequestAllAssets(swigCPtr_, user_data); } public virtual RailResult QueryAssetInfo(ulong asset_id, RailAssetInfo asset_info) { IntPtr intPtr = ((asset_info != null) ? RAIL_API_PINVOKE.new_RailAssetInfo__SWIG_0() : IntPtr.Zero); try { return (RailResult)RAIL_API_PINVOKE.IRailAssets_QueryAssetInfo(swigCPtr_, asset_id, intPtr); } finally { if (asset_info != null) { RailConverter.Cpp2Csharp(intPtr, asset_info); } RAIL_API_PINVOKE.delete_RailAssetInfo(intPtr); } } public virtual RailResult AsyncUpdateAssetsProperty(List asset_property_list, string user_data) { IntPtr intPtr = ((asset_property_list != null) ? RAIL_API_PINVOKE.new_RailArrayRailAssetProperty__SWIG_0() : IntPtr.Zero); if (asset_property_list != null) { RailConverter.Csharp2Cpp(asset_property_list, intPtr); } try { return (RailResult)RAIL_API_PINVOKE.IRailAssets_AsyncUpdateAssetsProperty(swigCPtr_, intPtr, user_data); } finally { RAIL_API_PINVOKE.delete_RailArrayRailAssetProperty(intPtr); } } public virtual RailResult AsyncDirectConsumeAssets(List assets, string user_data) { IntPtr intPtr = ((assets != null) ? RAIL_API_PINVOKE.new_RailArrayRailAssetItem__SWIG_0() : IntPtr.Zero); if (assets != null) { RailConverter.Csharp2Cpp(assets, intPtr); } try { return (RailResult)RAIL_API_PINVOKE.IRailAssets_AsyncDirectConsumeAssets(swigCPtr_, intPtr, user_data); } finally { RAIL_API_PINVOKE.delete_RailArrayRailAssetItem(intPtr); } } public virtual RailResult AsyncStartConsumeAsset(ulong asset_id, string user_data) { return (RailResult)RAIL_API_PINVOKE.IRailAssets_AsyncStartConsumeAsset(swigCPtr_, asset_id, user_data); } public virtual RailResult AsyncUpdateConsumeProgress(ulong asset_id, string progress, string user_data) { return (RailResult)RAIL_API_PINVOKE.IRailAssets_AsyncUpdateConsumeProgress(swigCPtr_, asset_id, progress, user_data); } public virtual RailResult AsyncCompleteConsumeAsset(ulong asset_id, uint quantity, string user_data) { return (RailResult)RAIL_API_PINVOKE.IRailAssets_AsyncCompleteConsumeAsset(swigCPtr_, asset_id, quantity, user_data); } public virtual RailResult AsyncExchangeAssets(List old_assets, RailProductItem to_product_info, string user_data) { IntPtr intPtr = ((old_assets != null) ? RAIL_API_PINVOKE.new_RailArrayRailAssetItem__SWIG_0() : IntPtr.Zero); if (old_assets != null) { RailConverter.Csharp2Cpp(old_assets, intPtr); } IntPtr intPtr2 = ((to_product_info != null) ? RAIL_API_PINVOKE.new_RailProductItem__SWIG_0() : IntPtr.Zero); if (to_product_info != null) { RailConverter.Csharp2Cpp(to_product_info, intPtr2); } try { return (RailResult)RAIL_API_PINVOKE.IRailAssets_AsyncExchangeAssets(swigCPtr_, intPtr, intPtr2, user_data); } finally { RAIL_API_PINVOKE.delete_RailArrayRailAssetItem(intPtr); RAIL_API_PINVOKE.delete_RailProductItem(intPtr2); } } public virtual RailResult AsyncExchangeAssetsTo(List old_assets, RailProductItem to_product_info, ulong add_to_exist_assets, string user_data) { IntPtr intPtr = ((old_assets != null) ? RAIL_API_PINVOKE.new_RailArrayRailAssetItem__SWIG_0() : IntPtr.Zero); if (old_assets != null) { RailConverter.Csharp2Cpp(old_assets, intPtr); } IntPtr intPtr2 = ((to_product_info != null) ? RAIL_API_PINVOKE.new_RailProductItem__SWIG_0() : IntPtr.Zero); if (to_product_info != null) { RailConverter.Csharp2Cpp(to_product_info, intPtr2); } try { return (RailResult)RAIL_API_PINVOKE.IRailAssets_AsyncExchangeAssetsTo(swigCPtr_, intPtr, intPtr2, add_to_exist_assets, user_data); } finally { RAIL_API_PINVOKE.delete_RailArrayRailAssetItem(intPtr); RAIL_API_PINVOKE.delete_RailProductItem(intPtr2); } } public virtual RailResult AsyncSplitAsset(ulong source_asset, uint to_quantity, string user_data) { return (RailResult)RAIL_API_PINVOKE.IRailAssets_AsyncSplitAsset(swigCPtr_, source_asset, to_quantity, user_data); } public virtual RailResult AsyncSplitAssetTo(ulong source_asset, uint to_quantity, ulong add_to_asset, string user_data) { return (RailResult)RAIL_API_PINVOKE.IRailAssets_AsyncSplitAssetTo(swigCPtr_, source_asset, to_quantity, add_to_asset, user_data); } public virtual RailResult AsyncMergeAsset(List source_assets, string user_data) { IntPtr intPtr = ((source_assets != null) ? RAIL_API_PINVOKE.new_RailArrayRailAssetItem__SWIG_0() : IntPtr.Zero); if (source_assets != null) { RailConverter.Csharp2Cpp(source_assets, intPtr); } try { return (RailResult)RAIL_API_PINVOKE.IRailAssets_AsyncMergeAsset(swigCPtr_, intPtr, user_data); } finally { RAIL_API_PINVOKE.delete_RailArrayRailAssetItem(intPtr); } } public virtual RailResult AsyncMergeAssetTo(List source_assets, ulong add_to_asset, string user_data) { IntPtr intPtr = ((source_assets != null) ? RAIL_API_PINVOKE.new_RailArrayRailAssetItem__SWIG_0() : IntPtr.Zero); if (source_assets != null) { RailConverter.Csharp2Cpp(source_assets, intPtr); } try { return (RailResult)RAIL_API_PINVOKE.IRailAssets_AsyncMergeAssetTo(swigCPtr_, intPtr, add_to_asset, user_data); } finally { RAIL_API_PINVOKE.delete_RailArrayRailAssetItem(intPtr); } } public virtual RailResult SerializeAssetsToBuffer(out string buffer) { IntPtr intPtr = RAIL_API_PINVOKE.new_RailString__SWIG_0(); try { return (RailResult)RAIL_API_PINVOKE.IRailAssets_SerializeAssetsToBuffer__SWIG_0(swigCPtr_, intPtr); } finally { buffer = UTF8Marshaler.MarshalNativeToString(RAIL_API_PINVOKE.RailString_c_str(intPtr)); RAIL_API_PINVOKE.delete_RailString(intPtr); } } public virtual RailResult SerializeAssetsToBuffer(List assets, out string buffer) { IntPtr intPtr = ((assets != null) ? RAIL_API_PINVOKE.new_RailArrayuint64_t__SWIG_0() : IntPtr.Zero); if (assets != null) { RailConverter.Csharp2Cpp(assets, intPtr); } IntPtr intPtr2 = RAIL_API_PINVOKE.new_RailString__SWIG_0(); try { return (RailResult)RAIL_API_PINVOKE.IRailAssets_SerializeAssetsToBuffer__SWIG_1(swigCPtr_, intPtr, intPtr2); } finally { RAIL_API_PINVOKE.delete_RailArrayuint64_t(intPtr); buffer = UTF8Marshaler.MarshalNativeToString(RAIL_API_PINVOKE.RailString_c_str(intPtr2)); RAIL_API_PINVOKE.delete_RailString(intPtr2); } } public virtual RailResult DeserializeAssetsFromBuffer(RailID assets_owner, string buffer, List assets_info) { IntPtr intPtr = ((!(assets_owner == null)) ? RAIL_API_PINVOKE.new_RailID__SWIG_0() : IntPtr.Zero); if (assets_owner != null) { RailConverter.Csharp2Cpp(assets_owner, intPtr); } IntPtr intPtr2 = ((assets_info != null) ? RAIL_API_PINVOKE.new_RailArrayRailAssetInfo__SWIG_0() : IntPtr.Zero); try { return (RailResult)RAIL_API_PINVOKE.IRailAssets_DeserializeAssetsFromBuffer(swigCPtr_, intPtr, buffer, intPtr2); } finally { RAIL_API_PINVOKE.delete_RailID(intPtr); if (assets_info != null) { RailConverter.Cpp2Csharp(intPtr2, assets_info); } RAIL_API_PINVOKE.delete_RailArrayRailAssetInfo(intPtr2); } } public virtual ulong GetComponentVersion() { return RAIL_API_PINVOKE.IRailComponent_GetComponentVersion(swigCPtr_); } public virtual void Release() { RAIL_API_PINVOKE.IRailComponent_Release(swigCPtr_); } } }