// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.Achievements { /// /// Output parameters for the Function. /// public struct OnAchievementsUnlockedCallbackV2Info : ICallbackInfo { /// /// Context that was passed into /// public object ClientData { get; set; } /// /// The Product User ID for the user who received the unlocked achievements notification /// public ProductUserId UserId { get; set; } /// /// The Achievement ID for the achievement that was unlocked. Pass this to to get the full achievement information. /// public Utf8String AchievementId { get; set; } /// /// POSIX timestamp when the achievement was unlocked. /// public System.DateTimeOffset? UnlockTime { get; set; } public Result? GetResultCode() { return null; } internal void Set(ref OnAchievementsUnlockedCallbackV2InfoInternal other) { ClientData = other.ClientData; UserId = other.UserId; AchievementId = other.AchievementId; UnlockTime = other.UnlockTime; } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct OnAchievementsUnlockedCallbackV2InfoInternal : ICallbackInfoInternal, IGettable, ISettable, System.IDisposable { private System.IntPtr m_ClientData; private System.IntPtr m_UserId; private System.IntPtr m_AchievementId; private long m_UnlockTime; public object ClientData { get { object value; Helper.Get(m_ClientData, out value); return value; } set { Helper.Set(value, ref m_ClientData); } } public System.IntPtr ClientDataAddress { get { return m_ClientData; } } public ProductUserId UserId { get { ProductUserId value; Helper.Get(m_UserId, out value); return value; } set { Helper.Set(value, ref m_UserId); } } public Utf8String AchievementId { get { Utf8String value; Helper.Get(m_AchievementId, out value); return value; } set { Helper.Set(value, ref m_AchievementId); } } public System.DateTimeOffset? UnlockTime { get { System.DateTimeOffset? value; Helper.Get(m_UnlockTime, out value); return value; } set { Helper.Set(value, ref m_UnlockTime); } } public void Set(ref OnAchievementsUnlockedCallbackV2Info other) { ClientData = other.ClientData; UserId = other.UserId; AchievementId = other.AchievementId; UnlockTime = other.UnlockTime; } public void Set(ref OnAchievementsUnlockedCallbackV2Info? other) { if (other.HasValue) { ClientData = other.Value.ClientData; UserId = other.Value.UserId; AchievementId = other.Value.AchievementId; UnlockTime = other.Value.UnlockTime; } } public void Dispose() { Helper.Dispose(ref m_ClientData); Helper.Dispose(ref m_UserId); Helper.Dispose(ref m_AchievementId); } public void Get(out OnAchievementsUnlockedCallbackV2Info output) { output = new OnAchievementsUnlockedCallbackV2Info(); output.Set(ref this); } } }