using System.Collections.Generic; namespace System.AchieveSystem { public class AchievementData { public AchievementData () { AchieveIDs = new List (); AchievementInfos = new List (); } /// /// 以获得成就id列表 /// public List AchieveIDs; /// /// 储存当前所有的成就埋点信息 /// public List AchievementInfos; public AchievementInfo GetCodeInfo (AchievementCode code) { for (int i = 0; i < AchievementInfos.Count; i++) { if (AchievementInfos[i].Code == code) { return AchievementInfos[i]; } } var codeInfo = new AchievementInfo () { Code = code, Count = 0 }; AchievementInfos.Add (codeInfo); return codeInfo; } public void AddCode (AchievementCode code, long count) { var codeInfo = GetCodeInfo (code); codeInfo.Count += count; } public void SetCode (AchievementCode code, long count) { var codeInfo = GetCodeInfo (code); codeInfo.Count = count; } // /// // /// 检查是否解锁新成就 // /// // /// 返回解锁新成就列表 // public List CheckAchieve() // { // List ids = new List(); // // return ids; // } public bool HasAchievement (int id) { return AchieveIDs.Contains (id); } } public class AchievementInfo { public AchievementCode Code; public long Count; } }