From abc518eedf2b03e2184ad6d0f30cfa8d089021b0 Mon Sep 17 00:00:00 2001 From: wuwenbo Date: Wed, 16 Jul 2025 17:14:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=88=90=E5=B0=B1=E5=BA=8F?= =?UTF-8?q?=E5=88=97=E5=8C=96=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Resources/DataAssets/Achievement.asset | 423 ++++++++++-------- .../Assets/Resources/Export/Achievement.asset | 423 ++++++++++-------- .../Resources/Export/Achievement.asset.meta | 2 +- .../Logic/Achievement/AchievementAsset.cs | 14 +- .../Achievement/AchievementDataManager.cs | 7 +- .../Logic/Editor/AchievementEditorWindow.cs | 35 +- 6 files changed, 522 insertions(+), 382 deletions(-) diff --git a/My project/Assets/Resources/DataAssets/Achievement.asset b/My project/Assets/Resources/DataAssets/Achievement.asset index 86dd55cac..d5e7dbb0b 100644 --- a/My project/Assets/Resources/DataAssets/Achievement.asset +++ b/My project/Assets/Resources/DataAssets/Achievement.asset @@ -12,184 +12,245 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: b664cf36cbd74c59a853c45c232706b0, type: 3} m_Name: Achievement m_EditorClassIdentifier: - AchievementList: - - BigID: 2 - SmallID: 1 - InternalID: 1 - MapID: 0 - IsFinished: 0 - Name: "\u6211\u8981\u770B\u5230\u8840\u6D41\u6210\u6CB3!" - Desc: "\u7D2F\u8BA1\u53EC\u552410\u6B21" - _typeNames: - - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, - PublicKeyToken=null - _jsonData: - - '{"TargetCount":10,"TargetGiant":2,"TrainCount":0}' - - BigID: 2 - SmallID: 1 - InternalID: 2 - MapID: 0 - IsFinished: 0 - Name: "\u7329\u7EA2\u6CD5\u5EAD" - Desc: "\u7D2F\u8BA1\u53EC\u552420\u6B21" - _typeNames: - - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, - PublicKeyToken=null - _jsonData: - - '{"TargetCount":20,"TargetGiant":2,"TrainCount":0}' - - BigID: 2 - SmallID: 1 - InternalID: 3 - MapID: 0 - IsFinished: 0 - Name: "\u7EEF\u8272\u51A5\u6CB3\u4E4B\u4E3B" - Desc: "\u7D2F\u8BA1\u53EC\u552430\u6B21" - _typeNames: - - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, - PublicKeyToken=null - _jsonData: - - '{"TargetCount":30,"TargetGiant":2,"TrainCount":0}' - - BigID: 2 - SmallID: 2 - InternalID: 1 - MapID: 0 - IsFinished: 0 - Name: "\u54B3\u54B3,\u54B3\u54B3\u54B3" - Desc: "\u7D2F\u8BA1\u53EC\u552410\u6B21" - _typeNames: - - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, - PublicKeyToken=null - _jsonData: - - '{"TargetCount":10,"TargetGiant":5,"TrainCount":0}' - - BigID: 2 - SmallID: 2 - InternalID: 2 - MapID: 0 - IsFinished: 0 - Name: "\u4E0D\u52A8\u7684\u5927\u56FE\u4E66\u9986" - Desc: "\u7D2F\u8BA1\u53EC\u552420\u6B21" - _typeNames: - - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, - PublicKeyToken=null - _jsonData: - - '{"TargetCount":20,"TargetGiant":5,"TrainCount":0}' - - BigID: 2 - SmallID: 2 - InternalID: 3 - MapID: 0 - IsFinished: 0 - Name: "\u4E0E\u6BD2\u86C7\u5171\u7720" - Desc: "\u7D2F\u8BA1\u53EC\u552430\u6B21" - _typeNames: - - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, - PublicKeyToken=null - _jsonData: - - '{"TargetCount":1,"TargetGiant":5,"TrainCount":0}' - - BigID: 2 - SmallID: 3 - InternalID: 1 - MapID: 0 - IsFinished: 0 - Name: "\u53C8\u89C1\u9762\u4E86,\u5927\u5C0F\u59D0" - Desc: "\u7D2F\u8BA1\u53EC\u552410\u6B21" - _typeNames: - - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, - PublicKeyToken=null - _jsonData: - - '{"TargetCount":10,"TargetGiant":3,"TrainCount":0}' - - BigID: 2 - SmallID: 3 - InternalID: 2 - MapID: 0 - IsFinished: 0 - Name: "\u5B8C\u7F8E\u6F47\u6D12\u7684\u4ECE\u8005" - Desc: "\u7D2F\u8BA1\u53EC\u552420\u6B21" - _typeNames: - - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, - PublicKeyToken=null - _jsonData: - - '{"TargetCount":20,"TargetGiant":3,"TrainCount":0}' - - BigID: 2 - SmallID: 3 - InternalID: 3 - MapID: 0 - IsFinished: 0 - Name: "\u4E8E\u51A5\u6CB3\u5B88\u5019" - Desc: "\u7D2F\u8BA1\u53EC\u552430\u6B21" - _typeNames: - - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, - PublicKeyToken=null - _jsonData: - - '{"TargetCount":30,"TargetGiant":3,"TrainCount":0}' - - BigID: 2 - SmallID: 4 - InternalID: 1 - MapID: 0 - IsFinished: 0 - Name: "\u6BC1\u706D\u662F\u6211\u4EC5\u5269\u7684\u6E29\u67D4" - Desc: "\u7D2F\u8BA1\u53EC\u552410\u6B21" - _typeNames: - - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, - PublicKeyToken=null - _jsonData: - - '{"TargetCount":10,"TargetGiant":1,"TrainCount":0}' - - BigID: 2 - SmallID: 4 - InternalID: 2 - MapID: 0 - IsFinished: 0 - Name: "\u56DB\u91CD\u5B58\u5728" - Desc: "\u7D2F\u8BA1\u53EC\u552420\u6B21" - _typeNames: - - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, - PublicKeyToken=null - _jsonData: - - '{"TargetCount":20,"TargetGiant":1,"TrainCount":0}' - - BigID: 2 - SmallID: 4 - InternalID: 3 - MapID: 0 - IsFinished: 0 - Name: "\u5965\u897F\u91CC\u65AF\u4E4B\u6B7B" - Desc: "\u7D2F\u8BA1\u53EC\u552430\u6B21" - _typeNames: - - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, - PublicKeyToken=null - _jsonData: - - '{"TargetCount":30,"TargetGiant":1,"TrainCount":0}' - - BigID: 2 - SmallID: 5 - InternalID: 1 - MapID: 0 - IsFinished: 0 - Name: "\u6211\u8981\u625310\u4E2A" - Desc: "\u7D2F\u8BA1\u53EC\u552410\u6B21" - _typeNames: - - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, - PublicKeyToken=null - _jsonData: - - '{"TargetCount":10,"TargetGiant":4,"TrainCount":0}' - - BigID: 2 - SmallID: 5 - InternalID: 2 - MapID: 0 - IsFinished: 0 - Name: "\u5D29\u5C71\u5F69\u6781\u70AE" - Desc: "\u7D2F\u8BA1\u53EC\u552420\u6B21" - _typeNames: - - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, - PublicKeyToken=null - _jsonData: - - '{"TargetCount":20,"TargetGiant":4,"TrainCount":0}' - - BigID: 2 - SmallID: 5 - InternalID: 3 - MapID: 0 - IsFinished: 0 - Name: "\u8377\u9C81\u65AF\u7684\u590D\u4EC7" - Desc: "\u7D2F\u8BA1\u53EC\u552430\u6B21" - _typeNames: - - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, - PublicKeyToken=null - _jsonData: - - '{"TargetCount":30,"TargetGiant":4,"TrainCount":0}' + Data: + AchievementList: + - BigID: 1 + SmallID: 1 + InternalID: 1 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":2,"TrainCount":0}' + - BigID: 1 + SmallID: 1 + InternalID: 2 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":5,"TrainCount":0}' + - BigID: 1 + SmallID: 1 + InternalID: 3 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":3,"TrainCount":0}' + - BigID: 1 + SmallID: 1 + InternalID: 4 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":1,"TrainCount":0}' + - BigID: 1 + SmallID: 1 + InternalID: 5 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":4,"TrainCount":0}' + - BigID: 1 + SmallID: 2 + InternalID: 1 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":6,"TrainCount":0}' + - BigID: 1 + SmallID: 2 + InternalID: 2 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":9,"TrainCount":0}' + - BigID: 1 + SmallID: 2 + InternalID: 3 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":8,"TrainCount":0}' + - BigID: 1 + SmallID: 2 + InternalID: 4 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":7,"TrainCount":0}' + - BigID: 1 + SmallID: 2 + InternalID: 5 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":10,"TrainCount":0}' + - BigID: 1 + SmallID: 3 + InternalID: 1 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":11,"TrainCount":0}' + - BigID: 1 + SmallID: 3 + InternalID: 2 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":12,"TrainCount":0}' + - BigID: 1 + SmallID: 3 + InternalID: 3 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":13,"TrainCount":0}' + - BigID: 1 + SmallID: 3 + InternalID: 4 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":15,"TrainCount":0}' + - BigID: 1 + SmallID: 3 + InternalID: 5 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":14,"TrainCount":0}' + - BigID: 1 + SmallID: 4 + InternalID: 1 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":16,"TrainCount":0}' + - BigID: 1 + SmallID: 4 + InternalID: 2 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":17,"TrainCount":0}' + - BigID: 1 + SmallID: 4 + InternalID: 3 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":20,"TrainCount":0}' + - BigID: 1 + SmallID: 4 + InternalID: 4 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":19,"TrainCount":0}' + - BigID: 1 + SmallID: 4 + InternalID: 5 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":18,"TrainCount":0}' diff --git a/My project/Assets/Resources/Export/Achievement.asset b/My project/Assets/Resources/Export/Achievement.asset index 17338472c..d5e7dbb0b 100644 --- a/My project/Assets/Resources/Export/Achievement.asset +++ b/My project/Assets/Resources/Export/Achievement.asset @@ -12,184 +12,245 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: b664cf36cbd74c59a853c45c232706b0, type: 3} m_Name: Achievement m_EditorClassIdentifier: - AchievementList: - - BigID: 2 - SmallID: 1 - InternalID: 1 - MapID: 0 - IsFinished: 0 - Name: 1058 - Desc: 243 - _typeNames: - - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, - PublicKeyToken=null - _jsonData: - - '{"TargetCount":10,"TargetGiant":2,"TrainCount":0}' - - BigID: 2 - SmallID: 1 - InternalID: 2 - MapID: 0 - IsFinished: 0 - Name: 1059 - Desc: 1060 - _typeNames: - - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, - PublicKeyToken=null - _jsonData: - - '{"TargetCount":20,"TargetGiant":2,"TrainCount":0}' - - BigID: 2 - SmallID: 1 - InternalID: 3 - MapID: 0 - IsFinished: 0 - Name: 1061 - Desc: 1062 - _typeNames: - - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, - PublicKeyToken=null - _jsonData: - - '{"TargetCount":30,"TargetGiant":2,"TrainCount":0}' - - BigID: 2 - SmallID: 2 - InternalID: 1 - MapID: 0 - IsFinished: 0 - Name: 1063 - Desc: 243 - _typeNames: - - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, - PublicKeyToken=null - _jsonData: - - '{"TargetCount":10,"TargetGiant":5,"TrainCount":0}' - - BigID: 2 - SmallID: 2 - InternalID: 2 - MapID: 0 - IsFinished: 0 - Name: 1064 - Desc: 1060 - _typeNames: - - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, - PublicKeyToken=null - _jsonData: - - '{"TargetCount":20,"TargetGiant":5,"TrainCount":0}' - - BigID: 2 - SmallID: 2 - InternalID: 3 - MapID: 0 - IsFinished: 0 - Name: 1065 - Desc: 1062 - _typeNames: - - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, - PublicKeyToken=null - _jsonData: - - '{"TargetCount":1,"TargetGiant":5,"TrainCount":0}' - - BigID: 2 - SmallID: 3 - InternalID: 1 - MapID: 0 - IsFinished: 0 - Name: 1066 - Desc: 243 - _typeNames: - - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, - PublicKeyToken=null - _jsonData: - - '{"TargetCount":10,"TargetGiant":3,"TrainCount":0}' - - BigID: 2 - SmallID: 3 - InternalID: 2 - MapID: 0 - IsFinished: 0 - Name: 1067 - Desc: 1060 - _typeNames: - - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, - PublicKeyToken=null - _jsonData: - - '{"TargetCount":20,"TargetGiant":3,"TrainCount":0}' - - BigID: 2 - SmallID: 3 - InternalID: 3 - MapID: 0 - IsFinished: 0 - Name: 1068 - Desc: 1062 - _typeNames: - - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, - PublicKeyToken=null - _jsonData: - - '{"TargetCount":30,"TargetGiant":3,"TrainCount":0}' - - BigID: 2 - SmallID: 4 - InternalID: 1 - MapID: 0 - IsFinished: 0 - Name: 1069 - Desc: 243 - _typeNames: - - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, - PublicKeyToken=null - _jsonData: - - '{"TargetCount":10,"TargetGiant":1,"TrainCount":0}' - - BigID: 2 - SmallID: 4 - InternalID: 2 - MapID: 0 - IsFinished: 0 - Name: 1070 - Desc: 1060 - _typeNames: - - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, - PublicKeyToken=null - _jsonData: - - '{"TargetCount":20,"TargetGiant":1,"TrainCount":0}' - - BigID: 2 - SmallID: 4 - InternalID: 3 - MapID: 0 - IsFinished: 0 - Name: 1071 - Desc: 1062 - _typeNames: - - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, - PublicKeyToken=null - _jsonData: - - '{"TargetCount":30,"TargetGiant":1,"TrainCount":0}' - - BigID: 2 - SmallID: 5 - InternalID: 1 - MapID: 0 - IsFinished: 0 - Name: 1072 - Desc: 243 - _typeNames: - - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, - PublicKeyToken=null - _jsonData: - - '{"TargetCount":10,"TargetGiant":4,"TrainCount":0}' - - BigID: 2 - SmallID: 5 - InternalID: 2 - MapID: 0 - IsFinished: 0 - Name: 1073 - Desc: 1060 - _typeNames: - - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, - PublicKeyToken=null - _jsonData: - - '{"TargetCount":20,"TargetGiant":4,"TrainCount":0}' - - BigID: 2 - SmallID: 5 - InternalID: 3 - MapID: 0 - IsFinished: 0 - Name: 1074 - Desc: 1062 - _typeNames: - - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, - PublicKeyToken=null - _jsonData: - - '{"TargetCount":30,"TargetGiant":4,"TrainCount":0}' + Data: + AchievementList: + - BigID: 1 + SmallID: 1 + InternalID: 1 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":2,"TrainCount":0}' + - BigID: 1 + SmallID: 1 + InternalID: 2 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":5,"TrainCount":0}' + - BigID: 1 + SmallID: 1 + InternalID: 3 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":3,"TrainCount":0}' + - BigID: 1 + SmallID: 1 + InternalID: 4 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":1,"TrainCount":0}' + - BigID: 1 + SmallID: 1 + InternalID: 5 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":4,"TrainCount":0}' + - BigID: 1 + SmallID: 2 + InternalID: 1 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":6,"TrainCount":0}' + - BigID: 1 + SmallID: 2 + InternalID: 2 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":9,"TrainCount":0}' + - BigID: 1 + SmallID: 2 + InternalID: 3 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":8,"TrainCount":0}' + - BigID: 1 + SmallID: 2 + InternalID: 4 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":7,"TrainCount":0}' + - BigID: 1 + SmallID: 2 + InternalID: 5 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":10,"TrainCount":0}' + - BigID: 1 + SmallID: 3 + InternalID: 1 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":11,"TrainCount":0}' + - BigID: 1 + SmallID: 3 + InternalID: 2 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":12,"TrainCount":0}' + - BigID: 1 + SmallID: 3 + InternalID: 3 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":13,"TrainCount":0}' + - BigID: 1 + SmallID: 3 + InternalID: 4 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":15,"TrainCount":0}' + - BigID: 1 + SmallID: 3 + InternalID: 5 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":14,"TrainCount":0}' + - BigID: 1 + SmallID: 4 + InternalID: 1 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":16,"TrainCount":0}' + - BigID: 1 + SmallID: 4 + InternalID: 2 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":17,"TrainCount":0}' + - BigID: 1 + SmallID: 4 + InternalID: 3 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":20,"TrainCount":0}' + - BigID: 1 + SmallID: 4 + InternalID: 4 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":19,"TrainCount":0}' + - BigID: 1 + SmallID: 4 + InternalID: 5 + MapID: 0 + IsFinished: 0 + Name: + Desc: + _typeNames: + - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + _jsonData: + - '{"TargetCount":1,"TargetGiant":18,"TrainCount":0}' diff --git a/My project/Assets/Resources/Export/Achievement.asset.meta b/My project/Assets/Resources/Export/Achievement.asset.meta index d06be4e48..596510a88 100644 --- a/My project/Assets/Resources/Export/Achievement.asset.meta +++ b/My project/Assets/Resources/Export/Achievement.asset.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: d14e2e92aa0094340ab6ab5009e8bece +guid: 9809d699bbc76bf4995c7824cddd70af NativeFormatImporter: externalObjects: {} mainObjectFileID: 11400000 diff --git a/My project/Assets/Scripts/Logic/Achievement/AchievementAsset.cs b/My project/Assets/Scripts/Logic/Achievement/AchievementAsset.cs index fe046b7c6..a97352bf2 100644 --- a/My project/Assets/Scripts/Logic/Achievement/AchievementAsset.cs +++ b/My project/Assets/Scripts/Logic/Achievement/AchievementAsset.cs @@ -6,6 +6,7 @@ */ +using System; using System.Collections.Generic; using UnityEngine; @@ -13,12 +14,23 @@ using UnityEngine; namespace Logic.Achievement { public class AchievementAsset : ScriptableObject + { + public AchievementData Data; + + public AchievementAsset() + { + Data = new AchievementData(); + } + } + + [Serializable] + public class AchievementData { public List AchievementList; private Dictionary _achievementItems; - public AchievementAsset() + public AchievementData() { AchievementList = new List(); } diff --git a/My project/Assets/Scripts/Logic/Achievement/AchievementDataManager.cs b/My project/Assets/Scripts/Logic/Achievement/AchievementDataManager.cs index 101e99817..b76d3318a 100644 --- a/My project/Assets/Scripts/Logic/Achievement/AchievementDataManager.cs +++ b/My project/Assets/Scripts/Logic/Achievement/AchievementDataManager.cs @@ -17,7 +17,7 @@ namespace RuntimeData public class AchievementDataManager { public static AchievementDataManager Instance = new AchievementDataManager(); - public AchievementAsset Achievement; + public AchievementData Achievement; public List FinishedCache; @@ -27,12 +27,13 @@ namespace RuntimeData if (File.Exists(path)) { string json = File.ReadAllText(path); - Achievement = JsonUtility.FromJson(json); + Achievement = JsonUtility.FromJson(json); } if (Achievement == null) { - Achievement = Resources.Load("Export/Achievement"); + var asset = Resources.Load("Export/Achievement"); + Achievement = asset.Data; Achievement.ClearAchievementFinishedInfo(); } FinishedCache ??= new List(); diff --git a/My project/Assets/Scripts/Logic/Editor/AchievementEditorWindow.cs b/My project/Assets/Scripts/Logic/Editor/AchievementEditorWindow.cs index 3c5897fc0..7a72cf1a5 100644 --- a/My project/Assets/Scripts/Logic/Editor/AchievementEditorWindow.cs +++ b/My project/Assets/Scripts/Logic/Editor/AchievementEditorWindow.cs @@ -7,6 +7,7 @@ using System.Collections.Generic; +using System.IO; using Logic.Achievement; using NUnit.Framework; using RuntimeData; @@ -96,24 +97,28 @@ namespace Logic.Editor { foreach (var item in _itemList) { - _asset.AchievementList.Remove(item); + _asset.Data.AchievementList.Remove(item); } } - if (Application.isPlaying && InspectorUtils.InspectorButtonWithTextWidth("清空成就完成情况(运行时)")) + if (InspectorUtils.InspectorButtonWithTextWidth("清空成就")) + { + string filePath = Path.Combine(Application.persistentDataPath, "achievement.json"); + if (File.Exists(filePath)) File.Delete(filePath); + } + if (Application.isPlaying && InspectorUtils.InspectorButtonWithTextWidth("保存成就(运行时)")) { - AchievementDataManager.Instance.Achievement.ClearAchievementFinishedInfo(); AchievementDataManager.Instance.SaveAchievementData(); } if (_bigID != 0 && _smallID != 0) { if (InspectorUtils.InspectorButtonWithTextWidth("增加一条成就")) { - _asset.AddNewAchievementItem(_bigID, _smallID); + _asset.Data.AddNewAchievementItem(_bigID, _smallID); } } if (InspectorUtils.InspectorButtonWithTextWidth("刷新排序")) { - _asset.AchievementList.Sort((a, b) => a.ID.CompareTo(b.ID)); + _asset.Data.AchievementList.Sort((a, b) => a.ID.CompareTo(b.ID)); } if (InspectorUtils.InspectorButtonWithTextWidth("全选")) { @@ -163,15 +168,15 @@ namespace Logic.Editor item.BigID = 1; item.SmallID = (uint)(i / 5 + 1); item.InternalID = (uint)(i % 5 + 1); - if (_asset.GetAchievementItem(item.BigID, item.SmallID, item.InternalID) != null) continue; + if (_asset.Data.GetAchievementItem(item.BigID, item.SmallID, item.InternalID) != null) continue; var condition = new TrainGiantCondition(); condition.TargetCount = 1; condition.TargetGiant = giantList[i]; item.Conditions.Add(condition); - _asset.AchievementList.Add(item); - _asset.AchievementList.Sort((a, b) => a.ID.CompareTo(b.ID)); - _asset.RefreshAchievementDict(); + _asset.Data.AchievementList.Add(item); + _asset.Data.AchievementList.Sort((a, b) => a.ID.CompareTo(b.ID)); + _asset.Data.RefreshAchievementDict(); } } @@ -183,15 +188,15 @@ namespace Logic.Editor item.BigID = 3; item.SmallID = (uint)(i + 1); item.InternalID = 1; - if (_asset.GetAchievementItem(item.BigID, item.SmallID, item.InternalID) != null) continue; + if (_asset.Data.GetAchievementItem(item.BigID, item.SmallID, item.InternalID) != null) continue; var condition = new BuildWonderConditionCondition(); condition.TargetCount = 10; condition.Wonder = (WonderLibrary)i; item.Conditions.Add(condition); - _asset.AchievementList.Add(item); - _asset.AchievementList.Sort((a, b) => a.ID.CompareTo(b.ID)); - _asset.RefreshAchievementDict(); + _asset.Data.AchievementList.Add(item); + _asset.Data.AchievementList.Sort((a, b) => a.ID.CompareTo(b.ID)); + _asset.Data.RefreshAchievementDict(); } } @@ -207,7 +212,7 @@ namespace Logic.Editor _internalID = (uint)EditorGUILayout.IntField((int)_internalID, GUILayout.Width(20)); EditorGUILayout.EndHorizontal(); - _itemList = _asset.GetAchievementItemList(_bigID, _smallID, _internalID); + _itemList = _asset.Data.GetAchievementItemList(_bigID, _smallID, _internalID); var deleteSet = new HashSet(); foreach (var item in _itemList) { @@ -217,7 +222,7 @@ namespace Logic.Editor foreach (var item in deleteSet) { _showItem.Remove(item.ID); - _asset.AchievementList.Remove(item); + _asset.Data.AchievementList.Remove(item); } EditorGUILayout.EndScrollView();