// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.Ecom { /// /// Input parameters for the function. /// public class CheckoutOptions { /// /// The Epic Online Services Account ID of the local user who is making the purchase /// public EpicAccountId LocalUserId { get; set; } /// /// The catalog namespace will be the current Sandbox ID (in ) unless overridden by this field /// public string OverrideCatalogNamespace { get; set; } /// /// An array of elements, each containing the details of a single offer /// public CheckoutEntry[] Entries { get; set; } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct CheckoutOptionsInternal : ISettable, System.IDisposable { private int m_ApiVersion; private System.IntPtr m_LocalUserId; private System.IntPtr m_OverrideCatalogNamespace; private uint m_EntryCount; private System.IntPtr m_Entries; public EpicAccountId LocalUserId { set { Helper.TryMarshalSet(ref m_LocalUserId, value); } } public string OverrideCatalogNamespace { set { Helper.TryMarshalSet(ref m_OverrideCatalogNamespace, value); } } public CheckoutEntry[] Entries { set { Helper.TryMarshalSet(ref m_Entries, value, out m_EntryCount); } } public void Set(CheckoutOptions other) { if (other != null) { m_ApiVersion = EcomInterface.CheckoutApiLatest; LocalUserId = other.LocalUserId; OverrideCatalogNamespace = other.OverrideCatalogNamespace; Entries = other.Entries; } } public void Set(object other) { Set(other as CheckoutOptions); } public void Dispose() { Helper.TryMarshalDispose(ref m_LocalUserId); Helper.TryMarshalDispose(ref m_OverrideCatalogNamespace); Helper.TryMarshalDispose(ref m_Entries); } } }