From bd3799fde244c5b3170080ddeeec234af9dca6b5 Mon Sep 17 00:00:00 2001 From: wuwenbo Date: Wed, 16 Jul 2025 14:56:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=88=90=E5=B0=B1=E5=AD=98?= =?UTF-8?q?=E5=82=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Logic/Achievement/AchievementDataManager.cs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/My project/Assets/Scripts/Logic/Achievement/AchievementDataManager.cs b/My project/Assets/Scripts/Logic/Achievement/AchievementDataManager.cs index 20c52b7bc..892727d4a 100644 --- a/My project/Assets/Scripts/Logic/Achievement/AchievementDataManager.cs +++ b/My project/Assets/Scripts/Logic/Achievement/AchievementDataManager.cs @@ -29,7 +29,7 @@ namespace RuntimeData string json = File.ReadAllText(path); Achievement = JsonUtility.FromJson(json); } - if (Achievement == null) Achievement = Resources.Load("DataAssets/Achievement"); + if (Achievement == null) Achievement = Resources.Load("Export/Achievement"); FinishedCache ??= new List(); FinishedCache.Clear(); } @@ -43,30 +43,35 @@ namespace RuntimeData { foreach (var item in Achievement.AchievementList) item.OnTurnStart(map, player); + SaveAchievementData(); } public void OnTrainUnit(MapData map, PlayerData player, CityData city, UnitData newUnit) { foreach (var item in Achievement.AchievementList) item.OnTrainUnit(map, player, city, newUnit); + SaveAchievementData(); } public void OnBuildWonder(MapData map, PlayerData player, CityData city, GridData grid) { foreach (var item in Achievement.AchievementList) item.OnBuildWonder(map, player, city, grid); + SaveAchievementData(); } public void OnKillUnit(MapData map, UnitData origin, UnitData target) { foreach (var item in Achievement.AchievementList) item.OnKillUnit(map, origin, target); + SaveAchievementData(); } public void OnUnitMove(MapData map, UnitData unit, GridData gridData) { foreach (var item in Achievement.AchievementList) item.OnUnitMove(map, unit, gridData); + SaveAchievementData(); } public bool IsFinished(uint bigId, uint smallId, uint internalID) @@ -83,5 +88,12 @@ namespace RuntimeData if (item.IsFinished) return ""; return item.GetConditionDescription(); } + + public void SaveAchievementData() + { + if (Achievement == null) return; + string json = JsonUtility.ToJson(Achievement); + File.WriteAllText(Application.persistentDataPath + "/achievement.json", json); + } } } \ No newline at end of file