// 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 collection of stat threshold data. /// /// The threshold will depend on the stat aggregate type: /// LATEST (Tracks the latest value) /// MAX (Tracks the maximum value) /// MIN (Tracks the minimum value) /// SUM (Generates a rolling sum of the value) /// /// public struct StatThresholds { /// /// The name of the stat. /// public Utf8String Name { get; set; } /// /// The value that the stat must surpass to satisfy the requirement for unlocking an achievement. /// public int Threshold { get; set; } internal void Set(ref StatThresholdsInternal other) { Name = other.Name; Threshold = other.Threshold; } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct StatThresholdsInternal : IGettable, ISettable, System.IDisposable { private int m_ApiVersion; private System.IntPtr m_Name; private int m_Threshold; public Utf8String Name { get { Utf8String value; Helper.Get(m_Name, out value); return value; } set { Helper.Set(value, ref m_Name); } } public int Threshold { get { return m_Threshold; } set { m_Threshold = value; } } public void Set(ref StatThresholds other) { m_ApiVersion = AchievementsInterface.StatthresholdsApiLatest; Name = other.Name; Threshold = other.Threshold; } public void Set(ref StatThresholds? other) { if (other.HasValue) { m_ApiVersion = AchievementsInterface.StatthresholdsApiLatest; Name = other.Value.Name; Threshold = other.Value.Threshold; } } public void Dispose() { Helper.Dispose(ref m_Name); } public void Get(out StatThresholds output) { output = new StatThresholds(); output.Set(ref this); } } }