新游戏存档系统(未实装)

This commit is contained in:
ZouJin 2023-09-20 20:58:28 +08:00
parent c7d3c8fce7
commit 5ee885090e
3 changed files with 65 additions and 7 deletions

View File

@ -11,27 +11,81 @@ using VPet_Simulator.Core;
namespace VPet_Simulator.Windows.Interface
{
/// <summary>
/// 游戏存档 修改
/// 游戏存档 最新
/// </summary>
public class GameSave_v2 : GameSave
public class GameSave_v2
{
public GameSave_v2(ILPS lps, GameSave_v2 oldsave = null)
/// <summary>
/// 新存档
/// </summary>
public GameSave_v2()
{
GameSave = new GameSave();
Statistics = new Statistics();
}
protected void load(ILPS lps, Statistics oldStatistics = null, GameSave oldGameSave = null, ILPS olddata = null)
{
if (lps.FindLine("statistics") == null)
{//尝试从老存档加载
Statistics = oldsave?.Statistics;
Statistics = oldStatistics;
}
else
{
Statistics = new Statistics(lps["statistics"].ToList());
}
if (lps.FindLine("vpet") == null)
if (lps.FindLine("vpet") != null)
{
GameSave = GameSave.Load(lps.FindLine("vpet"));
}
else if (oldGameSave != null)
{
GameSave = oldGameSave;
}
if (olddata != null)
Data.AddRange(olddata);
Data.AddRange(lps);
}
public LPS_D Data;
/// <summary>
/// 读存档, 带入老数据
/// </summary>
/// <param name="lps">数据</param>
/// <param name="oldStatistics">老统计</param>
/// <param name="oldGameSave">老存档</param>
/// <param name="olddata">老数据</param>
public GameSave_v2(ILPS lps, Statistics oldStatistics = null, GameSave oldGameSave = null, ILPS olddata = null)
{
load(lps, oldStatistics, oldGameSave, olddata);
}
/// <summary>
/// 读存档, 带入老存档
/// </summary>
/// <param name="lps"></param>
/// <param name="oldSave"></param>
public GameSave_v2(ILPS lps, GameSave_v2 oldSave)
{
load(lps, oldSave.Statistics,oldSave.GameSave,oldSave.Data);
}
/// <summary>
/// 游戏相关数据
/// </summary>
public LPS_D Data = new LPS_D();
/// <summary>
/// 游戏存档
/// </summary>
public GameSave GameSave;
/// <summary>
/// 统计
/// </summary>
public Statistics Statistics = null;
public ILPS Save()
{
var lps = new LPS_D();
lps.AddRange(Data);
lps.AddLine(GameSave.ToLine());
lps.Add(new Line("statistics", "", Statistics.ToSubs()));
return lps;
}
}
}

View File

@ -138,6 +138,8 @@ namespace VPet_Simulator.Windows.Interface
/// 如果你的mod属于作弊mod/有作弊内容,请在作弊前调用这个方法
/// </summary>
void HashCheckOff();
GameSave_v2 GameSave_v2 { get; }
}
}

View File

@ -61,6 +61,8 @@ namespace VPet_Simulator.Windows
public List<SelectText> SelectTexts { get; set; } = new List<SelectText>();
public List<ClickText> ClickTexts { get; set; } = new List<ClickText>();
public GameSave_v2 GameSave_v2 { get; set; }
/// <summary>
/// 获得自动点击的文本
/// </summary>