using System; using System.Collections.Generic; [Serializable] public class GlobalAchievementMetricEntry { public GlobalAchievementMetricType metricType; public float value; } [Serializable] public class GlobalAchievementStateEntry { public int achievementId; public bool unlocked; public long unlockedUtcTicks; } [Serializable] public class GlobalAchievementSaveData { public int version = 1; public string lastLoginDateStamp; public string trustedDateStamp; public List metrics = new List(); public List states = new List(); } public struct GlobalAchievementSnapshot { public GlobalAchievementSO definition; public float currentValue; public float normalizedProgress; public bool unlocked; public DateTime unlockedUtc; public string unlockedDateTimeText; }