修改成就序列化方式

This commit is contained in:
wuwenbo 2025-07-16 17:14:46 +08:00
parent e71d25f2db
commit abc518eedf
6 changed files with 522 additions and 382 deletions

View File

@ -12,184 +12,245 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: b664cf36cbd74c59a853c45c232706b0, type: 3} m_Script: {fileID: 11500000, guid: b664cf36cbd74c59a853c45c232706b0, type: 3}
m_Name: Achievement m_Name: Achievement
m_EditorClassIdentifier: m_EditorClassIdentifier:
AchievementList: Data:
- BigID: 2 AchievementList:
SmallID: 1 - BigID: 1
InternalID: 1 SmallID: 1
MapID: 0 InternalID: 1
IsFinished: 0 MapID: 0
Name: "\u6211\u8981\u770B\u5230\u8840\u6D41\u6210\u6CB3!" IsFinished: 0
Desc: "\u7D2F\u8BA1\u53EC\u552410\u6B21" Name:
_typeNames: Desc:
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, _typeNames:
PublicKeyToken=null - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0,
_jsonData: Culture=neutral, PublicKeyToken=null
- '{"TargetCount":10,"TargetGiant":2,"TrainCount":0}' _jsonData:
- BigID: 2 - '{"TargetCount":1,"TargetGiant":2,"TrainCount":0}'
SmallID: 1 - BigID: 1
InternalID: 2 SmallID: 1
MapID: 0 InternalID: 2
IsFinished: 0 MapID: 0
Name: "\u7329\u7EA2\u6CD5\u5EAD" IsFinished: 0
Desc: "\u7D2F\u8BA1\u53EC\u552420\u6B21" Name:
_typeNames: Desc:
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, _typeNames:
PublicKeyToken=null - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0,
_jsonData: Culture=neutral, PublicKeyToken=null
- '{"TargetCount":20,"TargetGiant":2,"TrainCount":0}' _jsonData:
- BigID: 2 - '{"TargetCount":1,"TargetGiant":5,"TrainCount":0}'
SmallID: 1 - BigID: 1
InternalID: 3 SmallID: 1
MapID: 0 InternalID: 3
IsFinished: 0 MapID: 0
Name: "\u7EEF\u8272\u51A5\u6CB3\u4E4B\u4E3B" IsFinished: 0
Desc: "\u7D2F\u8BA1\u53EC\u552430\u6B21" Name:
_typeNames: Desc:
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, _typeNames:
PublicKeyToken=null - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0,
_jsonData: Culture=neutral, PublicKeyToken=null
- '{"TargetCount":30,"TargetGiant":2,"TrainCount":0}' _jsonData:
- BigID: 2 - '{"TargetCount":1,"TargetGiant":3,"TrainCount":0}'
SmallID: 2 - BigID: 1
InternalID: 1 SmallID: 1
MapID: 0 InternalID: 4
IsFinished: 0 MapID: 0
Name: "\u54B3\u54B3,\u54B3\u54B3\u54B3" IsFinished: 0
Desc: "\u7D2F\u8BA1\u53EC\u552410\u6B21" Name:
_typeNames: Desc:
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, _typeNames:
PublicKeyToken=null - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0,
_jsonData: Culture=neutral, PublicKeyToken=null
- '{"TargetCount":10,"TargetGiant":5,"TrainCount":0}' _jsonData:
- BigID: 2 - '{"TargetCount":1,"TargetGiant":1,"TrainCount":0}'
SmallID: 2 - BigID: 1
InternalID: 2 SmallID: 1
MapID: 0 InternalID: 5
IsFinished: 0 MapID: 0
Name: "\u4E0D\u52A8\u7684\u5927\u56FE\u4E66\u9986" IsFinished: 0
Desc: "\u7D2F\u8BA1\u53EC\u552420\u6B21" Name:
_typeNames: Desc:
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, _typeNames:
PublicKeyToken=null - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0,
_jsonData: Culture=neutral, PublicKeyToken=null
- '{"TargetCount":20,"TargetGiant":5,"TrainCount":0}' _jsonData:
- BigID: 2 - '{"TargetCount":1,"TargetGiant":4,"TrainCount":0}'
SmallID: 2 - BigID: 1
InternalID: 3 SmallID: 2
MapID: 0 InternalID: 1
IsFinished: 0 MapID: 0
Name: "\u4E0E\u6BD2\u86C7\u5171\u7720" IsFinished: 0
Desc: "\u7D2F\u8BA1\u53EC\u552430\u6B21" Name:
_typeNames: Desc:
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, _typeNames:
PublicKeyToken=null - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0,
_jsonData: Culture=neutral, PublicKeyToken=null
- '{"TargetCount":1,"TargetGiant":5,"TrainCount":0}' _jsonData:
- BigID: 2 - '{"TargetCount":1,"TargetGiant":6,"TrainCount":0}'
SmallID: 3 - BigID: 1
InternalID: 1 SmallID: 2
MapID: 0 InternalID: 2
IsFinished: 0 MapID: 0
Name: "\u53C8\u89C1\u9762\u4E86,\u5927\u5C0F\u59D0" IsFinished: 0
Desc: "\u7D2F\u8BA1\u53EC\u552410\u6B21" Name:
_typeNames: Desc:
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, _typeNames:
PublicKeyToken=null - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0,
_jsonData: Culture=neutral, PublicKeyToken=null
- '{"TargetCount":10,"TargetGiant":3,"TrainCount":0}' _jsonData:
- BigID: 2 - '{"TargetCount":1,"TargetGiant":9,"TrainCount":0}'
SmallID: 3 - BigID: 1
InternalID: 2 SmallID: 2
MapID: 0 InternalID: 3
IsFinished: 0 MapID: 0
Name: "\u5B8C\u7F8E\u6F47\u6D12\u7684\u4ECE\u8005" IsFinished: 0
Desc: "\u7D2F\u8BA1\u53EC\u552420\u6B21" Name:
_typeNames: Desc:
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, _typeNames:
PublicKeyToken=null - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0,
_jsonData: Culture=neutral, PublicKeyToken=null
- '{"TargetCount":20,"TargetGiant":3,"TrainCount":0}' _jsonData:
- BigID: 2 - '{"TargetCount":1,"TargetGiant":8,"TrainCount":0}'
SmallID: 3 - BigID: 1
InternalID: 3 SmallID: 2
MapID: 0 InternalID: 4
IsFinished: 0 MapID: 0
Name: "\u4E8E\u51A5\u6CB3\u5B88\u5019" IsFinished: 0
Desc: "\u7D2F\u8BA1\u53EC\u552430\u6B21" Name:
_typeNames: Desc:
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, _typeNames:
PublicKeyToken=null - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0,
_jsonData: Culture=neutral, PublicKeyToken=null
- '{"TargetCount":30,"TargetGiant":3,"TrainCount":0}' _jsonData:
- BigID: 2 - '{"TargetCount":1,"TargetGiant":7,"TrainCount":0}'
SmallID: 4 - BigID: 1
InternalID: 1 SmallID: 2
MapID: 0 InternalID: 5
IsFinished: 0 MapID: 0
Name: "\u6BC1\u706D\u662F\u6211\u4EC5\u5269\u7684\u6E29\u67D4" IsFinished: 0
Desc: "\u7D2F\u8BA1\u53EC\u552410\u6B21" Name:
_typeNames: Desc:
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, _typeNames:
PublicKeyToken=null - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0,
_jsonData: Culture=neutral, PublicKeyToken=null
- '{"TargetCount":10,"TargetGiant":1,"TrainCount":0}' _jsonData:
- BigID: 2 - '{"TargetCount":1,"TargetGiant":10,"TrainCount":0}'
SmallID: 4 - BigID: 1
InternalID: 2 SmallID: 3
MapID: 0 InternalID: 1
IsFinished: 0 MapID: 0
Name: "\u56DB\u91CD\u5B58\u5728" IsFinished: 0
Desc: "\u7D2F\u8BA1\u53EC\u552420\u6B21" Name:
_typeNames: Desc:
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, _typeNames:
PublicKeyToken=null - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0,
_jsonData: Culture=neutral, PublicKeyToken=null
- '{"TargetCount":20,"TargetGiant":1,"TrainCount":0}' _jsonData:
- BigID: 2 - '{"TargetCount":1,"TargetGiant":11,"TrainCount":0}'
SmallID: 4 - BigID: 1
InternalID: 3 SmallID: 3
MapID: 0 InternalID: 2
IsFinished: 0 MapID: 0
Name: "\u5965\u897F\u91CC\u65AF\u4E4B\u6B7B" IsFinished: 0
Desc: "\u7D2F\u8BA1\u53EC\u552430\u6B21" Name:
_typeNames: Desc:
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, _typeNames:
PublicKeyToken=null - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0,
_jsonData: Culture=neutral, PublicKeyToken=null
- '{"TargetCount":30,"TargetGiant":1,"TrainCount":0}' _jsonData:
- BigID: 2 - '{"TargetCount":1,"TargetGiant":12,"TrainCount":0}'
SmallID: 5 - BigID: 1
InternalID: 1 SmallID: 3
MapID: 0 InternalID: 3
IsFinished: 0 MapID: 0
Name: "\u6211\u8981\u625310\u4E2A" IsFinished: 0
Desc: "\u7D2F\u8BA1\u53EC\u552410\u6B21" Name:
_typeNames: Desc:
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, _typeNames:
PublicKeyToken=null - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0,
_jsonData: Culture=neutral, PublicKeyToken=null
- '{"TargetCount":10,"TargetGiant":4,"TrainCount":0}' _jsonData:
- BigID: 2 - '{"TargetCount":1,"TargetGiant":13,"TrainCount":0}'
SmallID: 5 - BigID: 1
InternalID: 2 SmallID: 3
MapID: 0 InternalID: 4
IsFinished: 0 MapID: 0
Name: "\u5D29\u5C71\u5F69\u6781\u70AE" IsFinished: 0
Desc: "\u7D2F\u8BA1\u53EC\u552420\u6B21" Name:
_typeNames: Desc:
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, _typeNames:
PublicKeyToken=null - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0,
_jsonData: Culture=neutral, PublicKeyToken=null
- '{"TargetCount":20,"TargetGiant":4,"TrainCount":0}' _jsonData:
- BigID: 2 - '{"TargetCount":1,"TargetGiant":15,"TrainCount":0}'
SmallID: 5 - BigID: 1
InternalID: 3 SmallID: 3
MapID: 0 InternalID: 5
IsFinished: 0 MapID: 0
Name: "\u8377\u9C81\u65AF\u7684\u590D\u4EC7" IsFinished: 0
Desc: "\u7D2F\u8BA1\u53EC\u552430\u6B21" Name:
_typeNames: Desc:
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, _typeNames:
PublicKeyToken=null - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0,
_jsonData: Culture=neutral, PublicKeyToken=null
- '{"TargetCount":30,"TargetGiant":4,"TrainCount":0}' _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}'

