// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.Mods { /// /// Input parameters for the Function. /// public struct InstallModOptions { /// /// The Epic Account ID of the user for which the mod should be installed /// public EpicAccountId LocalUserId { get; set; } /// /// The mod to install /// public ModIdentifier? Mod { get; set; } /// /// Indicates whether the mod should be uninstalled after exiting the game or not. /// public bool RemoveAfterExit { get; set; } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct InstallModOptionsInternal : ISettable, System.IDisposable { private int m_ApiVersion; private System.IntPtr m_LocalUserId; private System.IntPtr m_Mod; private int m_RemoveAfterExit; public EpicAccountId LocalUserId { set { Helper.Set(value, ref m_LocalUserId); } } public ModIdentifier? Mod { set { Helper.Set(ref value, ref m_Mod); } } public bool RemoveAfterExit { set { Helper.Set(value, ref m_RemoveAfterExit); } } public void Set(ref InstallModOptions other) { m_ApiVersion = ModsInterface.InstallmodApiLatest; LocalUserId = other.LocalUserId; Mod = other.Mod; RemoveAfterExit = other.RemoveAfterExit; } public void Set(ref InstallModOptions? other) { if (other.HasValue) { m_ApiVersion = ModsInterface.InstallmodApiLatest; LocalUserId = other.Value.LocalUserId; Mod = other.Value.Mod; RemoveAfterExit = other.Value.RemoveAfterExit; } } public void Dispose() { Helper.Dispose(ref m_LocalUserId); Helper.Dispose(ref m_Mod); } } }