// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.Sessions { /// /// Input parameters for the function. /// public struct SessionModificationAddAttributeOptions { /// /// Key/Value pair describing the attribute to add to the session /// public AttributeData? SessionAttribute { get; set; } /// /// Is this attribution advertised with the backend or simply stored locally /// public SessionAttributeAdvertisementType AdvertisementType { get; set; } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct SessionModificationAddAttributeOptionsInternal : ISettable, System.IDisposable { private int m_ApiVersion; private System.IntPtr m_SessionAttribute; private SessionAttributeAdvertisementType m_AdvertisementType; public AttributeData? SessionAttribute { set { Helper.Set(ref value, ref m_SessionAttribute); } } public SessionAttributeAdvertisementType AdvertisementType { set { m_AdvertisementType = value; } } public void Set(ref SessionModificationAddAttributeOptions other) { m_ApiVersion = SessionModification.SessionmodificationAddattributeApiLatest; SessionAttribute = other.SessionAttribute; AdvertisementType = other.AdvertisementType; } public void Set(ref SessionModificationAddAttributeOptions? other) { if (other.HasValue) { m_ApiVersion = SessionModification.SessionmodificationAddattributeApiLatest; SessionAttribute = other.Value.SessionAttribute; AdvertisementType = other.Value.AdvertisementType; } } public void Dispose() { Helper.Dispose(ref m_SessionAttribute); } } }