You've already forked taptap2024_GJ_chidouren
77 lines
1.9 KiB
C#
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;
|
|
}
|
|
} |