// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.Achievements { /// /// Contains information about a single achievement definition with localized text. /// public struct Definition { /// /// Achievement ID that can be used to uniquely identify the achievement. /// public Utf8String AchievementId { get; set; } /// /// Text representing the Name to display in-game when achievement has been unlocked. /// public Utf8String DisplayName { get; set; } /// /// Text representing the description to display in-game when achievement has been unlocked. /// public Utf8String Description { get; set; } /// /// Text representing the name to display in-game when achievement is locked. /// public Utf8String LockedDisplayName { get; set; } /// /// Text representing the description of what needs to be done to trigger the unlock of this achievement. /// public Utf8String LockedDescription { get; set; } /// /// Text representing the description to display in-game when achievement is hidden. /// public Utf8String HiddenDescription { get; set; } /// /// Text representing the description of what happens when the achievement is unlocked. /// public Utf8String CompletionDescription { get; set; } /// /// Text representing the icon to display in-game when achievement is unlocked. /// public Utf8String UnlockedIconId { get; set; } /// /// Text representing the icon to display in-game when achievement is locked. /// public Utf8String LockedIconId { get; set; } /// /// True if achievement is hidden, false otherwise. /// public bool IsHidden { get; set; } /// /// Array of stat thresholds that need to be satisfied to unlock the achievement. /// public StatThresholds[] StatThresholds { get; set; } internal void Set(ref DefinitionInternal other) { AchievementId = other.AchievementId; DisplayName = other.DisplayName; Description = other.Description; LockedDisplayName = other.LockedDisplayName; LockedDescription = other.LockedDescription; HiddenDescription = other.HiddenDescription; CompletionDescription = other.CompletionDescription; UnlockedIconId = other.UnlockedIconId; LockedIconId = other.LockedIconId; IsHidden = other.IsHidden; StatThresholds = other.StatThresholds; } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct DefinitionInternal : IGettable, ISettable, System.IDisposable { private int m_ApiVersion; private System.IntPtr m_AchievementId; private System.IntPtr m_DisplayName; private System.IntPtr m_Description; private System.IntPtr m_LockedDisplayName; private System.IntPtr m_LockedDescription; private System.IntPtr m_HiddenDescription; private System.IntPtr m_CompletionDescription; private System.IntPtr m_UnlockedIconId; private System.IntPtr m_LockedIconId; private int m_IsHidden; private int m_StatThresholdsCount; private System.IntPtr m_StatThresholds; public Utf8String AchievementId { get { Utf8String value; Helper.Get(m_AchievementId, out value); return value; } set { Helper.Set(value, ref m_AchievementId); } } public Utf8String DisplayName { get { Utf8String value; Helper.Get(m_DisplayName, out value); return value; } set { Helper.Set(value, ref m_DisplayName); } } public Utf8String Description { get { Utf8String value; Helper.Get(m_Description, out value); return value; } set { Helper.Set(value, ref m_Description); } } public Utf8String LockedDisplayName { get { Utf8String value; Helper.Get(m_LockedDisplayName, out value); return value; } set { Helper.Set(value, ref m_LockedDisplayName); } } public Utf8String LockedDescription { get { Utf8String value; Helper.Get(m_LockedDescription, out value); return value; } set { Helper.Set(value, ref m_LockedDescription); } } public Utf8String HiddenDescription { get { Utf8String value; Helper.Get(m_HiddenDescription, out value); return value; } set { Helper.Set(value, ref m_HiddenDescription); } } public Utf8String CompletionDescription { get { Utf8String value; Helper.Get(m_CompletionDescription, out value); return value; } set { Helper.Set(value, ref m_CompletionDescription); } } public Utf8String UnlockedIconId { get { Utf8String value; Helper.Get(m_UnlockedIconId, out value); return value; } set { Helper.Set(value, ref m_UnlockedIconId); } } public Utf8String LockedIconId { get { Utf8String value; Helper.Get(m_LockedIconId, out value); return value; } set { Helper.Set(value, ref m_LockedIconId); } } public bool IsHidden { get { bool value; Helper.Get(m_IsHidden, out value); return value; } set { Helper.Set(value, ref m_IsHidden); } } public StatThresholds[] StatThresholds { get { StatThresholds[] value; Helper.Get(m_StatThresholds, out value, m_StatThresholdsCount); return value; } set { Helper.Set(ref value, ref m_StatThresholds, out m_StatThresholdsCount); } } public void Set(ref Definition other) { m_ApiVersion = AchievementsInterface.DefinitionApiLatest; AchievementId = other.AchievementId; DisplayName = other.DisplayName; Description = other.Description; LockedDisplayName = other.LockedDisplayName; LockedDescription = other.LockedDescription; HiddenDescription = other.HiddenDescription; CompletionDescription = other.CompletionDescription; UnlockedIconId = other.UnlockedIconId; LockedIconId = other.LockedIconId; IsHidden = other.IsHidden; StatThresholds = other.StatThresholds; } public void Set(ref Definition? other) { if (other.HasValue) { m_ApiVersion = AchievementsInterface.DefinitionApiLatest; AchievementId = other.Value.AchievementId; DisplayName = other.Value.DisplayName; Description = other.Value.Description; LockedDisplayName = other.Value.LockedDisplayName; LockedDescription = other.Value.LockedDescription; HiddenDescription = other.Value.HiddenDescription; CompletionDescription = other.Value.CompletionDescription; UnlockedIconId = other.Value.UnlockedIconId; LockedIconId = other.Value.LockedIconId; IsHidden = other.Value.IsHidden; StatThresholds = other.Value.StatThresholds; } } public void Dispose() { Helper.Dispose(ref m_AchievementId); Helper.Dispose(ref m_DisplayName); Helper.Dispose(ref m_Description); Helper.Dispose(ref m_LockedDisplayName); Helper.Dispose(ref m_LockedDescription); Helper.Dispose(ref m_HiddenDescription); Helper.Dispose(ref m_CompletionDescription); Helper.Dispose(ref m_UnlockedIconId); Helper.Dispose(ref m_LockedIconId); Helper.Dispose(ref m_StatThresholds); } public void Get(out Definition output) { output = new Definition(); output.Set(ref this); } } }