// 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 struct CheckoutOptions { /// /// The Epic 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 Utf8String 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.Set(value, ref m_LocalUserId); } } public Utf8String OverrideCatalogNamespace { set { Helper.Set(value, ref m_OverrideCatalogNamespace); } } public CheckoutEntry[] Entries { set { Helper.Set(ref value, ref m_Entries, out m_EntryCount); } } public void Set(ref CheckoutOptions other) { m_ApiVersion = EcomInterface.CheckoutApiLatest; LocalUserId = other.LocalUserId; OverrideCatalogNamespace = other.OverrideCatalogNamespace; Entries = other.Entries; } public void Set(ref CheckoutOptions? other) { if (other.HasValue) { m_ApiVersion = EcomInterface.CheckoutApiLatest; LocalUserId = other.Value.LocalUserId; OverrideCatalogNamespace = other.Value.OverrideCatalogNamespace; Entries = other.Value.Entries; } } public void Dispose() { Helper.Dispose(ref m_LocalUserId); Helper.Dispose(ref m_OverrideCatalogNamespace); Helper.Dispose(ref m_Entries); } } }