View File

@ -12,184 +12,245 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: b664cf36cbd74c59a853c45c232706b0, type: 3} m_Script: {fileID: 11500000, guid: b664cf36cbd74c59a853c45c232706b0, type: 3}
m_Name: Achievement m_Name: Achievement
m_EditorClassIdentifier: m_EditorClassIdentifier:
AchievementList: Data:
- BigID: 2 AchievementList:
SmallID: 1 - BigID: 1
InternalID: 1 SmallID: 1
MapID: 0 InternalID: 1
IsFinished: 0 MapID: 0
Name: 1058 IsFinished: 0
Desc: 243 Name:
_typeNames: Desc:
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, _typeNames:
PublicKeyToken=null - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0,
_jsonData: Culture=neutral, PublicKeyToken=null
- '{"TargetCount":10,"TargetGiant":2,"TrainCount":0}' _jsonData:
- BigID: 2 - '{"TargetCount":1,"TargetGiant":2,"TrainCount":0}'
SmallID: 1 - BigID: 1
InternalID: 2 SmallID: 1
MapID: 0 InternalID: 2
IsFinished: 0 MapID: 0
Name: 1059 IsFinished: 0
Desc: 1060 Name:
_typeNames: Desc:
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, _typeNames:
PublicKeyToken=null - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0,
_jsonData: Culture=neutral, PublicKeyToken=null
- '{"TargetCount":20,"TargetGiant":2,"TrainCount":0}' _jsonData:
- BigID: 2 - '{"TargetCount":1,"TargetGiant":5,"TrainCount":0}'
SmallID: 1 - BigID: 1
InternalID: 3 SmallID: 1
MapID: 0 InternalID: 3
IsFinished: 0 MapID: 0
Name: 1061 IsFinished: 0
Desc: 1062 Name:
_typeNames: Desc:
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, _typeNames:
PublicKeyToken=null - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0,
_jsonData: Culture=neutral, PublicKeyToken=null
- '{"TargetCount":30,"TargetGiant":2,"TrainCount":0}' _jsonData:
- BigID: 2 - '{"TargetCount":1,"TargetGiant":3,"TrainCount":0}'
SmallID: 2 - BigID: 1
InternalID: 1 SmallID: 1
MapID: 0 InternalID: 4
IsFinished: 0 MapID: 0
Name: 1063 IsFinished: 0
Desc: 243 Name:
_typeNames: Desc:
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, _typeNames:
PublicKeyToken=null - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0,
_jsonData: Culture=neutral, PublicKeyToken=null
- '{"TargetCount":10,"TargetGiant":5,"TrainCount":0}' _jsonData:
- BigID: 2 - '{"TargetCount":1,"TargetGiant":1,"TrainCount":0}'
SmallID: 2 - BigID: 1
InternalID: 2 SmallID: 1
MapID: 0 InternalID: 5
IsFinished: 0 MapID: 0
Name: 1064 IsFinished: 0
Desc: 1060 Name:
_typeNames: Desc:
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, _typeNames:
PublicKeyToken=null - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0,
_jsonData: Culture=neutral, PublicKeyToken=null
- '{"TargetCount":20,"TargetGiant":5,"TrainCount":0}' _jsonData:
- BigID: 2 - '{"TargetCount":1,"TargetGiant":4,"TrainCount":0}'
SmallID: 2 - BigID: 1
InternalID: 3 SmallID: 2
MapID: 0 InternalID: 1
IsFinished: 0 MapID: 0
Name: 1065 IsFinished: 0
Desc: 1062 Name:
_typeNames: Desc:
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, _typeNames:
PublicKeyToken=null - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0,
_jsonData: Culture=neutral, PublicKeyToken=null
- '{"TargetCount":1,"TargetGiant":5,"TrainCount":0}' _jsonData:
- BigID: 2 - '{"TargetCount":1,"TargetGiant":6,"TrainCount":0}'
SmallID: 3 - BigID: 1
InternalID: 1 SmallID: 2
MapID: 0 InternalID: 2
IsFinished: 0 MapID: 0
Name: 1066 IsFinished: 0
Desc: 243 Name:
_typeNames: Desc:
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, _typeNames:
PublicKeyToken=null - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0,
_jsonData: Culture=neutral, PublicKeyToken=null
- '{"TargetCount":10,"TargetGiant":3,"TrainCount":0}' _jsonData:
- BigID: 2 - '{"TargetCount":1,"TargetGiant":9,"TrainCount":0}'
SmallID: 3 - BigID: 1
InternalID: 2 SmallID: 2
MapID: 0 InternalID: 3
IsFinished: 0 MapID: 0
Name: 1067 IsFinished: 0
Desc: 1060 Name:
_typeNames: Desc:
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, _typeNames:
PublicKeyToken=null - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0,
_jsonData: Culture=neutral, PublicKeyToken=null
- '{"TargetCount":20,"TargetGiant":3,"TrainCount":0}' _jsonData:
- BigID: 2 - '{"TargetCount":1,"TargetGiant":8,"TrainCount":0}'
SmallID: 3 - BigID: 1
InternalID: 3 SmallID: 2
MapID: 0 InternalID: 4
IsFinished: 0 MapID: 0
Name: 1068 IsFinished: 0
Desc: 1062 Name:
_typeNames: Desc:
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, _typeNames:
PublicKeyToken=null - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0,
_jsonData: Culture=neutral, PublicKeyToken=null
- '{"TargetCount":30,"TargetGiant":3,"TrainCount":0}' _jsonData:
- BigID: 2 - '{"TargetCount":1,"TargetGiant":7,"TrainCount":0}'
SmallID: 4 - BigID: 1
InternalID: 1 SmallID: 2
MapID: 0 InternalID: 5
IsFinished: 0 MapID: 0
Name: 1069 IsFinished: 0
Desc: 243 Name:
_typeNames: Desc:
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, _typeNames:
PublicKeyToken=null - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0,
_jsonData: Culture=neutral, PublicKeyToken=null
- '{"TargetCount":10,"TargetGiant":1,"TrainCount":0}' _jsonData:
- BigID: 2 - '{"TargetCount":1,"TargetGiant":10,"TrainCount":0}'
SmallID: 4 - BigID: 1
InternalID: 2 SmallID: 3
MapID: 0 InternalID: 1
IsFinished: 0 MapID: 0
Name: 1070 IsFinished: 0
Desc: 1060 Name:
_typeNames: Desc:
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, _typeNames:
PublicKeyToken=null - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0,
_jsonData: Culture=neutral, PublicKeyToken=null
- '{"TargetCount":20,"TargetGiant":1,"TrainCount":0}' _jsonData:
- BigID: 2 - '{"TargetCount":1,"TargetGiant":11,"TrainCount":0}'
SmallID: 4 - BigID: 1
InternalID: 3 SmallID: 3
MapID: 0 InternalID: 2
IsFinished: 0 MapID: 0
Name: 1071 IsFinished: 0
Desc: 1062 Name:
_typeNames: Desc:
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, _typeNames:
PublicKeyToken=null - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0,
_jsonData: Culture=neutral, PublicKeyToken=null
- '{"TargetCount":30,"TargetGiant":1,"TrainCount":0}' _jsonData:
- BigID: 2 - '{"TargetCount":1,"TargetGiant":12,"TrainCount":0}'
SmallID: 5 - BigID: 1
InternalID: 1 SmallID: 3
MapID: 0 InternalID: 3
IsFinished: 0 MapID: 0
Name: 1072 IsFinished: 0
Desc: 243 Name:
_typeNames: Desc:
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, _typeNames:
PublicKeyToken=null - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0,
_jsonData: Culture=neutral, PublicKeyToken=null
- '{"TargetCount":10,"TargetGiant":4,"TrainCount":0}' _jsonData:
- BigID: 2 - '{"TargetCount":1,"TargetGiant":13,"TrainCount":0}'
SmallID: 5 - BigID: 1
InternalID: 2 SmallID: 3
MapID: 0 InternalID: 4
IsFinished: 0 MapID: 0
Name: 1073 IsFinished: 0
Desc: 1060 Name:
_typeNames: Desc:
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, _typeNames:
PublicKeyToken=null - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0,
_jsonData: Culture=neutral, PublicKeyToken=null
- '{"TargetCount":20,"TargetGiant":4,"TrainCount":0}' _jsonData:
- BigID: 2 - '{"TargetCount":1,"TargetGiant":15,"TrainCount":0}'
SmallID: 5 - BigID: 1
InternalID: 3 SmallID: 3
MapID: 0 InternalID: 5
IsFinished: 0 MapID: 0
Name: 1074 IsFinished: 0
Desc: 1062 Name:
_typeNames: Desc:
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, _typeNames:
PublicKeyToken=null - Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0,
_jsonData: Culture=neutral, PublicKeyToken=null
- '{"TargetCount":30,"TargetGiant":4,"TrainCount":0}' _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}'

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: d14e2e92aa0094340ab6ab5009e8bece guid: 9809d699bbc76bf4995c7824cddd70af
NativeFormatImporter: NativeFormatImporter:
externalObjects: {} externalObjects: {}
mainObjectFileID: 11400000 mainObjectFileID: 11400000

