// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.Leaderboards { /// /// Contains information about a single leaderboard definition /// public class Definition : ISettable { /// /// Unique ID to identify leaderboard. /// public string LeaderboardId { get; set; } /// /// Name of stat used to rank leaderboard. /// public string StatName { get; set; } /// /// Aggregation used to sort leaderboard. /// public LeaderboardAggregation Aggregation { get; set; } /// /// The POSIX timestamp for the start time, or . /// public System.DateTimeOffset? StartTime { get; set; } /// /// The POSIX timestamp for the end time, or . /// public System.DateTimeOffset? EndTime { get; set; } internal void Set(DefinitionInternal? other) { if (other != null) { LeaderboardId = other.Value.LeaderboardId; StatName = other.Value.StatName; Aggregation = other.Value.Aggregation; StartTime = other.Value.StartTime; EndTime = other.Value.EndTime; } } public void Set(object other) { Set(other as DefinitionInternal?); } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct DefinitionInternal : ISettable, System.IDisposable { private int m_ApiVersion; private System.IntPtr m_LeaderboardId; private System.IntPtr m_StatName; private LeaderboardAggregation m_Aggregation; private long m_StartTime; private long m_EndTime; public string LeaderboardId { get { string value; Helper.TryMarshalGet(m_LeaderboardId, out value); return value; } set { Helper.TryMarshalSet(ref m_LeaderboardId, value); } } public string StatName { get { string value; Helper.TryMarshalGet(m_StatName, out value); return value; } set { Helper.TryMarshalSet(ref m_StatName, value); } } public LeaderboardAggregation Aggregation { get { return m_Aggregation; } set { m_Aggregation = value; } } public System.DateTimeOffset? StartTime { get { System.DateTimeOffset? value; Helper.TryMarshalGet(m_StartTime, out value); return value; } set { Helper.TryMarshalSet(ref m_StartTime, value); } } public System.DateTimeOffset? EndTime { get { System.DateTimeOffset? value; Helper.TryMarshalGet(m_EndTime, out value); return value; } set { Helper.TryMarshalSet(ref m_EndTime, value); } } public void Set(Definition other) { if (other != null) { m_ApiVersion = LeaderboardsInterface.DefinitionApiLatest; LeaderboardId = other.LeaderboardId; StatName = other.StatName; Aggregation = other.Aggregation; StartTime = other.StartTime; EndTime = other.EndTime; } } public void Set(object other) { Set(other as Definition); } public void Dispose() { Helper.TryMarshalDispose(ref m_LeaderboardId); Helper.TryMarshalDispose(ref m_StatName); } } }