Files
taptap2024_GJ_chidouren/Assets/Scripts/System/AchieveSystem/AchievementData.cs
2024-10-16 00:03:41 +08:00

77 lines
1.9 KiB
C#

using System.Collections.Generic;
namespace System.AchieveSystem
{
public class AchievementData
{
public AchievementData ()
{
AchieveIDs = new List<int> ();
AchievementInfos = new List<AchievementInfo> ();
}
/// <summary>
/// 以获得成就id列表
/// </summary>
public List<int> AchieveIDs;
/// <summary>
/// 储存当前所有的成就埋点信息
/// </summary>
public List<AchievementInfo> 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;
}
// /// <summary>
// /// 检查是否解锁新成就
// /// </summary>
// /// <returns>返回解锁新成就列表</returns>
// public List<int> CheckAchieve()
// {
// List<int> ids = new List<int>();
//
// return ids;
// }
public bool HasAchievement (int id)
{
return AchieveIDs.Contains (id);
}
}
public class AchievementInfo
{
public AchievementCode Code;
public long Count;
}
}