View File

@ -6,6 +6,7 @@
*/ */
using System;
using System.Collections.Generic; using System.Collections.Generic;
using UnityEngine; using UnityEngine;
@ -13,12 +14,23 @@ using UnityEngine;
namespace Logic.Achievement namespace Logic.Achievement
{ {
public class AchievementAsset : ScriptableObject public class AchievementAsset : ScriptableObject
{
public AchievementData Data;
public AchievementAsset()
{
Data = new AchievementData();
}
}
[Serializable]
public class AchievementData
{ {
public List<AchievementItem> AchievementList; public List<AchievementItem> AchievementList;
private Dictionary<uint, AchievementItem> _achievementItems; private Dictionary<uint, AchievementItem> _achievementItems;
public AchievementAsset() public AchievementData()
{ {
AchievementList = new List<AchievementItem>(); AchievementList = new List<AchievementItem>();
} }

View File

@ -17,7 +17,7 @@ namespace RuntimeData
public class AchievementDataManager public class AchievementDataManager
{ {
public static AchievementDataManager Instance = new AchievementDataManager(); public static AchievementDataManager Instance = new AchievementDataManager();
public AchievementAsset Achievement; public AchievementData Achievement;
public List<uint> FinishedCache; public List<uint> FinishedCache;
@ -27,12 +27,13 @@ namespace RuntimeData
if (File.Exists(path)) if (File.Exists(path))
{ {
string json = File.ReadAllText(path); string json = File.ReadAllText(path);
Achievement = JsonUtility.FromJson<AchievementAsset>(json); Achievement = JsonUtility.FromJson<AchievementData>(json);
} }
if (Achievement == null) if (Achievement == null)
{ {
Achievement = Resources.Load<AchievementAsset>("Export/Achievement"); var asset = Resources.Load<AchievementAsset>("Export/Achievement");
Achievement = asset.Data;
Achievement.ClearAchievementFinishedInfo(); Achievement.ClearAchievementFinishedInfo();
} }
FinishedCache ??= new List<uint>(); FinishedCache ??= new List<uint>();

View File

@ -7,6 +7,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.IO;
using Logic.Achievement; using Logic.Achievement;
using NUnit.Framework; using NUnit.Framework;
using RuntimeData; using RuntimeData;
@ -96,24 +97,28 @@ namespace Logic.Editor
{ {
foreach (var item in _itemList) 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(); AchievementDataManager.Instance.SaveAchievementData();
} }
if (_bigID != 0 && _smallID != 0) if (_bigID != 0 && _smallID != 0)
{ {
if (InspectorUtils.InspectorButtonWithTextWidth("增加一条成就")) if (InspectorUtils.InspectorButtonWithTextWidth("增加一条成就"))
{ {
_asset.AddNewAchievementItem(_bigID, _smallID); _asset.Data.AddNewAchievementItem(_bigID, _smallID);
} }
} }
if (InspectorUtils.InspectorButtonWithTextWidth("刷新排序")) 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("全选")) if (InspectorUtils.InspectorButtonWithTextWidth("全选"))
{ {
@ -163,15 +168,15 @@ namespace Logic.Editor
item.BigID = 1; item.BigID = 1;
item.SmallID = (uint)(i / 5 + 1); item.SmallID = (uint)(i / 5 + 1);
item.InternalID = (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(); var condition = new TrainGiantCondition();
condition.TargetCount = 1; condition.TargetCount = 1;
condition.TargetGiant = giantList[i]; condition.TargetGiant = giantList[i];
item.Conditions.Add(condition); item.Conditions.Add(condition);
_asset.AchievementList.Add(item); _asset.Data.AchievementList.Add(item);
_asset.AchievementList.Sort((a, b) => a.ID.CompareTo(b.ID)); _asset.Data.AchievementList.Sort((a, b) => a.ID.CompareTo(b.ID));
_asset.RefreshAchievementDict(); _asset.Data.RefreshAchievementDict();
} }
} }
@ -183,15 +188,15 @@ namespace Logic.Editor
item.BigID = 3; item.BigID = 3;
item.SmallID = (uint)(i + 1); item.SmallID = (uint)(i + 1);
item.InternalID = 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(); var condition = new BuildWonderConditionCondition();
condition.TargetCount = 10; condition.TargetCount = 10;
condition.Wonder = (WonderLibrary)i; condition.Wonder = (WonderLibrary)i;
item.Conditions.Add(condition); item.Conditions.Add(condition);
_asset.AchievementList.Add(item); _asset.Data.AchievementList.Add(item);
_asset.AchievementList.Sort((a, b) => a.ID.CompareTo(b.ID)); _asset.Data.AchievementList.Sort((a, b) => a.ID.CompareTo(b.ID));
_asset.RefreshAchievementDict(); _asset.Data.RefreshAchievementDict();
} }
} }
@ -207,7 +212,7 @@ namespace Logic.Editor
_internalID = (uint)EditorGUILayout.IntField((int)_internalID, GUILayout.Width(20)); _internalID = (uint)EditorGUILayout.IntField((int)_internalID, GUILayout.Width(20));
EditorGUILayout.EndHorizontal(); EditorGUILayout.EndHorizontal();
_itemList = _asset.GetAchievementItemList(_bigID, _smallID, _internalID); _itemList = _asset.Data.GetAchievementItemList(_bigID, _smallID, _internalID);
var deleteSet = new HashSet<AchievementItem>(); var deleteSet = new HashSet<AchievementItem>();
foreach (var item in _itemList) foreach (var item in _itemList)
{ {
@ -217,7 +222,7 @@ namespace Logic.Editor
foreach (var item in deleteSet) foreach (var item in deleteSet)
{ {
_showItem.Remove(item.ID); _showItem.Remove(item.ID);
_asset.AchievementList.Remove(item); _asset.Data.AchievementList.Remove(item);
} }
EditorGUILayout.EndScrollView(); EditorGUILayout.EndScrollView();