修了不少东西
@@ -0,0 +1,24 @@
|
||||
<linker>
|
||||
<assembly fullname="Unity.Addressables, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" preserve="all">
|
||||
<type fullname="UnityEngine.AddressableAssets.Addressables" preserve="all" />
|
||||
</assembly>
|
||||
<assembly fullname="Unity.Localization, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null">
|
||||
<type fullname="UnityEngine.Localization.Locale" preserve="all" />
|
||||
<type fullname="UnityEngine.Localization.Tables.SharedTableData" preserve="all" />
|
||||
<type fullname="UnityEngine.Localization.Tables.StringTable" preserve="all" />
|
||||
<type fullname="UnityEngine.Localization.LocaleIdentifier" preserve="nothing" serialized="true" />
|
||||
<type fullname="UnityEngine.Localization.Metadata.MetadataCollection" preserve="nothing" serialized="true" />
|
||||
<type fullname="UnityEngine.Localization.Tables.TableEntryData" preserve="nothing" serialized="true" />
|
||||
<type fullname="UnityEngine.Localization.Tables.DistributedUIDGenerator" preserve="nothing" serialized="true" />
|
||||
<type fullname="UnityEngine.Localization.Tables.SharedTableData/SharedTableEntry" preserve="nothing" serialized="true" />
|
||||
</assembly>
|
||||
<assembly fullname="Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" preserve="all">
|
||||
<type fullname="UnityEngine.ResourceManagement.ResourceProviders.AssetBundleProvider" preserve="all" />
|
||||
<type fullname="UnityEngine.ResourceManagement.ResourceProviders.BundledAssetProvider" preserve="all" />
|
||||
<type fullname="UnityEngine.ResourceManagement.ResourceProviders.InstanceProvider" preserve="all" />
|
||||
<type fullname="UnityEngine.ResourceManagement.ResourceProviders.SceneProvider" preserve="all" />
|
||||
</assembly>
|
||||
<assembly fullname="UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null">
|
||||
<type fullname="UnityEngine.Object" preserve="all" />
|
||||
</assembly>
|
||||
</linker>
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2664c414003fece4d86a470c718331e1
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -21,7 +21,7 @@ TextureImporter:
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
isReadable: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
|
||||
@@ -23,7 +23,7 @@ MonoBehaviour:
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579959
|
||||
m_Localized: Currency amount has reached the upper limit
|
||||
m_Localized: 算力数量已达到上限
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762727190529
|
||||
@@ -341,7 +341,7 @@ MonoBehaviour:
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579961
|
||||
m_Localized: Failed to grant "Yalimengli Raw Ore"
|
||||
m_Localized: Failed to grant "记忆碎片"
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762727190604
|
||||
@@ -462,7 +462,7 @@ MonoBehaviour:
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762727190694
|
||||
m_Localized: Yalimengli Raw Ore
|
||||
m_Localized: 记忆碎片
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762727190632
|
||||
@@ -1420,7 +1420,7 @@ MonoBehaviour:
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579991
|
||||
m_Localized: Currency amount has reached the upper limit
|
||||
m_Localized: 算力数量已达到上限
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579992
|
||||
@@ -1472,13 +1472,12 @@ MonoBehaviour:
|
||||
code(1): operation intercepted
|
||||
|
||||
Failed
|
||||
to grant "Yalimengli Raw Ore"
|
||||
to grant "记忆碎片"
|
||||
|
||||
|
||||
The server has forbidden reward distribution
|
||||
|
||||
Currency
|
||||
amount has reached the upper limit'
|
||||
\u7B97\u529B\u6570\u91CF\u5DF2\u8FBE\u5230\u4E0A\u9650'
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735580003
|
||||
@@ -2169,7 +2168,7 @@ MonoBehaviour:
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762727191008
|
||||
m_Localized: "\u201C\u4E13\u5458\u7B49\u7EA7\u7279\u6280\u201D\n\n\u73A9\u5BB6\u6BCF\u5230\u8FBE\u4E00\u4E2A\u7B49\u7EA7\uFF0C\u53EF\u89E3\u9501\u4E00\u4E2A\u7279\u522B\u7684\u4E13\u5458\u7B49\u7EA7\u6280\u80FD\uFF0C\u8FD9\u4E9B\u6280\u80FD\u53EF\u4F5C\u7528\u4E8E\u5404\u79CD\u65B9\u9762\uFF0C\u60A8\u53EF\u4EE5\u968F\u610F\u5207\u6362\u5DF2\u89E3\u9501\u7684\u6280\u80FD\uFF0C\u83B7\u5F97\u610F\u60F3\u4E0D\u5230\u7684\u5947\u6548\u3002\n\n\u6BCF\u6B21\u5207\u6362\uFF0C\u9700\u8981\u82B1\u8D39<b>\u6700\u5927\u91D1\u5E01\u7684<color=red>1%</color></b>\n\uFF08<color=red>\u6700\u5C11\u82B1\u8D39200\u8D27\u5E01</color>\uFF09\u3002\u66F4\u6362\u4E00\u6B21\u4E13\u5458\u6280\u80FD\u540E\uFF0C\u987B\u7B49\u5F85<b>3</b>\u573A\u6BD4\u8D5B\u51B7\u5374\u540E\u65B9\u53EF\u518D\u6B21\u5207\u6362\u3002"
|
||||
m_Localized: "\u201C\u4E13\u5458\u7B49\u7EA7\u7279\u6280\u201D\n\n\u73A9\u5BB6\u6BCF\u5230\u8FBE\u4E00\u4E2A\u7B49\u7EA7\uFF0C\u53EF\u89E3\u9501\u4E00\u4E2A\u7279\u522B\u7684\u4E13\u5458\u7B49\u7EA7\u6280\u80FD\uFF0C\u8FD9\u4E9B\u6280\u80FD\u53EF\u4F5C\u7528\u4E8E\u5404\u79CD\u65B9\u9762\uFF0C\u60A8\u53EF\u4EE5\u968F\u610F\u5207\u6362\u5DF2\u89E3\u9501\u7684\u6280\u80FD\uFF0C\u83B7\u5F97\u610F\u60F3\u4E0D\u5230\u7684\u5947\u6548\u3002\n\n\u6BCF\u6B21\u5207\u6362\uFF0C\u9700\u8981\u82B1\u8D39<b>\u6700\u5927\u7B97\u529B\u7684<color=red>1%</color></b>\n\uFF08<color=red>\u6700\u5C11\u82B1\u8D39200\u7B97\u529B</color>\uFF09\u3002\u66F4\u6362\u4E00\u6B21\u4E13\u5458\u6280\u80FD\u540E\uFF0C\u987B\u7B49\u5F85<b>3</b>\u573A\u6BD4\u8D5B\u51B7\u5374\u540E\u65B9\u53EF\u518D\u6B21\u5207\u6362\u3002"
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762727191009
|
||||
@@ -7281,7 +7280,7 @@ MonoBehaviour:
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762731385361
|
||||
m_Localized: "\u5141\u8BB8\u4F60\u4EE510\u91D1\u5E01\u8D2D\u4E701\u4E2A\u8BB0\u5FC6\u788E\u7247\u3002\u88C5\u5907\u6B64\u6280\u80FD\u65F6\u53EF\u4E8E\u5546\u5E97\u89E3\u9501\u4E00\u4E2A\u8D2D\u4E70\u9009\u9879\u3002"
|
||||
m_Localized: "\u5141\u8BB8\u4F60\u4EE510\u7B97\u529B\u8D2D\u4E701\u4E2A\u8BB0\u5FC6\u788E\u7247\u3002\u88C5\u5907\u6B64\u6280\u80FD\u65F6\u53EF\u4E8E\u5546\u5E97\u89E3\u9501\u4E00\u4E2A\u8D2D\u4E70\u9009\u9879\u3002"
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762731385362
|
||||
@@ -7293,7 +7292,7 @@ MonoBehaviour:
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762731385364
|
||||
m_Localized: "\u5141\u8BB8\u4F60\u5C061\u4E2A\u8BB0\u5FC6\u788E\u7247\u4EE54\u91D1\u5E01\u552E\u51FA\u3002\u88C5\u5907\u6B64\u6280\u80FD\u65F6\u53EF\u4E8E\u5546\u5E97\u89E3\u9501\u4E00\u4E2A\u8D2D\u4E70\u9009\u9879\u3002"
|
||||
m_Localized: "\u5141\u8BB8\u4F60\u5C061\u4E2A\u8BB0\u5FC6\u788E\u7247\u4EE54\u7B97\u529B\u552E\u51FA\u3002\u88C5\u5907\u6B64\u6280\u80FD\u65F6\u53EF\u4E8E\u5546\u5E97\u89E3\u9501\u4E00\u4E2A\u8D2D\u4E70\u9009\u9879\u3002"
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762731385365
|
||||
@@ -7357,7 +7356,7 @@ MonoBehaviour:
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762731385380
|
||||
m_Localized: "\u7ED3\u7B97\u65F6\uFF0C\u83B7\u5F97\u5076\u50CF\u5206\u65702\u2030\u7684\u91D1\u5E01\u3002"
|
||||
m_Localized: "\u7ED3\u7B97\u65F6\uFF0C\u83B7\u5F97\u5076\u50CF\u5206\u65702\u2030\u7684\u7B97\u529B\u3002"
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762731385381
|
||||
@@ -8793,7 +8792,7 @@ MonoBehaviour:
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579333
|
||||
m_Localized: "\u7D2F\u8BA1\u83B7\u5F97100\u91D1\u5E01"
|
||||
m_Localized: "\u7D2F\u8BA1\u83B7\u5F97100\u7B97\u529B"
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579334
|
||||
@@ -8801,27 +8800,27 @@ MonoBehaviour:
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579335
|
||||
m_Localized: "\u7D2F\u8BA1\u83B7\u5F971000\u91D1\u5E01"
|
||||
m_Localized: "\u7D2F\u8BA1\u83B7\u5F971000\u7B97\u529B"
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579336
|
||||
m_Localized: "\u7D2F\u8BA1\u83B7\u5F975000\u91D1\u5E01"
|
||||
m_Localized: "\u7D2F\u8BA1\u83B7\u5F975000\u7B97\u529B"
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579337
|
||||
m_Localized: "\u7D2F\u8BA1\u83B7\u5F9710000\u91D1\u5E01"
|
||||
m_Localized: "\u7D2F\u8BA1\u83B7\u5F9710000\u7B97\u529B"
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579338
|
||||
m_Localized: "\u7D2F\u8BA1\u83B7\u5F9750000\u91D1\u5E01"
|
||||
m_Localized: "\u7D2F\u8BA1\u83B7\u5F9750000\u7B97\u529B"
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579339
|
||||
m_Localized: "\u7D2F\u8BA1\u83B7\u5F97100000\u91D1\u5E01"
|
||||
m_Localized: "\u7D2F\u8BA1\u83B7\u5F97100000\u7B97\u529B"
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579340
|
||||
m_Localized: "\u7D2F\u8BA1\u83B7\u5F97500000\u91D1\u5E01"
|
||||
m_Localized: "\u7D2F\u8BA1\u83B7\u5F97500000\u7B97\u529B"
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579341
|
||||
@@ -10781,7 +10780,7 @@ MonoBehaviour:
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579824
|
||||
m_Localized: "\u53EA\u6709\u6EE1\u7ECF\u9A8C\u7684C\u5076\u50CF\u53EF\u7528\u3002\u8DB3\u591F\u6570\u91CF\u7684\u5F52\u6863\u5408\u7EA6\u548C\u4E00\u5B9A\u91D1\u5E01\u53EF\u4F7F\u5176\u7A81\u7834\u81F3B\u3002"
|
||||
m_Localized: "\u53EA\u6709\u6EE1\u7ECF\u9A8C\u7684C\u5076\u50CF\u53EF\u7528\u3002\u8DB3\u591F\u6570\u91CF\u7684\u5F52\u6863\u5408\u7EA6\u548C\u4E00\u5B9A\u7B97\u529B\u53EF\u4F7F\u5176\u7A81\u7834\u81F3B\u3002"
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579825
|
||||
@@ -10793,7 +10792,7 @@ MonoBehaviour:
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579827
|
||||
m_Localized: "\u53EA\u6709\u6EE1\u7ECF\u9A8C\u7684B\u5076\u50CF\u53EF\u7528\u3002\u8DB3\u591F\u6570\u91CF\u7684\u5F52\u6863\u5408\u7EA6\u548C\u4E00\u5B9A\u91D1\u5E01\u53EF\u4F7F\u5176\u7A81\u7834\u81F3A\u3002"
|
||||
m_Localized: "\u53EA\u6709\u6EE1\u7ECF\u9A8C\u7684B\u5076\u50CF\u53EF\u7528\u3002\u8DB3\u591F\u6570\u91CF\u7684\u5F52\u6863\u5408\u7EA6\u548C\u4E00\u5B9A\u7B97\u529B\u53EF\u4F7F\u5176\u7A81\u7834\u81F3A\u3002"
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579828
|
||||
@@ -10805,7 +10804,7 @@ MonoBehaviour:
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579830
|
||||
m_Localized: "\u53EA\u6709\u6EE1\u7ECF\u9A8C\u7684A\u5076\u50CF\u53EF\u7528\u3002\u8DB3\u591F\u6570\u91CF\u7684\u5F52\u6863\u5408\u7EA6\u548C\u4E00\u5B9A\u91D1\u5E01\u53EF\u4F7F\u5176\u7A81\u7834\u81F3S\u3002"
|
||||
m_Localized: "\u53EA\u6709\u6EE1\u7ECF\u9A8C\u7684A\u5076\u50CF\u53EF\u7528\u3002\u8DB3\u591F\u6570\u91CF\u7684\u5F52\u6863\u5408\u7EA6\u548C\u4E00\u5B9A\u7B97\u529B\u53EF\u4F7F\u5176\u7A81\u7834\u81F3S\u3002"
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579831
|
||||
@@ -10817,7 +10816,7 @@ MonoBehaviour:
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579833
|
||||
m_Localized: "\u6EE1\u7ECF\u9A8C\u7684\u4EFB\u610F\u9605\u5386\u8D44\u683C\u5076\u50CF\u53EF\u7528\u3002\u8DB3\u591F\u6570\u91CF\u7684\u5F52\u6863\u5408\u7EA6\u548C\u4E00\u5B9A\u91D1\u5E01\u53EF\u4F7F\u5176\u7A81\u7834\u81F3S\u3002"
|
||||
m_Localized: "\u6EE1\u7ECF\u9A8C\u7684\u4EFB\u610F\u9605\u5386\u8D44\u683C\u5076\u50CF\u53EF\u7528\u3002\u8DB3\u591F\u6570\u91CF\u7684\u5F52\u6863\u5408\u7EA6\u548C\u4E00\u5B9A\u7B97\u529B\u53EF\u4F7F\u5176\u7A81\u7834\u81F3S\u3002"
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579834
|
||||
@@ -11158,7 +11157,7 @@ MonoBehaviour:
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579918
|
||||
m_Localized: "\u6D88\u8D39 2000 coins"
|
||||
m_Localized: "\u6D88\u8D39 2000 \u7B97\u529B"
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579919
|
||||
|
||||
@@ -1945,7 +1945,7 @@ MonoBehaviour:
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762727191008
|
||||
m_Localized: "\u201C\u4E13\u5458\u7B49\u7EA7\u7279\u6280\u201D\n\n\u73A9\u5BB6\u6BCF\u5230\u8FBE\u4E00\u4E2A\u7B49\u7EA7\uFF0C\u53EF\u89E3\u9501\u4E00\u4E2A\u7279\u522B\u7684\u4E13\u5458\u7B49\u7EA7\u6280\u80FD\uFF0C\u8FD9\u4E9B\u6280\u80FD\u53EF\u4F5C\u7528\u4E8E\u5404\u79CD\u65B9\u9762\uFF0C\u60A8\u53EF\u4EE5\u968F\u610F\u5207\u6362\u5DF2\u89E3\u9501\u7684\u6280\u80FD\uFF0C\u83B7\u5F97\u610F\u60F3\u4E0D\u5230\u7684\u5947\u6548\u3002\n\n\u6BCF\u6B21\u5207\u6362\uFF0C\u9700\u8981\u82B1\u8D39<b>\u6700\u5927\u91D1\u5E01\u7684<color=red>1%</color></b>\n\uFF08<color=red>\u6700\u5C11\u82B1\u8D39200\u8D27\u5E01</color>\uFF09\u3002\u66F4\u6362\u4E00\u6B21\u4E13\u5458\u6280\u80FD\u540E\uFF0C\u987B\u7B49\u5F85<b>3</b>\u573A\u6BD4\u8D5B\u51B7\u5374\u540E\u65B9\u53EF\u518D\u6B21\u5207\u6362\u3002"
|
||||
m_Localized: "\u201C\u4E13\u5458\u7B49\u7EA7\u7279\u6280\u201D\n\n\u73A9\u5BB6\u6BCF\u5230\u8FBE\u4E00\u4E2A\u7B49\u7EA7\uFF0C\u53EF\u89E3\u9501\u4E00\u4E2A\u7279\u522B\u7684\u4E13\u5458\u7B49\u7EA7\u6280\u80FD\uFF0C\u8FD9\u4E9B\u6280\u80FD\u53EF\u4F5C\u7528\u4E8E\u5404\u79CD\u65B9\u9762\uFF0C\u60A8\u53EF\u4EE5\u968F\u610F\u5207\u6362\u5DF2\u89E3\u9501\u7684\u6280\u80FD\uFF0C\u83B7\u5F97\u610F\u60F3\u4E0D\u5230\u7684\u5947\u6548\u3002\n\n\u6BCF\u6B21\u5207\u6362\uFF0C\u9700\u8981\u82B1\u8D39<b>\u6700\u5927\u7B97\u529B\u7684<color=red>1%</color></b>\n\uFF08<color=red>\u6700\u5C11\u82B1\u8D39200\u7B97\u529B</color>\uFF09\u3002\u66F4\u6362\u4E00\u6B21\u4E13\u5458\u6280\u80FD\u540E\uFF0C\u987B\u7B49\u5F85<b>3</b>\u573A\u6BD4\u8D5B\u51B7\u5374\u540E\u65B9\u53EF\u518D\u6B21\u5207\u6362\u3002"
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762727191009
|
||||
@@ -7057,7 +7057,7 @@ MonoBehaviour:
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762731385361
|
||||
m_Localized: "\u5141\u8BB8\u4F60\u4EE510\u91D1\u5E01\u8D2D\u4E701\u4E2A\u8BB0\u5FC6\u788E\u7247\u3002\u88C5\u5907\u6B64\u6280\u80FD\u65F6\u53EF\u4E8E\u5546\u5E97\u89E3\u9501\u4E00\u4E2A\u8D2D\u4E70\u9009\u9879\u3002"
|
||||
m_Localized: "\u5141\u8BB8\u4F60\u4EE510\u7B97\u529B\u8D2D\u4E701\u4E2A\u8BB0\u5FC6\u788E\u7247\u3002\u88C5\u5907\u6B64\u6280\u80FD\u65F6\u53EF\u4E8E\u5546\u5E97\u89E3\u9501\u4E00\u4E2A\u8D2D\u4E70\u9009\u9879\u3002"
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762731385362
|
||||
@@ -7069,7 +7069,7 @@ MonoBehaviour:
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762731385364
|
||||
m_Localized: "\u5141\u8BB8\u4F60\u5C061\u4E2A\u8BB0\u5FC6\u788E\u7247\u4EE54\u91D1\u5E01\u552E\u51FA\u3002\u88C5\u5907\u6B64\u6280\u80FD\u65F6\u53EF\u4E8E\u5546\u5E97\u89E3\u9501\u4E00\u4E2A\u8D2D\u4E70\u9009\u9879\u3002"
|
||||
m_Localized: "\u5141\u8BB8\u4F60\u5C061\u4E2A\u8BB0\u5FC6\u788E\u7247\u4EE54\u7B97\u529B\u552E\u51FA\u3002\u88C5\u5907\u6B64\u6280\u80FD\u65F6\u53EF\u4E8E\u5546\u5E97\u89E3\u9501\u4E00\u4E2A\u8D2D\u4E70\u9009\u9879\u3002"
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762731385365
|
||||
@@ -7133,7 +7133,7 @@ MonoBehaviour:
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762731385380
|
||||
m_Localized: "\u7ED3\u7B97\u65F6\uFF0C\u83B7\u5F97\u5076\u50CF\u5206\u65702\u2030\u7684\u91D1\u5E01\u3002"
|
||||
m_Localized: "\u7ED3\u7B97\u65F6\uFF0C\u83B7\u5F97\u5076\u50CF\u5206\u65702\u2030\u7684\u7B97\u529B\u3002"
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762731385381
|
||||
@@ -8569,7 +8569,7 @@ MonoBehaviour:
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579333
|
||||
m_Localized: "\u7D2F\u8BA1\u83B7\u5F97100\u91D1\u5E01"
|
||||
m_Localized: "\u7D2F\u8BA1\u83B7\u5F97100\u7B97\u529B"
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579334
|
||||
@@ -8577,27 +8577,27 @@ MonoBehaviour:
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579335
|
||||
m_Localized: "\u7D2F\u8BA1\u83B7\u5F971000\u91D1\u5E01"
|
||||
m_Localized: "\u7D2F\u8BA1\u83B7\u5F971000\u7B97\u529B"
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579336
|
||||
m_Localized: "\u7D2F\u8BA1\u83B7\u5F975000\u91D1\u5E01"
|
||||
m_Localized: "\u7D2F\u8BA1\u83B7\u5F975000\u7B97\u529B"
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579337
|
||||
m_Localized: "\u7D2F\u8BA1\u83B7\u5F9710000\u91D1\u5E01"
|
||||
m_Localized: "\u7D2F\u8BA1\u83B7\u5F9710000\u7B97\u529B"
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579338
|
||||
m_Localized: "\u7D2F\u8BA1\u83B7\u5F9750000\u91D1\u5E01"
|
||||
m_Localized: "\u7D2F\u8BA1\u83B7\u5F9750000\u7B97\u529B"
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579339
|
||||
m_Localized: "\u7D2F\u8BA1\u83B7\u5F97100000\u91D1\u5E01"
|
||||
m_Localized: "\u7D2F\u8BA1\u83B7\u5F97100000\u7B97\u529B"
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579340
|
||||
m_Localized: "\u7D2F\u8BA1\u83B7\u5F97500000\u91D1\u5E01"
|
||||
m_Localized: "\u7D2F\u8BA1\u83B7\u5F97500000\u7B97\u529B"
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579341
|
||||
@@ -10557,7 +10557,7 @@ MonoBehaviour:
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579824
|
||||
m_Localized: "\u53EA\u6709\u6EE1\u7ECF\u9A8C\u7684C\u5076\u50CF\u53EF\u7528\u3002\u8DB3\u591F\u6570\u91CF\u7684\u5F52\u6863\u5408\u7EA6\u548C\u4E00\u5B9A\u91D1\u5E01\u53EF\u4F7F\u5176\u7A81\u7834\u81F3B\u3002"
|
||||
m_Localized: "\u53EA\u6709\u6EE1\u7ECF\u9A8C\u7684C\u5076\u50CF\u53EF\u7528\u3002\u8DB3\u591F\u6570\u91CF\u7684\u5F52\u6863\u5408\u7EA6\u548C\u4E00\u5B9A\u7B97\u529B\u53EF\u4F7F\u5176\u7A81\u7834\u81F3B\u3002"
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579825
|
||||
@@ -10569,7 +10569,7 @@ MonoBehaviour:
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579827
|
||||
m_Localized: "\u53EA\u6709\u6EE1\u7ECF\u9A8C\u7684B\u5076\u50CF\u53EF\u7528\u3002\u8DB3\u591F\u6570\u91CF\u7684\u5F52\u6863\u5408\u7EA6\u548C\u4E00\u5B9A\u91D1\u5E01\u53EF\u4F7F\u5176\u7A81\u7834\u81F3A\u3002"
|
||||
m_Localized: "\u53EA\u6709\u6EE1\u7ECF\u9A8C\u7684B\u5076\u50CF\u53EF\u7528\u3002\u8DB3\u591F\u6570\u91CF\u7684\u5F52\u6863\u5408\u7EA6\u548C\u4E00\u5B9A\u7B97\u529B\u53EF\u4F7F\u5176\u7A81\u7834\u81F3A\u3002"
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579828
|
||||
@@ -10581,7 +10581,7 @@ MonoBehaviour:
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579830
|
||||
m_Localized: "\u53EA\u6709\u6EE1\u7ECF\u9A8C\u7684A\u5076\u50CF\u53EF\u7528\u3002\u8DB3\u591F\u6570\u91CF\u7684\u5F52\u6863\u5408\u7EA6\u548C\u4E00\u5B9A\u91D1\u5E01\u53EF\u4F7F\u5176\u7A81\u7834\u81F3S\u3002"
|
||||
m_Localized: "\u53EA\u6709\u6EE1\u7ECF\u9A8C\u7684A\u5076\u50CF\u53EF\u7528\u3002\u8DB3\u591F\u6570\u91CF\u7684\u5F52\u6863\u5408\u7EA6\u548C\u4E00\u5B9A\u7B97\u529B\u53EF\u4F7F\u5176\u7A81\u7834\u81F3S\u3002"
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579831
|
||||
@@ -10593,7 +10593,7 @@ MonoBehaviour:
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579833
|
||||
m_Localized: "\u6EE1\u7ECF\u9A8C\u7684\u4EFB\u610F\u9605\u5386\u8D44\u683C\u5076\u50CF\u53EF\u7528\u3002\u8DB3\u591F\u6570\u91CF\u7684\u5F52\u6863\u5408\u7EA6\u548C\u4E00\u5B9A\u91D1\u5E01\u53EF\u4F7F\u5176\u7A81\u7834\u81F3S\u3002"
|
||||
m_Localized: "\u6EE1\u7ECF\u9A8C\u7684\u4EFB\u610F\u9605\u5386\u8D44\u683C\u5076\u50CF\u53EF\u7528\u3002\u8DB3\u591F\u6570\u91CF\u7684\u5F52\u6863\u5408\u7EA6\u548C\u4E00\u5B9A\u7B97\u529B\u53EF\u4F7F\u5176\u7A81\u7834\u81F3S\u3002"
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579834
|
||||
@@ -10934,7 +10934,7 @@ MonoBehaviour:
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579918
|
||||
m_Localized: "\u6D88\u8D39 2000 coins"
|
||||
m_Localized: "\u6D88\u8D39 2000 \u7B97\u529B"
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684762735579919
|
||||
|
||||
@@ -264,7 +264,7 @@ MonoBehaviour:
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684763935150139
|
||||
m_Localized: Insufficient currency
|
||||
m_Localized: 算力不足
|
||||
m_Metadata:
|
||||
m_Items: []
|
||||
- m_Id: 684763935150140
|
||||
|
||||
@@ -27,4 +27,4 @@ MonoBehaviour:
|
||||
dushMaterial78022: 0
|
||||
dushMaterial78023: 0
|
||||
dushMaterial78024: 0
|
||||
firstLaunchDate:
|
||||
firstLaunchDate: 2026-03-16
|
||||
|
||||
@@ -10,27 +10,27 @@ MonoBehaviour:
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: bdd198d96872f3b42bdfc7e262ff2eed, type: 3}
|
||||
m_Name: 30204_lock
|
||||
m_Name: 30204_limiaomiao
|
||||
m_EditorClassIdentifier:
|
||||
ally_heroName: "\u6D1B\u514B"
|
||||
ally_heroDesignation: "\u96C5\u8389\u68A6\u7483\u4E4B\u624B"
|
||||
ally_heroName: "\u9ECE\u5999\u5999"
|
||||
ally_heroDesignation: "\u6700\u5999\u7684\u89D2\u8272"
|
||||
ally_heroID: 30204
|
||||
isUnlocked: 1
|
||||
allyType: 0
|
||||
obsessionTag: "\u8FC7\u6FC0\u884C\u4E3A"
|
||||
sourceDlcId:
|
||||
ally_heroImage: {fileID: 21300000, guid: 92d84aec8bc325549bc86e20ef310b9e, type: 3}
|
||||
ally_heroProfile: {fileID: 21300000, guid: 92d84aec8bc325549bc86e20ef310b9e, type: 3}
|
||||
ally_heroSelectIcon: {fileID: 21300000, guid: b10782ed7cd519a408bcb7b8b4dfc884, type: 3}
|
||||
ally_heroImage: {fileID: 21300000, guid: 7df561841c29f7c4495809fa26c0fd87, type: 3}
|
||||
ally_heroProfile: {fileID: 21300000, guid: 7df561841c29f7c4495809fa26c0fd87, type: 3}
|
||||
ally_heroSelectIcon: {fileID: 21300000, guid: 32a17cd770649ef4ba742170d95271e0, type: 3}
|
||||
ally_heroIcon: {fileID: 0}
|
||||
ally_heroPoster: {fileID: 21300000, guid: 64d978f672317b14e9b21f7f6a555f0e, type: 3}
|
||||
ally_hero_HD_image: {fileID: 21300000, guid: f27edc042c98f264492ea474acb525e8, type: 3}
|
||||
ally_hero_squareProfile: {fileID: 21300000, guid: 47e3bed563854b248b684b071ccafe38, type: 3}
|
||||
ally_hero_settleDisplay: {fileID: 21300000, guid: 971b271c3b69c25478ca3cd39adae7f4, type: 3}
|
||||
ally_heroPoster: {fileID: 21300000, guid: 0037e2eca8c94144db3688d8d960a451, type: 3}
|
||||
ally_hero_HD_image: {fileID: 21300000, guid: 3f085a9ca0d0c8b41a02c952e6a7bf02, type: 3}
|
||||
ally_hero_squareProfile: {fileID: 21300000, guid: f14b64b175b40214b9e2b4ba8be24697, type: 3}
|
||||
ally_hero_settleDisplay: {fileID: 21300000, guid: 4aa2a31f345485c42bd2f44b2488b7f8, type: 3}
|
||||
ally_heroSpineData: {fileID: 0}
|
||||
selectedSkinId:
|
||||
ally_heroThemeColor: {r: 0.10980393, g: 0.10588236, b: 0.1254902, a: 1}
|
||||
ally_heroDescription: "\u6D1B\u514B\uFF0C\u8FC7\u6FC0\u884C\u4E3A\u7C7B\u6267\u5FF5\u5076\u50CF\u3002\u4ED6\u7684\u6CD5\u529B\u503C\u4E0A\u9650\u76F8\u5F53\u4E4B\u9AD8\uFF0C\u53EF\u5176\u5145\u6EE1\u540E\u91CA\u653E\u7684\u6548\u679C\u76F8\u5F53\u53EF\u89C2\uFF0C\u56E0\u4E3A\u662F\u8FC7\u6FC0\u884C\u4E3A\u7C7B\u6267\u5FF5\uFF0C\u4ED6\u53EF\u4EE5\u5BF9\u540C\u4F34\u4E0B\u624B\uFF0C\u901A\u8FC7\u6D88\u8017\u4ED6\u4EEC\u7684\u751F\u547D\u503C\u4E0E\u6CD5\u529B\u503C\u6765\u63D0\u5347\u81EA\u8EAB\u7684\u5F97\u5206\u6548\u7387\u3002\n\n\u4E0D\u8FC7\uFF0C\u5BF9\u4E8E\u4ED6\u7684\u6545\u4E8B\u3002\u7D22\u5C3C\u5A05\uFF0C\u6211\u4EEC\u9700\u7EE7\u7EED\u6DF1\u5165\uFF0C\u5BFB\u627E\u5230\u66F4\u591A\u4EE5\u8BC1\u660E\u4ED6\u4EEC\u5B58\u5728\u8FC7\u7684\u201C\u8BB0\u5FC6\u788E\u7247\u201D\uFF0C\u624D\u53EF\u4E86\u89E3\u4ED6\u7684\u8EAB\u4E16\u5168\u8C8C......\n\n\u8BE5\u89D2\u8272\u7684\u6267\u5FF5\u6743\u91CD\uFF1A\n\u8FC7\u6FC0\u884C\u4E3A\uFF1A\u8F83\u4F4E\n\u8FF7\u832B\u6216\u51E1\u60F3\uFF1A\u7EDD\u5BF9\u56FA\u6267"
|
||||
ally_heroDescription: "\u9ECE\u5999\u5999\uFF0C\u8FC7\u6FC0\u884C\u4E3A\u7C7B\u6267\u5FF5\u5076\u50CF\u3002\u5979\u7684\u6CD5\u529B\u503C\u4E0A\u9650\u76F8\u5F53\u4E4B\u9AD8\uFF0C\u53EF\u5176\u5145\u6EE1\u540E\u91CA\u653E\u7684\u6548\u679C\u76F8\u5F53\u53EF\u89C2\uFF0C\u56E0\u4E3A\u662F\u8FC7\u6FC0\u884C\u4E3A\u7C7B\u6267\u5FF5\uFF0C\u5979\u53EF\u4EE5\u5BF9\u540C\u4F34\u4E0B\u624B\uFF0C\u901A\u8FC7\u6D88\u8017\u4ED6\u4EEC\u7684\u751F\u547D\u503C\u4E0E\u6CD5\u529B\u503C\u6765\u63D0\u5347\u81EA\u8EAB\u7684\u5F97\u5206\u6548\u7387\u3002\n\n\u4E0D\u8FC7\uFF0C\u5BF9\u4E8E\u5979\u7684\u6545\u4E8B\u3002\u7D22\u5C3C\u5A05\uFF0C\u6211\u4EEC\u9700\u7EE7\u7EED\u6DF1\u5165\uFF0C\u5BFB\u627E\u5230\u66F4\u591A\u4EE5\u8BC1\u660E\u4ED6\u4EEC\u5B58\u5728\u8FC7\u7684\u201C\u8BB0\u5FC6\u788E\u7247\u201D\uFF0C\u624D\u53EF\u4E86\u89E3\u5979\u7684\u8EAB\u4E16\u5168\u8C8C......\n\n\u8BE5\u89D2\u8272\u7684\u6267\u5FF5\u6743\u91CD\uFF1A\n\u8FC7\u6FC0\u884C\u4E3A\uFF1A\u8F83\u4F4E\n\u8FF7\u832B\u6216\u51E1\u60F3\uFF1A\u7EDD\u5BF9\u56FA\u6267"
|
||||
levelStats:
|
||||
- levelName: C
|
||||
levelID: 1
|
||||
@@ -258,6 +258,6 @@ MonoBehaviour:
|
||||
skillDescriptionsText: "\u3010\u534F\u5FC3\u5408\u4F5C\u3011\u76F8\u90BB\u5076\u50CF\u91CA\u653E\u6280\u80FD\u65F6\uFF0C\u81EA\u8EAB\u83B7\u53D6\u7B49\u540C\u4E8E\u6CD5\u529B\u503C\u4E0A\u96502%\u7684\u6CD5\u529B\u503C\uFF1B\u81EA\u8EAB\u83B7\u5F97\u201C\u4EA4\u7ED9\u4F60\uFF01\u201D\u3002\n\n\u201C\u4EA4\u7ED9\u4F60\uFF01\u201D\uFF1A\u5C06\u81EA\u8EAB\u4E0B\u4E00\u6B21\u53D7\u5230\u7684\u4F24\u5BB3\u6216\u83B7\u5F97\u7684\u589E\u76CA\u8F6C\u79FB\u7ED9\u76F8\u90BB\u5076\u50CF\u3002"
|
||||
thisSkill_levelLimit: 4
|
||||
isSpecialSkill: 0
|
||||
equippedSkillGroupIDs: 31e8cc0138e8cc0136e8cc0137e8cc01
|
||||
equippedSkillGroupIDs: 31e8cc0138e8cc0137e8cc0136e8cc01
|
||||
equippedEquipment: {fileID: 0}
|
||||
equippedEquipmentId:
|
||||
|
||||
@@ -13,10 +13,10 @@ MonoBehaviour:
|
||||
m_Name: 22201_coins_earned
|
||||
m_EditorClassIdentifier:
|
||||
achievementId: 22201
|
||||
displayName: "\u7D2F\u8BA1\u83B7\u5F97100\u91D1\u5E01"
|
||||
displayName: "\u7D2F\u8BA1\u83B7\u5F97100\u7B97\u529B"
|
||||
achievementSeriesKey: coins_earned
|
||||
achievementLevel: 0
|
||||
description: "\u7D2F\u8BA1\u83B7\u5F97100\u91D1\u5E01"
|
||||
description: "\u7D2F\u8BA1\u83B7\u5F97100\u7B97\u529B"
|
||||
icon: {fileID: 0}
|
||||
sortOrder: 0
|
||||
hiddenUntilUnlocked: 1
|
||||
|
||||
@@ -13,10 +13,10 @@ MonoBehaviour:
|
||||
m_Name: 22202_coins_earned
|
||||
m_EditorClassIdentifier:
|
||||
achievementId: 22202
|
||||
displayName: "\u7D2F\u8BA1\u83B7\u5F971000\u91D1\u5E01"
|
||||
displayName: "\u7D2F\u8BA1\u83B7\u5F971000\u7B97\u529B"
|
||||
achievementSeriesKey: coins_earned
|
||||
achievementLevel: 1
|
||||
description: "\u7D2F\u8BA1\u83B7\u5F971000\u91D1\u5E01"
|
||||
description: "\u7D2F\u8BA1\u83B7\u5F971000\u7B97\u529B"
|
||||
icon: {fileID: 0}
|
||||
sortOrder: 1
|
||||
hiddenUntilUnlocked: 1
|
||||
|
||||
@@ -13,10 +13,10 @@ MonoBehaviour:
|
||||
m_Name: 22203_coins_earned
|
||||
m_EditorClassIdentifier:
|
||||
achievementId: 22203
|
||||
displayName: "\u7D2F\u8BA1\u83B7\u5F975000\u91D1\u5E01"
|
||||
displayName: "\u7D2F\u8BA1\u83B7\u5F975000\u7B97\u529B"
|
||||
achievementSeriesKey: coins_earned
|
||||
achievementLevel: 2
|
||||
description: "\u7D2F\u8BA1\u83B7\u5F975000\u91D1\u5E01"
|
||||
description: "\u7D2F\u8BA1\u83B7\u5F975000\u7B97\u529B"
|
||||
icon: {fileID: 0}
|
||||
sortOrder: 2
|
||||
hiddenUntilUnlocked: 1
|
||||
|
||||
@@ -13,10 +13,10 @@ MonoBehaviour:
|
||||
m_Name: 22204_coins_earned
|
||||
m_EditorClassIdentifier:
|
||||
achievementId: 22204
|
||||
displayName: "\u7D2F\u8BA1\u83B7\u5F9710000\u91D1\u5E01"
|
||||
displayName: "\u7D2F\u8BA1\u83B7\u5F9710000\u7B97\u529B"
|
||||
achievementSeriesKey: coins_earned
|
||||
achievementLevel: 3
|
||||
description: "\u7D2F\u8BA1\u83B7\u5F9710000\u91D1\u5E01"
|
||||
description: "\u7D2F\u8BA1\u83B7\u5F9710000\u7B97\u529B"
|
||||
icon: {fileID: 0}
|
||||
sortOrder: 3
|
||||
hiddenUntilUnlocked: 1
|
||||
|
||||
@@ -13,10 +13,10 @@ MonoBehaviour:
|
||||
m_Name: 22205_coins_earned
|
||||
m_EditorClassIdentifier:
|
||||
achievementId: 22205
|
||||
displayName: "\u7D2F\u8BA1\u83B7\u5F9750000\u91D1\u5E01"
|
||||
displayName: "\u7D2F\u8BA1\u83B7\u5F9750000\u7B97\u529B"
|
||||
achievementSeriesKey: coins_earned
|
||||
achievementLevel: 4
|
||||
description: "\u7D2F\u8BA1\u83B7\u5F9750000\u91D1\u5E01"
|
||||
description: "\u7D2F\u8BA1\u83B7\u5F9750000\u7B97\u529B"
|
||||
icon: {fileID: 0}
|
||||
sortOrder: 4
|
||||
hiddenUntilUnlocked: 1
|
||||
|
||||
@@ -13,10 +13,10 @@ MonoBehaviour:
|
||||
m_Name: 22206_coins_earned
|
||||
m_EditorClassIdentifier:
|
||||
achievementId: 22206
|
||||
displayName: "\u7D2F\u8BA1\u83B7\u5F97100000\u91D1\u5E01"
|
||||
displayName: "\u7D2F\u8BA1\u83B7\u5F97100000\u7B97\u529B"
|
||||
achievementSeriesKey: coins_earned
|
||||
achievementLevel: 5
|
||||
description: "\u7D2F\u8BA1\u83B7\u5F97100000\u91D1\u5E01"
|
||||
description: "\u7D2F\u8BA1\u83B7\u5F97100000\u7B97\u529B"
|
||||
icon: {fileID: 0}
|
||||
sortOrder: 5
|
||||
hiddenUntilUnlocked: 1
|
||||
|
||||
@@ -13,10 +13,10 @@ MonoBehaviour:
|
||||
m_Name: 22207_coins_earned
|
||||
m_EditorClassIdentifier:
|
||||
achievementId: 22207
|
||||
displayName: "\u7D2F\u8BA1\u83B7\u5F97500000\u91D1\u5E01"
|
||||
displayName: "\u7D2F\u8BA1\u83B7\u5F97500000\u7B97\u529B"
|
||||
achievementSeriesKey: coins_earned
|
||||
achievementLevel: 6
|
||||
description: "\u7D2F\u8BA1\u83B7\u5F97500000\u91D1\u5E01"
|
||||
description: "\u7D2F\u8BA1\u83B7\u5F97500000\u7B97\u529B"
|
||||
icon: {fileID: 0}
|
||||
sortOrder: 6
|
||||
hiddenUntilUnlocked: 1
|
||||
|
||||
@@ -17,9 +17,10 @@ MonoBehaviour:
|
||||
class_id: 501002
|
||||
class_name: "\u6863\u6848\u4E13\u5458\u4E0E\u52A9\u7406Sonia"
|
||||
class_image: {fileID: 0}
|
||||
showInBag: 0
|
||||
itemRarity: 3
|
||||
usageTag: 0
|
||||
class_description: "\u6211\u4FDD\u6301\u7740\u6124\u6012\u4F46\u4F60\u770B\u4E0D\u51FA\u6765\n\u56E0\u4E3A\u6211\u6709\u5FAE\u7B11\u5507"
|
||||
class_description: "\u6863\u6848\u4E13\u5458\u4E0E\u52A9\u7406Sonia"
|
||||
sonList:
|
||||
- son_isUnlocked: 1
|
||||
son_id: 0
|
||||
|
||||
@@ -17,9 +17,10 @@ MonoBehaviour:
|
||||
class_id: 501003
|
||||
class_name: "Bansonic\u516C\u53F8"
|
||||
class_image: {fileID: 0}
|
||||
showInBag: 0
|
||||
itemRarity: 3
|
||||
usageTag: 0
|
||||
class_description: "\u6211\u4FDD\u6301\u7740\u6124\u6012\u4F46\u4F60\u770B\u4E0D\u51FA\u6765\n\u56E0\u4E3A\u6211\u6709\u5FAE\u7B11\u5507"
|
||||
class_description: "\u5173\u4E8EBansonic\u516C\u53F8.......\u8BF4\u6765\u8BDD\u957F"
|
||||
sonList:
|
||||
- son_isUnlocked: 1
|
||||
son_id: 0
|
||||
|
||||
@@ -17,9 +17,10 @@ MonoBehaviour:
|
||||
class_id: 501003
|
||||
class_name: "Filelink\u5076\u50CF\u6863\u6848\u9986"
|
||||
class_image: {fileID: 0}
|
||||
showInBag: 0
|
||||
itemRarity: 3
|
||||
usageTag: 0
|
||||
class_description: "\u6211\u4FDD\u6301\u7740\u6124\u6012\u4F46\u4F60\u770B\u4E0D\u51FA\u6765\n\u56E0\u4E3A\u6211\u6709\u5FAE\u7B11\u5507"
|
||||
class_description: "\u2014\u2014\u5750\u843D\u4E8E\u8FD9\u5EA7\u57CE\u5E02\u4E00\u4E2A\u76F8\u5F53\u4E0D\u8D77\u773C\u7684\u4F4D\u7F6E"
|
||||
sonList:
|
||||
- son_isUnlocked: 1
|
||||
son_id: 0
|
||||
|
||||
@@ -18,7 +18,7 @@ MonoBehaviour:
|
||||
itemID: 78021
|
||||
itemSinglePurchaseQty: 1
|
||||
itemPurchaseQuota: -1
|
||||
itemDescription: "\u53EA\u6709\u6EE1\u7ECF\u9A8C\u7684C\u5076\u50CF\u53EF\u7528\u3002\u8DB3\u591F\u6570\u91CF\u7684\u5F52\u6863\u5408\u7EA6\u548C\u4E00\u5B9A\u91D1\u5E01\u53EF\u4F7F\u5176\u7A81\u7834\u81F3B\u3002"
|
||||
itemDescription: "\u53EA\u6709\u6EE1\u7ECF\u9A8C\u7684C\u5076\u50CF\u53EF\u7528\u3002\u8DB3\u591F\u6570\u91CF\u7684\u5F52\u6863\u5408\u7EA6\u548C\u4E00\u5B9A\u7B97\u529B\u53EF\u4F7F\u5176\u7A81\u7834\u81F3B\u3002"
|
||||
itemDetailedDescription: "\u53EF\u5E2E\u52A9<b>\u7ECF\u9A8C\u8FBE\u5230\u4E0A\u9650</b>\u7684<b>C</b>\u7EA7\u9605\u5386\u5076\u50CF\u7A81\u7834\u5230<b>B</b>\u7EA7\u9605\u5386\uFF08\u7ECF\u9A8C\u503C\u4E0D\u6EE1\u65E0\u6CD5\u4F7F\u7528\uFF09\uFF0C\u6709\u52A9\u4E8E\u8BA9\u5076\u50CF\u8DC3\u8FC1\u3002\n\n\u201C\u8BF7\u672C\u4EBA\u7B7E\u5B57\u201D"
|
||||
itemUsageTag: 0
|
||||
isOnShelf: 1
|
||||
|
||||
@@ -18,7 +18,7 @@ MonoBehaviour:
|
||||
itemID: 78022
|
||||
itemSinglePurchaseQty: 1
|
||||
itemPurchaseQuota: -1
|
||||
itemDescription: "\u53EA\u6709\u6EE1\u7ECF\u9A8C\u7684B\u5076\u50CF\u53EF\u7528\u3002\u8DB3\u591F\u6570\u91CF\u7684\u5F52\u6863\u5408\u7EA6\u548C\u4E00\u5B9A\u91D1\u5E01\u53EF\u4F7F\u5176\u7A81\u7834\u81F3A\u3002"
|
||||
itemDescription: "\u53EA\u6709\u6EE1\u7ECF\u9A8C\u7684B\u5076\u50CF\u53EF\u7528\u3002\u8DB3\u591F\u6570\u91CF\u7684\u5F52\u6863\u5408\u7EA6\u548C\u4E00\u5B9A\u7B97\u529B\u53EF\u4F7F\u5176\u7A81\u7834\u81F3A\u3002"
|
||||
itemDetailedDescription: "\u4E00\u9897\u542B\u6709\u5076\u50CF\u7075\u529B\u7684\u6D0B\u8471\uFF0C\u53EF\u5E2E\u52A9<b>\u7ECF\u9A8C\u8FBE\u5230\u4E0A\u9650</b>\u7684<b>B</b>\u7EA7\u9605\u5386\u5076\u50CF\u7A81\u7834\u5230<b>A</b>\u7EA7\u9605\u5386\uFF08\u7ECF\u9A8C\u503C\u4E0D\u6EE1\u65E0\u6CD5\u4F7F\u7528\uFF09\uFF0C\u6709\u52A9\u4E8E\u8BA9\u5076\u50CF\u8DC3\u8FC1\u3002\n\n\u201C\u6863\u6848\u5DF2\u7ECF\u5199\u4E86\u5F97\u67091\u4E2A\u2018W\u2019\u7684\u5B57\u6570\u4E86\u201D"
|
||||
itemUsageTag: 0
|
||||
isOnShelf: 1
|
||||
|
||||
@@ -18,7 +18,7 @@ MonoBehaviour:
|
||||
itemID: 78023
|
||||
itemSinglePurchaseQty: 1
|
||||
itemPurchaseQuota: -1
|
||||
itemDescription: "\u53EA\u6709\u6EE1\u7ECF\u9A8C\u7684A\u5076\u50CF\u53EF\u7528\u3002\u8DB3\u591F\u6570\u91CF\u7684\u5F52\u6863\u5408\u7EA6\u548C\u4E00\u5B9A\u91D1\u5E01\u53EF\u4F7F\u5176\u7A81\u7834\u81F3S\u3002"
|
||||
itemDescription: "\u53EA\u6709\u6EE1\u7ECF\u9A8C\u7684A\u5076\u50CF\u53EF\u7528\u3002\u8DB3\u591F\u6570\u91CF\u7684\u5F52\u6863\u5408\u7EA6\u548C\u4E00\u5B9A\u7B97\u529B\u53EF\u4F7F\u5176\u7A81\u7834\u81F3S\u3002"
|
||||
itemDetailedDescription: "\u53EF\u5E2E\u52A9<b>\u7ECF\u9A8C\u8FBE\u5230\u4E0A\u9650</b>\u7684<b>A</b>\u7EA7\u9605\u5386\u5076\u50CF\u7A81\u7834\u5230<b>S</b>\u7EA7\u9605\u5386\uFF08\u7ECF\u9A8C\u503C\u4E0D\u6EE1\u65E0\u6CD5\u4F7F\u7528\uFF09\uFF0C\u6709\u52A9\u4E8E\u8BA9\u5076\u50CF\u8DC3\u8FC1\u3002\n\n\u201C\u653E\u8FDB\u6211\u7684\u6536\u85CF\u5939\u91CC\u5403\u7070\u5427\uFF01\u201D"
|
||||
itemUsageTag: 0
|
||||
isOnShelf: 1
|
||||
|
||||
@@ -18,7 +18,7 @@ MonoBehaviour:
|
||||
itemID: 78024
|
||||
itemSinglePurchaseQty: 1
|
||||
itemPurchaseQuota: -1
|
||||
itemDescription: "\u6EE1\u7ECF\u9A8C\u7684\u4EFB\u610F\u9605\u5386\u8D44\u683C\u5076\u50CF\u53EF\u7528\u3002\u8DB3\u591F\u6570\u91CF\u7684\u5F52\u6863\u5408\u7EA6\u548C\u4E00\u5B9A\u91D1\u5E01\u53EF\u4F7F\u5176\u7A81\u7834\u81F3S\u3002"
|
||||
itemDescription: "\u6EE1\u7ECF\u9A8C\u7684\u4EFB\u610F\u9605\u5386\u8D44\u683C\u5076\u50CF\u53EF\u7528\u3002\u8DB3\u591F\u6570\u91CF\u7684\u5F52\u6863\u5408\u7EA6\u548C\u4E00\u5B9A\u7B97\u529B\u53EF\u4F7F\u5176\u7A81\u7834\u81F3S\u3002"
|
||||
itemDetailedDescription: "\u53EF\u5E2E\u52A9<b>\u7ECF\u9A8C\u8FBE\u5230\u4E0A\u9650</b>\u7684<b>C</b>\u7EA7\u9605\u5386\u5076\u50CF\u7A81\u7834\u5230<b>S</b>\u7EA7\u9605\u5386\uFF08\u7ECF\u9A8C\u503C\u4E0D\u6EE1\u65E0\u6CD5\u4F7F\u7528\uFF09\uFF0C\u6709\u52A9\u4E8E\u8BA9\u5076\u50CF\u98DE\u901F\u6210\u957F\uFF0C<b><color=#B84C4C>\u4E0D\u53EF\u5408\u6210</color></b>\u3002\n\n\u201C\u4E00\u591C\u4E4B\u95F4\u5199\u5B8C\u6863\u6848\u5417\uFF1F\u6709\u70B9\u610F\u601D...\u8BA9\u6211\u60F3\u8D77\u4E86\u6211\u7684\u5B66\u751F\u65F6\u671F......\u201D"
|
||||
itemUsageTag: 0
|
||||
isOnShelf: 1
|
||||
|
||||
@@ -108,6 +108,6 @@ MonoBehaviour:
|
||||
current_levelProgress: 0
|
||||
_if_level_is_EASE: 0
|
||||
max_comboRecord: 0
|
||||
thisLevel_selectedDifficultyID: 0
|
||||
thisLevel_selectedDifficultyID: 2
|
||||
thisLevel_addDateString: 2026-01-01
|
||||
thisLevel_overallDescription: "\u201C\u4E3A\u4E86\u62A5\u7B54\u4F60\u521A\u521A\u544A\u8BC9\u6211\u8FD9\u4E48\u4E00\u4E2A\u5C0F\u9053\u6D88\u606F\uFF0C\u6211\u53EF\u4EE5\u6EE1\u8DB3\u4F60\u4E00\u4E2A\u613F\u671B\u54E6......\u201D\n\u4ED6\u773C\u7741\u7741\u5730\u770B\u7740\u8FD9\u4E2A\u5973\u4EBA\u5468\u56F4\u7684\u73AF\u5883\u53D8\u5F97\u9EEF\u6DE1\u8D77\u6765\uFF0C\u56E0\u4E3A\u8FD9\u662F\u5728\u573A\u5730\u5185\uFF0C\u6240\u4EE5\u8FD9\u79CD\u73B0\u8C61\u4E0D\u8DB3\u4E3A\u5947\u3002\n\u201C\u771F\u7684\uFF1F\u4EC0\u4E48\u90FD\u53EF\u4EE5\u5417\uFF1F\u201D\n\u201C\u55EF\u54FC\uFF1F\u201D\n\u201C\u628A\u4F60\u5403\u4E86\u8FD9\u987F\u996D\u7684\u996D\u94B1\u4ED8\u4E86\uFF0C\u7136\u540E\u6536\u62FE\u5B8C\u4F60\u7684\u4E1C\u897F\u8D76\u7D27\u8D70\u4EBA\uFF01\u201D"
|
||||
|
||||
@@ -3651,6 +3651,8 @@ MonoBehaviour:
|
||||
globalVolume: {fileID: 387952724}
|
||||
fadeOutImage: {fileID: 1901335930}
|
||||
startButtonDelay: 2
|
||||
blockUIUISceneJump: 0
|
||||
blockUIUISceneJumpMessage: "\u670D\u52A1\u5668\u6682\u65F6\u4EC5\u9762\u5411\u5185\u6D4B\u7528\u6237\u5F00\u653E\uFF0C\u656C\u8BF7\u671F\u5F85\uFF01"
|
||||
--- !u!4 &746865343
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -3766,13 +3768,13 @@ MonoBehaviour:
|
||||
m_BestFit: 0
|
||||
m_MinSize: 1
|
||||
m_MaxSize: 40
|
||||
m_Alignment: 0
|
||||
m_Alignment: 3
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: TEST_VERSION_ID_MTc3OTkwNDc1Mg==1779904752
|
||||
m_Text: WINDOWS_STEAM_publicVer_bansonic_1.0.01
|
||||
--- !u!1 &777304727
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@@ -3042,7 +3042,7 @@ MonoBehaviour:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 272768447}
|
||||
m_Enabled: 1
|
||||
m_Enabled: 0
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
@@ -7723,7 +7723,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4408435802669020468, guid: e149567326267f24e857701ac5f23521, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 125
|
||||
value: 150
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6498247873733825824, guid: e149567326267f24e857701ac5f23521, type: 3}
|
||||
propertyPath: m_Name
|
||||
@@ -7751,7 +7751,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7437470144974653189, guid: e149567326267f24e857701ac5f23521, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 375
|
||||
value: 350
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8561304957759784465, guid: e149567326267f24e857701ac5f23521, type: 3}
|
||||
propertyPath: m_Sprite
|
||||
@@ -9632,8 +9632,8 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: -0.0005493164, y: -0.00021362305}
|
||||
m_SizeDelta: {x: 160, y: 40.877}
|
||||
m_AnchoredPosition: {x: -203, y: -77.1}
|
||||
m_SizeDelta: {x: 136.916, y: 34.98}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &787251157
|
||||
MonoBehaviour:
|
||||
@@ -9692,15 +9692,15 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.20784314, g: 0.20784314, b: 0.20784314, a: 1}
|
||||
m_Color: {r: 0.6273585, g: 0.8201215, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 21300000, guid: 7f3b1220317607e44bbb8f0e1998044a, type: 3}
|
||||
m_Type: 1
|
||||
m_Sprite: {fileID: 21300000, guid: b2043505ccc72894cad39039862aa81f, type: 3}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
@@ -15159,7 +15159,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 750978032619227304, guid: 2f8645fff0a5d034884405a8e5af53db, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 7.279999
|
||||
value: 7.280014
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1108773978011324000, guid: 2f8645fff0a5d034884405a8e5af53db, type: 3}
|
||||
propertyPath: m_Size
|
||||
@@ -15295,7 +15295,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3980059708193611426, guid: 2f8645fff0a5d034884405a8e5af53db, type: 3}
|
||||
propertyPath: m_PreferredWidth
|
||||
value: 643.49994
|
||||
value: 810
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4330958655264480670, guid: 2f8645fff0a5d034884405a8e5af53db, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
|
||||
@@ -14422,8 +14422,8 @@ MonoBehaviour:
|
||||
tooltipPadding: {x: 16, y: 16, z: 8, w: 8}
|
||||
overrideSeriesStyle: 1
|
||||
overrideSymbolStyle: 1
|
||||
mainSymbolSize: 8
|
||||
referenceSymbolSize: 7
|
||||
mainSymbolSize: 3
|
||||
referenceSymbolSize: 3
|
||||
mainSymbolType: 2
|
||||
referenceSymbolType: 2
|
||||
mainStrokeColor: {r: 0.32156864, g: 0.49411765, b: 1, a: 1}
|
||||
@@ -19803,7 +19803,7 @@ MonoBehaviour:
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: "\u6253\u5F00\u4E16\u754C\u804A\u5929"
|
||||
m_Text: "\u201C\u4F17\u5BBE\u6B22\u4E5F\u201D"
|
||||
--- !u!222 &750480013
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -26642,7 +26642,7 @@ GameObject:
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!224 &925857631
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -29522,7 +29522,7 @@ RectTransform:
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 71.7, y: -0.00000071526}
|
||||
m_SizeDelta: {x: 30.893, y: 30.893}
|
||||
m_SizeDelta: {x: 30, y: 24}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &980586653
|
||||
MonoBehaviour:
|
||||
@@ -45487,7 +45487,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: ef4bffeda13d7a748973ff9204401c07, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
enableSteamVerification: 1
|
||||
enableSteamVerification: 0
|
||||
--- !u!4 &1558855962
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -48180,7 +48180,7 @@ GameObject:
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!224 &1647287118
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -54791,7 +54791,7 @@ GameObject:
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!224 &1886093564
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -63447,7 +63447,7 @@ MonoBehaviour:
|
||||
m_SelectOnDown: {fileID: 0}
|
||||
m_SelectOnLeft: {fileID: 0}
|
||||
m_SelectOnRight: {fileID: 0}
|
||||
m_Transition: 2
|
||||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
"song.button.artist_info": "Artist: {0} | Illustrator: {1} | Charter: {2}",
|
||||
"song.details.play_count": "PlayCount: {0}",
|
||||
"press_start.idle": "Press Enter to continue.",
|
||||
"store.error.insufficient_currency": "Insufficient currency",
|
||||
"store.error.insufficient_currency": "算力不足",
|
||||
"press_start.waiting_banflag": "Waiting for banflag...",
|
||||
"daily.no_claimable_reward": "No claimable rewards",
|
||||
"press_start.warning_content": "<color=orange>Test phase</color><color=red>Unauthorized build</color><color=orange> Version: </color><color=red>v1.0.0</color><color=orange>. Please proceed with caution.</color>",
|
||||
@@ -102,7 +102,7 @@
|
||||
},
|
||||
"literals": {
|
||||
"再次点击以确认此危险操作": "Click again to confirm this dangerous action",
|
||||
"货币数量已达到上限": "Currency amount has reached the upper limit",
|
||||
"货币数量已达到上限": "算力数量已达到上限",
|
||||
"FINAL SCORE": "FINAL SCORE",
|
||||
"一键启动/重启动": "One-click Start / Restart",
|
||||
"排行榜": "Leaderboard",
|
||||
@@ -181,7 +181,7 @@
|
||||
"TIPS:用毒蛇的毒毒毒蛇": "TIPS:用毒蛇的毒毒毒蛇",
|
||||
"浮动小游戏": "Floating Mini-Games",
|
||||
"服务器故障": "Server Error",
|
||||
"“雅莉梦璃原矿”发放失败": "Failed to grant \"Yalimengli Raw Ore\"",
|
||||
"“雅莉梦璃原矿”发放失败": "“记忆碎片”发放失败",
|
||||
"雅莉梦璃风情": "Yalimengli Vibes",
|
||||
"无法获取玩家信息": "Unable to retrieve player information",
|
||||
"今日暂无任务": "No tasks available today",
|
||||
@@ -211,7 +211,7 @@
|
||||
"Score:": "Score:",
|
||||
"继续游戏": "Continue",
|
||||
"敬请期待!": "Coming Soon!",
|
||||
"雅莉梦璃原矿": "Yalimengli Raw Ore",
|
||||
"雅莉梦璃原矿": "记忆碎片",
|
||||
"Good": "Good",
|
||||
"\\u2014\\u2014\\u2014\\u2014Main Keybinding List\\u2014\\u2014\\u2014\\u2014\\n<color=green>\\\"Space\\": "\\u2014\\u2014\\u2014\\u2014Main Keybinding List\\u2014\\u2014\\u2014\\u2014\\n<color=green>\\\"Space\\",
|
||||
"官方文档 <color=red>(请仔细阅读!)</color>": "Official Documentation <color=red>(Please read carefully!)</color>",
|
||||
@@ -401,7 +401,7 @@
|
||||
"法力上限": "Mana Limit",
|
||||
"升级": "Upgrade",
|
||||
"Miss": "Miss",
|
||||
"无法发放奖励\ncode(1):操作被拦截\n“雅莉梦璃原矿”发放失败\n\n服务端已禁止发放奖励\n货币数量已达到上限": "无法发放奖励\ncode(1):操作被拦截\n“雅莉梦璃原矿”发放失败\n\n服务端已禁止发放奖励\n货币数量已达到上限",
|
||||
"无法发放奖励\ncode(1):操作被拦截\n“雅莉梦璃原矿”发放失败\n\n服务端已禁止发放奖励\n货币数量已达到上限": "无法发放奖励\ncode(1):操作被拦截\n“记忆碎片”发放失败\n\n服务端已禁止发放奖励\n算力数量已达到上限",
|
||||
"未知装备材料": "Unknown Equipment Material",
|
||||
"WRITING STORIES": "WRITING STORIES",
|
||||
"我是专员你是专员?": "I am the specialist, and you are too?",
|
||||
@@ -448,7 +448,7 @@
|
||||
"?????????????????": "Please wait for a future system update. Thank you!",
|
||||
"??????????????????????????????????????????????????????": "If none of this had happened, you would have been an ordinary idol. I will set aside the rest of the character files and begin my research with you first, Ayano.",
|
||||
"???? / ????": "Right Mouse Button / Cancel Selection",
|
||||
"?????????": "Currency amount has reached the upper limit",
|
||||
"?????????": "算力数量已达到上限",
|
||||
"???????????????????????????????????????????????????????????????????": "Selecting one or more idols for replay work will increase the idol score earned from this session and improve the overall rewards. We recommend assigning all available idols to the replay lineup.",
|
||||
"??????ID": "Still a five-character legend ID",
|
||||
"????banflag???????": "Loaded banflag bridge file info:",
|
||||
@@ -459,7 +459,7 @@
|
||||
"??????? / ????????": "Left-click to equip or remove skills / Hover to view skill details",
|
||||
"code(1):?????": "code(1): operation intercepted",
|
||||
"??????????": "The server has forbidden reward distribution",
|
||||
"??????\ncode(1):?????\n????????????\n\n??????????\n?????????": "Unable to grant reward\ncode(1): operation intercepted\nFailed to grant \"Yalimengli Raw Ore\"\n\nThe server has forbidden reward distribution\nCurrency amount has reached the upper limit",
|
||||
"??????\ncode(1):?????\n????????????\n\n??????????\n?????????": "Unable to grant reward\ncode(1): operation intercepted\nFailed to grant \"记忆碎片\"\n\nThe server has forbidden reward distribution\n算力数量已达到上限",
|
||||
"??????????????\n<b>???????????????????????????????/?????????????????????????????</b>": "\"Gameplay Statistics\" is coming soon.\n<b>This panel will show key statistics such as accuracy trend lines and average early/late offset charts to help analyze mistakes and weak points during gameplay.</b>",
|
||||
"???????? <b>????</b>\n\ncode=-80,": "Unable to fetch <b>idol voice-over</b> from the server\n\ncode=-80,",
|
||||
"???????? <b>????</b>\n\ncode=err_skin30206::00,": "Unable to fetch <b>character outfit</b> from the server\n\ncode=err_skin30206::00,",
|
||||
@@ -629,7 +629,7 @@
|
||||
"最多展示<b>100</b>条最近记录。这些数据<b>不会上传</b>,仅在本地供您查看。": "最多展示<b>100</b>条最近记录。这些数据<b>不会上传</b>,仅在本地供您查看。",
|
||||
"查看最近100场战绩": "查看最近100场战绩",
|
||||
"允许设置一个自定的百分比黑幕来遮住轨道。最少遮挡20%,最多遮挡90%。每遮挡1%,提供1.5%结算奖励加成。": "允许设置一个自定的百分比黑幕来遮住轨道。最少遮挡20%,最多遮挡90%。每遮挡1%,提供1.5%结算奖励加成。",
|
||||
"“专员等级特技”\n\n玩家每到达一个等级,可解锁一个特别的专员等级技能,这些技能可作用于各种方面,您可以随意切换已解锁的技能,获得意想不到的奇效。\n\n每次切换,需要花费<b>最大金币的<color=red>1%</color></b>\n(<color=red>最少花费200货币</color>)。更换一次专员技能后,须等待<b>3</b>场比赛冷却后方可再次切换。": "“专员等级特技”\n\n玩家每到达一个等级,可解锁一个特别的专员等级技能,这些技能可作用于各种方面,您可以随意切换已解锁的技能,获得意想不到的奇效。\n\n每次切换,需要花费<b>最大金币的<color=red>1%</color></b>\n(<color=red>最少花费200货币</color>)。更换一次专员技能后,须等待<b>3</b>场比赛冷却后方可再次切换。",
|
||||
"“专员等级特技”\n\n玩家每到达一个等级,可解锁一个特别的专员等级技能,这些技能可作用于各种方面,您可以随意切换已解锁的技能,获得意想不到的奇效。\n\n每次切换,需要花费<b>最大金币的<color=red>1%</color></b>\n(<color=red>最少花费200货币</color>)。更换一次专员技能后,须等待<b>3</b>场比赛冷却后方可再次切换。": "“专员等级特技”\n\n玩家每到达一个等级,可解锁一个特别的专员等级技能,这些技能可作用于各种方面,您可以随意切换已解锁的技能,获得意想不到的奇效。\n\n每次切换,需要花费<b>最大算力的<color=red>1%</color></b>\n(<color=red>最少花费200算力</color>)。更换一次专员技能后,须等待<b>3</b>场比赛冷却后方可再次切换。",
|
||||
"信息/提示/警告/错误": "信息/提示/警告/错误",
|
||||
"你已获得": "你已获得",
|
||||
"\"调试已启用 模式<color=red>debug</color>\n——————————\n<color=red>disable</color>": "\"调试已启用 模式<color=red>debug</color>\n——————————\n<color=red>disable</color>",
|
||||
@@ -1901,26 +1901,26 @@
|
||||
"你已来到本索尼克世界。赛前准备时,你可以无限制地进入新手教程。": "你已来到本索尼克世界。赛前准备时,你可以无限制地进入新手教程。",
|
||||
"卸下它时你已不再是新手": "卸下它时你已不再是新手",
|
||||
"记忆购买计划": "记忆购买计划",
|
||||
"允许你以10金币购买1个记忆碎片。装备此技能时可于商店解锁一个购买选项。": "允许你以10金币购买1个记忆碎片。装备此技能时可于商店解锁一个购买选项。",
|
||||
"允许你以10金币购买1个记忆碎片。装备此技能时可于商店解锁一个购买选项。": "允许你以10算力购买1个记忆碎片。装备此技能时可于商店解锁一个购买选项。",
|
||||
"从老师那里新学了什么?": "从老师那里新学了什么?",
|
||||
"记忆归还计划": "记忆归还计划",
|
||||
"允许你将1个记忆碎片以4金币售出。装备此技能时可于商店解锁一个购买选项。": "允许你将1个记忆碎片以4金币售出。装备此技能时可于商店解锁一个购买选项。",
|
||||
"允许你将1个记忆碎片以4金币售出。装备此技能时可于商店解锁一个购买选项。": "允许你将1个记忆碎片以4算力售出。装备此技能时可于商店解锁一个购买选项。",
|
||||
"老师教给你的又还回去了吗?": "老师教给你的又还回去了吗?",
|
||||
"挑战者模型": "挑战者模型",
|
||||
"高风险高回报,好奇心害死猫。": "高风险高回报,好奇心害死猫。",
|
||||
"赛后感悟": "赛后感悟",
|
||||
"每进行10场比赛可获得一件随机类型随机属性的记忆。在更换技能时清零计数器。": "每进行10场比赛可获得一件随机类型随机属性的记忆。在更换技能时清零计数器。",
|
||||
"我爱发明": "我爱发明",
|
||||
"你的记忆融合和加速所需的货币减半。": "你的记忆融合和加速所需的货币减半。",
|
||||
"你的记忆融合和加速所需的货币减半。": "你的记忆融合和加速所需的算力减半。",
|
||||
"追梦之路": "追梦之路",
|
||||
"结算时,获得偶像分数1‰的记忆碎片。": "结算时,获得偶像分数1‰的记忆碎片。",
|
||||
"洞察": "洞察",
|
||||
"你可以看到角色未解锁的技能及其介绍。": "你可以看到角色未解锁的技能及其介绍。",
|
||||
"你的目光极具战略前瞻性。": "你的目光极具战略前瞻性。",
|
||||
"95折": "95折",
|
||||
"消费记忆碎片和coins时百分比返还。你每拥有一个偶像,增加消费返还的比例0.5%。最多合计返还5%。": "消费记忆碎片和coins时百分比返还。你每拥有一个偶像,增加消费返还的比例0.5%。最多合计返还5%。",
|
||||
"消费记忆碎片和coins时百分比返还。你每拥有一个偶像,增加消费返还的比例0.5%。最多合计返还5%。": "消费记忆碎片和算力时百分比返还。你每拥有一个偶像,增加消费返还的比例0.5%。最多合计返还5%。",
|
||||
"利润提取器": "利润提取器",
|
||||
"结算时,获得偶像分数2‰的金币。": "结算时,获得偶像分数2‰的金币。",
|
||||
"结算时,获得偶像分数2‰的金币。": "结算时,获得偶像分数2‰的算力。",
|
||||
"死与税": "死与税",
|
||||
"顶峰相见": "顶峰相见",
|
||||
"游戏中你的视角高度提高10%。": "游戏中你的视角高度提高10%。",
|
||||
@@ -2277,14 +2277,14 @@
|
||||
"拥有35首歌曲": "拥有35首歌曲",
|
||||
"拥有50歌曲": "拥有50歌曲",
|
||||
"拥有50首歌曲": "拥有50首歌曲",
|
||||
"累计获得100金币": "累计获得100金币",
|
||||
"累计获得100金币": "累计获得100算力",
|
||||
"coins_earned": "coins_earned",
|
||||
"累计获得1000金币": "累计获得1000金币",
|
||||
"累计获得5000金币": "累计获得5000金币",
|
||||
"累计获得10000金币": "累计获得10000金币",
|
||||
"累计获得50000金币": "累计获得50000金币",
|
||||
"累计获得100000金币": "累计获得100000金币",
|
||||
"累计获得500000金币": "累计获得500000金币",
|
||||
"累计获得1000金币": "累计获得1000算力",
|
||||
"累计获得5000金币": "累计获得5000算力",
|
||||
"累计获得10000金币": "累计获得10000算力",
|
||||
"累计获得50000金币": "累计获得50000算力",
|
||||
"累计获得100000金币": "累计获得100000算力",
|
||||
"累计获得500000金币": "累计获得500000算力",
|
||||
"总分累计2500000": "总分累计2500000",
|
||||
"total_song_best_sum": "total_song_best_sum",
|
||||
"总分之和达到250万": "总分之和达到250万",
|
||||
@@ -2313,7 +2313,7 @@
|
||||
"啥子": "啥子",
|
||||
"全部歌曲": "全部歌曲",
|
||||
"全套歌曲": "全套歌曲",
|
||||
"大量货币": "大量货币",
|
||||
"大量货币": "大量算力",
|
||||
"雅莉梦璃币": "雅莉梦璃币",
|
||||
"用户经验": "用户经验",
|
||||
"满级用户": "满级用户",
|
||||
@@ -2768,16 +2768,16 @@
|
||||
"稀有的超级版”共享单元“,使用后给随机4个未到达突破限制的偶像提供400经验。": "稀有的超级版”共享单元“,使用后给随机4个未到达突破限制的偶像提供400经验。",
|
||||
"给经验值最低的<b>4</b>个偶像提升<b>400</b>经验值(每个偶像最多获得400经验),有助于让多个偶像得到经验值。<b>非卖品</b>。\n\n“我觉得它还差那么一点。”": "给经验值最低的<b>4</b>个偶像提升<b>400</b>经验值(每个偶像最多获得400经验),有助于让多个偶像得到经验值。<b>非卖品</b>。\n\n“我觉得它还差那么一点。”",
|
||||
"<color=#4A86B8>三级归档合约</color>": "<color=#4A86B8>三级归档合约</color>",
|
||||
"只有满经验的C偶像可用。足够数量的归档合约和一定金币可使其突破至B。": "只有满经验的C偶像可用。足够数量的归档合约和一定金币可使其突破至B。",
|
||||
"只有满经验的C偶像可用。足够数量的归档合约和一定金币可使其突破至B。": "只有满经验的C偶像可用。足够数量的归档合约和一定算力可使其突破至B。",
|
||||
"可帮助<b>经验达到上限</b>的<b>C</b>级阅历偶像突破到<b>B</b>级阅历(经验值不满无法使用),有助于让偶像跃迁。\n\n“请本人签字”": "可帮助<b>经验达到上限</b>的<b>C</b>级阅历偶像突破到<b>B</b>级阅历(经验值不满无法使用),有助于让偶像跃迁。\n\n“请本人签字”",
|
||||
"<color=#6A4C9C>二级归档合约</color>": "<color=#6A4C9C>二级归档合约</color>",
|
||||
"只有满经验的B偶像可用。足够数量的归档合约和一定金币可使其突破至A。": "只有满经验的B偶像可用。足够数量的归档合约和一定金币可使其突破至A。",
|
||||
"只有满经验的B偶像可用。足够数量的归档合约和一定金币可使其突破至A。": "只有满经验的B偶像可用。足够数量的归档合约和一定算力可使其突破至A。",
|
||||
"一颗含有偶像灵力的洋葱,可帮助<b>经验达到上限</b>的<b>B</b>级阅历偶像突破到<b>A</b>级阅历(经验值不满无法使用),有助于让偶像跃迁,可由<b>5</b>个<b><color=#4A86B8>三级归档合约</color></b>合成。\n\n“档案已经写了得有1个‘W’的字数了”": "一颗含有偶像灵力的洋葱,可帮助<b>经验达到上限</b>的<b>B</b>级阅历偶像突破到<b>A</b>级阅历(经验值不满无法使用),有助于让偶像跃迁,可由<b>5</b>个<b><color=#4A86B8>三级归档合约</color></b>合成。\n\n“档案已经写了得有1个‘W’的字数了”",
|
||||
"<color=#B88645>一级归档合约</color>": "<color=#B88645>一级归档合约</color>",
|
||||
"只有满经验的A偶像可用。足够数量的归档合约和一定金币可使其突破至S。": "只有满经验的A偶像可用。足够数量的归档合约和一定金币可使其突破至S。",
|
||||
"只有满经验的A偶像可用。足够数量的归档合约和一定金币可使其突破至S。": "只有满经验的A偶像可用。足够数量的归档合约和一定算力可使其突破至S。",
|
||||
"可帮助<b>经验达到上限</b>的<b>A</b>级阅历偶像突破到<b>S</b>级阅历(经验值不满无法使用),有助于让偶像跃迁,可由<b>10</b>个<b><color=#6A4C9C>二级归档合约</color></b>合成。\n\n“放进我的收藏夹里吃灰吧!”": "可帮助<b>经验达到上限</b>的<b>A</b>级阅历偶像突破到<b>S</b>级阅历(经验值不满无法使用),有助于让偶像跃迁,可由<b>10</b>个<b><color=#6A4C9C>二级归档合约</color></b>合成。\n\n“放进我的收藏夹里吃灰吧!”",
|
||||
"<color=#B84C4C>终极归档合约</color>": "<color=#B84C4C>终极归档合约</color>",
|
||||
"满经验的任意阅历资格偶像可用。足够数量的归档合约和一定金币可使其突破至S。": "满经验的任意阅历资格偶像可用。足够数量的归档合约和一定金币可使其突破至S。",
|
||||
"满经验的任意阅历资格偶像可用。足够数量的归档合约和一定金币可使其突破至S。": "满经验的任意阅历资格偶像可用。足够数量的归档合约和一定算力可使其突破至S。",
|
||||
"可帮助<b>经验达到上限</b>的<b>C</b>级阅历偶像突破到<b>S</b>级阅历(经验值不满无法使用),有助于让偶像飞速成长,<b><color=#B84C4C>不可合成</color></b>。\n\n“一夜之间写完档案吗?有点意思...让我想起了我的学生时期......”": "可帮助<b>经验达到上限</b>的<b>C</b>级阅历偶像突破到<b>S</b>级阅历(经验值不满无法使用),有助于让偶像飞速成长,<b><color=#B84C4C>不可合成</color></b>。\n\n“一夜之间写完档案吗?有点意思...让我想起了我的学生时期......”",
|
||||
"<color=#6A4C9C>美味小蛋糕</color>": "<color=#6A4C9C>美味小蛋糕</color>",
|
||||
"一块神秘美味蛋糕。可帮助回忆美好事物。": "一块神秘美味蛋糕。可帮助回忆美好事物。",
|
||||
@@ -2862,7 +2862,7 @@
|
||||
"阅读剧情 1 次": "阅读剧情 1 次",
|
||||
"使用任意经验提升或突破材料 1 次": "使用任意经验提升或突破材料 1 次",
|
||||
"在线 15 分钟": "在线 15 分钟",
|
||||
"消费 2000 coins": "消费 2000 coins",
|
||||
"消费 2000 coins": "消费 2000 算力",
|
||||
"游玩 3 首不同的歌曲": "游玩 3 首不同的歌曲",
|
||||
"Lit 2D (URP)": "Lit 2D (URP)",
|
||||
"Contains an orthographic camera and a Global Light 2D. Works with the 2D Renderer in Universal RP.": "Contains an orthographic camera and a Global Light 2D. Works with the 2D Renderer in Universal RP.",
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
"press_start.banflag_found": "已找到 banflag",
|
||||
"song.details.play_count": "PlayCount: {0}",
|
||||
"press_start.idle": "按回车键继续。",
|
||||
"store.error.insufficient_currency": "货币不足",
|
||||
"store.error.insufficient_currency": "算力不足",
|
||||
"press_start.waiting_banflag": "等待 banflag...",
|
||||
"daily.no_claimable_reward": "暂无可领取奖励",
|
||||
"press_start.warning_content": "<color=orange>当前处于测试阶段</color><color=red>未授权版本</color><color=orange>版本号:</color><color=red>v1.0.0</color><color=orange>,请注意风险。</color>",
|
||||
@@ -268,7 +268,7 @@
|
||||
"本难度最佳总分": "本难度最佳总分",
|
||||
"此操作将重置存档": "此操作将重置存档",
|
||||
"分享": "分享",
|
||||
"雅莉梦璃原矿": "雅莉梦璃原矿",
|
||||
"雅莉梦璃原矿": "记忆碎片",
|
||||
"New Text": "New Text",
|
||||
"服务器繁忙": "服务器繁忙",
|
||||
"Press Enter to continue.": "按回车键继续。",
|
||||
@@ -395,7 +395,7 @@
|
||||
"法力上限": "法力上限",
|
||||
"升级": "升级",
|
||||
"Miss": "Miss",
|
||||
"无法发放奖励\ncode(1):操作被拦截\n“雅莉梦璃原矿”发放失败\n\n服务端已禁止发放奖励\n货币数量已达到上限": "无法发放奖励\ncode(1):操作被拦截\n“雅莉梦璃原矿”发放失败\n\n服务端已禁止发放奖励\n货币数量已达到上限",
|
||||
"无法发放奖励\ncode(1):操作被拦截\n“雅莉梦璃原矿”发放失败\n\n服务端已禁止发放奖励\n货币数量已达到上限": "无法发放奖励\ncode(1):操作被拦截\n“记忆碎片”发放失败\n\n服务端已禁止发放奖励\n算力数量已达到上限",
|
||||
"好吧,无奈之举": "好吧,无奈之举",
|
||||
"Button": "Button",
|
||||
"我是专员你是专员?": "我是专员你是专员?",
|
||||
@@ -582,7 +582,7 @@
|
||||
"最多展示<b>100</b>条最近记录。这些数据<b>不会上传</b>,仅在本地供您查看。": "最多展示<b>100</b>条最近记录。这些数据<b>不会上传</b>,仅在本地供您查看。",
|
||||
"查看最近100场战绩": "查看最近100场战绩",
|
||||
"允许设置一个自定的百分比黑幕来遮住轨道。最少遮挡20%,最多遮挡90%。每遮挡1%,提供1.5%结算奖励加成。": "允许设置一个自定的百分比黑幕来遮住轨道。最少遮挡20%,最多遮挡90%。每遮挡1%,提供1.5%结算奖励加成。",
|
||||
"“专员等级特技”\n\n玩家每到达一个等级,可解锁一个特别的专员等级技能,这些技能可作用于各种方面,您可以随意切换已解锁的技能,获得意想不到的奇效。\n\n每次切换,需要花费<b>最大金币的<color=red>1%</color></b>\n(<color=red>最少花费200货币</color>)。更换一次专员技能后,须等待<b>3</b>场比赛冷却后方可再次切换。": "“专员等级特技”\n\n玩家每到达一个等级,可解锁一个特别的专员等级技能,这些技能可作用于各种方面,您可以随意切换已解锁的技能,获得意想不到的奇效。\n\n每次切换,需要花费<b>最大金币的<color=red>1%</color></b>\n(<color=red>最少花费200货币</color>)。更换一次专员技能后,须等待<b>3</b>场比赛冷却后方可再次切换。",
|
||||
"“专员等级特技”\n\n玩家每到达一个等级,可解锁一个特别的专员等级技能,这些技能可作用于各种方面,您可以随意切换已解锁的技能,获得意想不到的奇效。\n\n每次切换,需要花费<b>最大金币的<color=red>1%</color></b>\n(<color=red>最少花费200货币</color>)。更换一次专员技能后,须等待<b>3</b>场比赛冷却后方可再次切换。": "“专员等级特技”\n\n玩家每到达一个等级,可解锁一个特别的专员等级技能,这些技能可作用于各种方面,您可以随意切换已解锁的技能,获得意想不到的奇效。\n\n每次切换,需要花费<b>最大算力的<color=red>1%</color></b>\n(<color=red>最少花费200算力</color>)。更换一次专员技能后,须等待<b>3</b>场比赛冷却后方可再次切换。",
|
||||
"信息/提示/警告/错误": "信息/提示/警告/错误",
|
||||
"你已获得": "你已获得",
|
||||
"\"调试已启用 模式<color=red>debug</color>\n——————————\n<color=red>disable</color>": "\"调试已启用 模式<color=red>debug</color>\n——————————\n<color=red>disable</color>",
|
||||
@@ -1854,26 +1854,26 @@
|
||||
"你已来到本索尼克世界。赛前准备时,你可以无限制地进入新手教程。": "你已来到本索尼克世界。赛前准备时,你可以无限制地进入新手教程。",
|
||||
"卸下它时你已不再是新手": "卸下它时你已不再是新手",
|
||||
"记忆购买计划": "记忆购买计划",
|
||||
"允许你以10金币购买1个记忆碎片。装备此技能时可于商店解锁一个购买选项。": "允许你以10金币购买1个记忆碎片。装备此技能时可于商店解锁一个购买选项。",
|
||||
"允许你以10金币购买1个记忆碎片。装备此技能时可于商店解锁一个购买选项。": "允许你以10算力购买1个记忆碎片。装备此技能时可于商店解锁一个购买选项。",
|
||||
"从老师那里新学了什么?": "从老师那里新学了什么?",
|
||||
"记忆归还计划": "记忆归还计划",
|
||||
"允许你将1个记忆碎片以4金币售出。装备此技能时可于商店解锁一个购买选项。": "允许你将1个记忆碎片以4金币售出。装备此技能时可于商店解锁一个购买选项。",
|
||||
"允许你将1个记忆碎片以4金币售出。装备此技能时可于商店解锁一个购买选项。": "允许你将1个记忆碎片以4算力售出。装备此技能时可于商店解锁一个购买选项。",
|
||||
"老师教给你的又还回去了吗?": "老师教给你的又还回去了吗?",
|
||||
"挑战者模型": "挑战者模型",
|
||||
"高风险高回报,好奇心害死猫。": "高风险高回报,好奇心害死猫。",
|
||||
"赛后感悟": "赛后感悟",
|
||||
"每进行10场比赛可获得一件随机类型随机属性的记忆。在更换技能时清零计数器。": "每进行10场比赛可获得一件随机类型随机属性的记忆。在更换技能时清零计数器。",
|
||||
"我爱发明": "我爱发明",
|
||||
"你的记忆融合和加速所需的货币减半。": "你的记忆融合和加速所需的货币减半。",
|
||||
"你的记忆融合和加速所需的货币减半。": "你的记忆融合和加速所需的算力减半。",
|
||||
"追梦之路": "追梦之路",
|
||||
"结算时,获得偶像分数1‰的记忆碎片。": "结算时,获得偶像分数1‰的记忆碎片。",
|
||||
"洞察": "洞察",
|
||||
"你可以看到角色未解锁的技能及其介绍。": "你可以看到角色未解锁的技能及其介绍。",
|
||||
"你的目光极具战略前瞻性。": "你的目光极具战略前瞻性。",
|
||||
"95折": "95折",
|
||||
"消费记忆碎片和coins时百分比返还。你每拥有一个偶像,增加消费返还的比例0.5%。最多合计返还5%。": "消费记忆碎片和coins时百分比返还。你每拥有一个偶像,增加消费返还的比例0.5%。最多合计返还5%。",
|
||||
"消费记忆碎片和coins时百分比返还。你每拥有一个偶像,增加消费返还的比例0.5%。最多合计返还5%。": "消费记忆碎片和算力时百分比返还。你每拥有一个偶像,增加消费返还的比例0.5%。最多合计返还5%。",
|
||||
"利润提取器": "利润提取器",
|
||||
"结算时,获得偶像分数2‰的金币。": "结算时,获得偶像分数2‰的金币。",
|
||||
"结算时,获得偶像分数2‰的金币。": "结算时,获得偶像分数2‰的算力。",
|
||||
"死与税": "死与税",
|
||||
"顶峰相见": "顶峰相见",
|
||||
"游戏中你的视角高度提高10%。": "游戏中你的视角高度提高10%。",
|
||||
@@ -2230,14 +2230,14 @@
|
||||
"拥有35首歌曲": "拥有35首歌曲",
|
||||
"拥有50歌曲": "拥有50歌曲",
|
||||
"拥有50首歌曲": "拥有50首歌曲",
|
||||
"累计获得100金币": "累计获得100金币",
|
||||
"累计获得100金币": "累计获得100算力",
|
||||
"coins_earned": "coins_earned",
|
||||
"累计获得1000金币": "累计获得1000金币",
|
||||
"累计获得5000金币": "累计获得5000金币",
|
||||
"累计获得10000金币": "累计获得10000金币",
|
||||
"累计获得50000金币": "累计获得50000金币",
|
||||
"累计获得100000金币": "累计获得100000金币",
|
||||
"累计获得500000金币": "累计获得500000金币",
|
||||
"累计获得1000金币": "累计获得1000算力",
|
||||
"累计获得5000金币": "累计获得5000算力",
|
||||
"累计获得10000金币": "累计获得10000算力",
|
||||
"累计获得50000金币": "累计获得50000算力",
|
||||
"累计获得100000金币": "累计获得100000算力",
|
||||
"累计获得500000金币": "累计获得500000算力",
|
||||
"总分累计2500000": "总分累计2500000",
|
||||
"total_song_best_sum": "total_song_best_sum",
|
||||
"总分之和达到250万": "总分之和达到250万",
|
||||
@@ -2266,7 +2266,7 @@
|
||||
"啥子": "啥子",
|
||||
"全部歌曲": "全部歌曲",
|
||||
"全套歌曲": "全套歌曲",
|
||||
"大量货币": "大量货币",
|
||||
"大量货币": "大量算力",
|
||||
"雅莉梦璃币": "雅莉梦璃币",
|
||||
"用户经验": "用户经验",
|
||||
"满级用户": "满级用户",
|
||||
@@ -2721,16 +2721,16 @@
|
||||
"稀有的超级版”共享单元“,使用后给随机4个未到达突破限制的偶像提供400经验。": "稀有的超级版”共享单元“,使用后给随机4个未到达突破限制的偶像提供400经验。",
|
||||
"给经验值最低的<b>4</b>个偶像提升<b>400</b>经验值(每个偶像最多获得400经验),有助于让多个偶像得到经验值。<b>非卖品</b>。\n\n“我觉得它还差那么一点。”": "给经验值最低的<b>4</b>个偶像提升<b>400</b>经验值(每个偶像最多获得400经验),有助于让多个偶像得到经验值。<b>非卖品</b>。\n\n“我觉得它还差那么一点。”",
|
||||
"<color=#4A86B8>三级归档合约</color>": "<color=#4A86B8>三级归档合约</color>",
|
||||
"只有满经验的C偶像可用。足够数量的归档合约和一定金币可使其突破至B。": "只有满经验的C偶像可用。足够数量的归档合约和一定金币可使其突破至B。",
|
||||
"只有满经验的C偶像可用。足够数量的归档合约和一定金币可使其突破至B。": "只有满经验的C偶像可用。足够数量的归档合约和一定算力可使其突破至B。",
|
||||
"可帮助<b>经验达到上限</b>的<b>C</b>级阅历偶像突破到<b>B</b>级阅历(经验值不满无法使用),有助于让偶像跃迁。\n\n“请本人签字”": "可帮助<b>经验达到上限</b>的<b>C</b>级阅历偶像突破到<b>B</b>级阅历(经验值不满无法使用),有助于让偶像跃迁。\n\n“请本人签字”",
|
||||
"<color=#6A4C9C>二级归档合约</color>": "<color=#6A4C9C>二级归档合约</color>",
|
||||
"只有满经验的B偶像可用。足够数量的归档合约和一定金币可使其突破至A。": "只有满经验的B偶像可用。足够数量的归档合约和一定金币可使其突破至A。",
|
||||
"只有满经验的B偶像可用。足够数量的归档合约和一定金币可使其突破至A。": "只有满经验的B偶像可用。足够数量的归档合约和一定算力可使其突破至A。",
|
||||
"一颗含有偶像灵力的洋葱,可帮助<b>经验达到上限</b>的<b>B</b>级阅历偶像突破到<b>A</b>级阅历(经验值不满无法使用),有助于让偶像跃迁,可由<b>5</b>个<b><color=#4A86B8>三级归档合约</color></b>合成。\n\n“档案已经写了得有1个‘W’的字数了”": "一颗含有偶像灵力的洋葱,可帮助<b>经验达到上限</b>的<b>B</b>级阅历偶像突破到<b>A</b>级阅历(经验值不满无法使用),有助于让偶像跃迁,可由<b>5</b>个<b><color=#4A86B8>三级归档合约</color></b>合成。\n\n“档案已经写了得有1个‘W’的字数了”",
|
||||
"<color=#B88645>一级归档合约</color>": "<color=#B88645>一级归档合约</color>",
|
||||
"只有满经验的A偶像可用。足够数量的归档合约和一定金币可使其突破至S。": "只有满经验的A偶像可用。足够数量的归档合约和一定金币可使其突破至S。",
|
||||
"只有满经验的A偶像可用。足够数量的归档合约和一定金币可使其突破至S。": "只有满经验的A偶像可用。足够数量的归档合约和一定算力可使其突破至S。",
|
||||
"可帮助<b>经验达到上限</b>的<b>A</b>级阅历偶像突破到<b>S</b>级阅历(经验值不满无法使用),有助于让偶像跃迁,可由<b>10</b>个<b><color=#6A4C9C>二级归档合约</color></b>合成。\n\n“放进我的收藏夹里吃灰吧!”": "可帮助<b>经验达到上限</b>的<b>A</b>级阅历偶像突破到<b>S</b>级阅历(经验值不满无法使用),有助于让偶像跃迁,可由<b>10</b>个<b><color=#6A4C9C>二级归档合约</color></b>合成。\n\n“放进我的收藏夹里吃灰吧!”",
|
||||
"<color=#B84C4C>终极归档合约</color>": "<color=#B84C4C>终极归档合约</color>",
|
||||
"满经验的任意阅历资格偶像可用。足够数量的归档合约和一定金币可使其突破至S。": "满经验的任意阅历资格偶像可用。足够数量的归档合约和一定金币可使其突破至S。",
|
||||
"满经验的任意阅历资格偶像可用。足够数量的归档合约和一定金币可使其突破至S。": "满经验的任意阅历资格偶像可用。足够数量的归档合约和一定算力可使其突破至S。",
|
||||
"可帮助<b>经验达到上限</b>的<b>C</b>级阅历偶像突破到<b>S</b>级阅历(经验值不满无法使用),有助于让偶像飞速成长,<b><color=#B84C4C>不可合成</color></b>。\n\n“一夜之间写完档案吗?有点意思...让我想起了我的学生时期......”": "可帮助<b>经验达到上限</b>的<b>C</b>级阅历偶像突破到<b>S</b>级阅历(经验值不满无法使用),有助于让偶像飞速成长,<b><color=#B84C4C>不可合成</color></b>。\n\n“一夜之间写完档案吗?有点意思...让我想起了我的学生时期......”",
|
||||
"<color=#6A4C9C>美味小蛋糕</color>": "<color=#6A4C9C>美味小蛋糕</color>",
|
||||
"一块神秘美味蛋糕。可帮助回忆美好事物。": "一块神秘美味蛋糕。可帮助回忆美好事物。",
|
||||
@@ -2815,7 +2815,7 @@
|
||||
"阅读剧情 1 次": "阅读剧情 1 次",
|
||||
"使用任意经验提升或突破材料 1 次": "使用任意经验提升或突破材料 1 次",
|
||||
"在线 15 分钟": "在线 15 分钟",
|
||||
"消费 2000 coins": "消费 2000 coins",
|
||||
"消费 2000 coins": "消费 2000 算力",
|
||||
"游玩 3 首不同的歌曲": "游玩 3 首不同的歌曲",
|
||||
"Lit 2D (URP)": "Lit 2D (URP)",
|
||||
"Contains an orthographic camera and a Global Light 2D. Works with the 2D Renderer in Universal RP.": "Contains an orthographic camera and a Global Light 2D. Works with the 2D Renderer in Universal RP.",
|
||||
|
||||
@@ -34,8 +34,8 @@ MonoBehaviour:
|
||||
m_DataZoomDataLineWidth: 0.5
|
||||
m_VisualMapBorderWidth: 0
|
||||
m_SerieLineWidth: 1.8
|
||||
m_SerieLineSymbolSize: 5
|
||||
m_SerieScatterSymbolSize: 20
|
||||
m_SerieLineSymbolSize: 2
|
||||
m_SerieScatterSymbolSize: 7
|
||||
m_SerieSelectedRate: 1.3
|
||||
m_SerieCandlestickBorderWidth: 1
|
||||
m_EditorShowAllListData: 0
|
||||
|
||||
@@ -186,8 +186,8 @@ MonoBehaviour:
|
||||
m_TriangeLen: 20
|
||||
m_Serie:
|
||||
m_LineWidth: 1.8
|
||||
m_LineSymbolSize: 5
|
||||
m_ScatterSymbolSize: 20
|
||||
m_LineSymbolSize: 2
|
||||
m_ScatterSymbolSize: 7
|
||||
m_CandlestickColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4283846390
|
||||
|
||||
@@ -143,8 +143,8 @@ MonoBehaviour:
|
||||
m_TriangeLen: 20
|
||||
m_Serie:
|
||||
m_LineWidth: 1.8
|
||||
m_LineSymbolSize: 5
|
||||
m_ScatterSymbolSize: 20
|
||||
m_LineSymbolSize: 2
|
||||
m_ScatterSymbolSize: 7
|
||||
m_CandlestickColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4283716843
|
||||
|
||||
@@ -47,8 +47,8 @@ namespace XCharts.Runtime
|
||||
[SerializeField][Range(0, 20)] private float m_VisualMapBorderWidth = 0f;
|
||||
|
||||
[SerializeField][Range(0, 20)] private float m_SerieLineWidth = 1.8f;
|
||||
[SerializeField][Range(0, 200)] private float m_SerieLineSymbolSize = 5f;
|
||||
[SerializeField][Range(0, 200)] private float m_SerieScatterSymbolSize = 20f;
|
||||
[SerializeField][Range(0, 200)] private float m_SerieLineSymbolSize = 2f;
|
||||
[SerializeField][Range(0, 200)] private float m_SerieScatterSymbolSize = 7f;
|
||||
[SerializeField][Range(0, 200)] private float m_SerieSelectedRate = 1.3f;
|
||||
[SerializeField][Range(0, 10)] private float m_SerieCandlestickBorderWidth = 1f;
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ TextureImporter:
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteBorder: {x: 5, y: 9, z: 7, w: 5}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
@@ -139,7 +139,7 @@ TextureImporter:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 9011aa2553d7d8c418c3a74a904410f6
|
||||
internalID: 0
|
||||
internalID: -192517948
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
|
||||
@@ -52,7 +52,7 @@ TextureImporter:
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteBorder: {x: 5, y: 9, z: 7, w: 5}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
@@ -139,7 +139,7 @@ TextureImporter:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5f923e9ce00ef784bb535cf3d772d22b
|
||||
internalID: 0
|
||||
internalID: 1253264213
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
|
||||
|
After Width: | Height: | Size: 61 KiB |
@@ -0,0 +1,156 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c219681c37e1b334c997f2eb1a81f405
|
||||
TextureImporter:
|
||||
internalIDToNameTable:
|
||||
- first:
|
||||
213: -8331064290051192931
|
||||
second: "\u6307\u948801_0"
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 7
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 4
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 256
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites:
|
||||
- serializedVersion: 2
|
||||
name: "\u6307\u948801_0"
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 129
|
||||
y: 42
|
||||
width: 236
|
||||
height: 359
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
customData:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: -1
|
||||
bones: []
|
||||
spriteID: d978e860b2d126c80800000000000000
|
||||
internalID: -8331064290051192931
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable:
|
||||
"\u6307\u948801_0": -8331064290051192931
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 2.4 KiB |
@@ -0,0 +1,129 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7c9b34c3b5c64e048bb0e4c7de0b0d11
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 64
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 7
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 1
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 4
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 64
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 64
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 1
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Android
|
||||
maxTextureSize: 64
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 1
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData: Cursor texture for Cursor.SetCursor. Drag this Texture2D asset directly instead of a Sprite slice.
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 132 KiB |
@@ -0,0 +1,156 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2789dc4fff91b044a885db9f61360702
|
||||
TextureImporter:
|
||||
internalIDToNameTable:
|
||||
- first:
|
||||
213: -5928434924538351522
|
||||
second: "\u6307\u948801 (1)_0"
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 2
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 7
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 4
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites:
|
||||
- serializedVersion: 2
|
||||
name: "\u6307\u948801 (1)_0"
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 106
|
||||
y: 0
|
||||
width: 328
|
||||
height: 492
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
customData:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: -1
|
||||
bones: []
|
||||
spriteID: e503fd8a8d7f9bda0800000000000000
|
||||
internalID: -5928434924538351522
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable:
|
||||
"\u6307\u948801 (1)_0": -5928434924538351522
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -121,8 +121,8 @@ TextureImporter:
|
||||
width: 107
|
||||
height: 109
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
pivot: {x: 0.5, y: 0.5}
|
||||
border: {x: 4, y: 8, z: 6, w: 4}
|
||||
customData:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
@@ -138,7 +138,7 @@ TextureImporter:
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
spriteID: 03f839c2efbb4904b9bb3d90a2ef40f7
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
@@ -147,7 +147,8 @@ TextureImporter:
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable: {}
|
||||
nameFileIdTable:
|
||||
ui_frame_setting__0: 8242753404081519931
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
|
||||
@@ -46,13 +46,13 @@ TextureImporter:
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 2
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteBorder: {x: 9, y: 9, z: 294, w: 8}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
@@ -121,7 +121,7 @@ TextureImporter:
|
||||
width: 383
|
||||
height: 292
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
pivot: {x: 0.5, y: 0.5}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
customData:
|
||||
outline: []
|
||||
@@ -138,8 +138,8 @@ TextureImporter:
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 1537655665
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
@@ -147,7 +147,8 @@ TextureImporter:
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable: {}
|
||||
nameFileIdTable:
|
||||
ui_frame_chat_0: 4007589676381282746
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
|
||||
|
After Width: | Height: | Size: 75 KiB |
@@ -0,0 +1,156 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f14b64b175b40214b9e2b4ba8be24697
|
||||
TextureImporter:
|
||||
internalIDToNameTable:
|
||||
- first:
|
||||
213: 1630286112366589552
|
||||
second: LMM01_0
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 4
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites:
|
||||
- serializedVersion: 2
|
||||
name: LMM01_0
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 200
|
||||
height: 200
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
customData:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: -1
|
||||
bones: []
|
||||
spriteID: 076fcd1e490ff9610800000000000000
|
||||
internalID: 1630286112366589552
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable:
|
||||
LMM01_0: 1630286112366589552
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 33 KiB |
@@ -0,0 +1,156 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4aa2a31f345485c42bd2f44b2488b7f8
|
||||
TextureImporter:
|
||||
internalIDToNameTable:
|
||||
- first:
|
||||
213: 8574118028986653512
|
||||
second: LMM02_0
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 4
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites:
|
||||
- serializedVersion: 2
|
||||
name: LMM02_0
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 331
|
||||
height: 91
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
customData:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: -1
|
||||
bones: []
|
||||
spriteID: 84b95047be26df670800000000000000
|
||||
internalID: 8574118028986653512
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable:
|
||||
LMM02_0: 8574118028986653512
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 35 KiB |
@@ -0,0 +1,156 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7df561841c29f7c4495809fa26c0fd87
|
||||
TextureImporter:
|
||||
internalIDToNameTable:
|
||||
- first:
|
||||
213: -5627988409318439881
|
||||
second: LMM03_0
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 4
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites:
|
||||
- serializedVersion: 2
|
||||
name: LMM03_0
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 27
|
||||
y: 0
|
||||
width: 172
|
||||
height: 96
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
customData:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: -1
|
||||
bones: []
|
||||
spriteID: 7340f8e2c5e55e1b0800000000000000
|
||||
internalID: -5627988409318439881
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable:
|
||||
LMM03_0: -5627988409318439881
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 2.3 MiB |
@@ -0,0 +1,156 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3f085a9ca0d0c8b41a02c952e6a7bf02
|
||||
TextureImporter:
|
||||
internalIDToNameTable:
|
||||
- first:
|
||||
213: -6045562355919041804
|
||||
second: "\u9ECE\u5999\u5999_0"
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 4
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites:
|
||||
- serializedVersion: 2
|
||||
name: "\u9ECE\u5999\u5999_0"
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 1006
|
||||
y: 18
|
||||
width: 988
|
||||
height: 2964
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
customData:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: -1
|
||||
bones: []
|
||||
spriteID: 4fac8fb6119d91ca0800000000000000
|
||||
internalID: -6045562355919041804
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable:
|
||||
"\u9ECE\u5999\u5999_0": -6045562355919041804
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 30 KiB |
@@ -0,0 +1,156 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 32a17cd770649ef4ba742170d95271e0
|
||||
TextureImporter:
|
||||
internalIDToNameTable:
|
||||
- first:
|
||||
213: 3116782900250355538
|
||||
second: role_7_0
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 4
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites:
|
||||
- serializedVersion: 2
|
||||
name: role_7_0
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 100
|
||||
height: 136
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
customData:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: -1
|
||||
bones: []
|
||||
spriteID: 2572f6bc889014b20800000000000000
|
||||
internalID: 3116782900250355538
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable:
|
||||
role_7_0: 3116782900250355538
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 180 KiB |
@@ -0,0 +1,156 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0037e2eca8c94144db3688d8d960a451
|
||||
TextureImporter:
|
||||
internalIDToNameTable:
|
||||
- first:
|
||||
213: 8956787028819111974
|
||||
second: rolecards_7_0
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 4
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites:
|
||||
- serializedVersion: 2
|
||||
name: rolecards_7_0
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 166
|
||||
height: 679
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
customData:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: -1
|
||||
bones: []
|
||||
spriteID: 620f69df856ec4c70800000000000000
|
||||
internalID: 8956787028819111974
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable:
|
||||
rolecards_7_0: 8956787028819111974
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 28 KiB |
@@ -0,0 +1,156 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 56b39b38b521ce242b63d86cc4bd2812
|
||||
TextureImporter:
|
||||
internalIDToNameTable:
|
||||
- first:
|
||||
213: 5564047283278955633
|
||||
second: ui_role_idol_limiaomiao_0
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 4
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites:
|
||||
- serializedVersion: 2
|
||||
name: ui_role_idol_limiaomiao_0
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 105
|
||||
height: 116
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
customData:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: -1
|
||||
bones: []
|
||||
spriteID: 174c1594687773d40800000000000000
|
||||
internalID: 5564047283278955633
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable:
|
||||
ui_role_idol_limiaomiao_0: 5564047283278955633
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -15,8 +15,11 @@ namespace Bansonic
|
||||
private const string NextGeneratedIdPrefsKey = "bansonic_equipment_next_id_v1";
|
||||
private const string RuntimeSaveCategory = "runtime_equipment";
|
||||
private const string RuntimeSaveKey = "generated_list";
|
||||
private const string RuntimeRecoverySlotKey = "runtime_generated_equipment_list";
|
||||
private static readonly List<equipmentSO> RuntimeGeneratedEquipments = new List<equipmentSO>();
|
||||
private static bool runtimeGeneratedLoaded;
|
||||
private static bool runtimeGeneratedLoadedFromSave;
|
||||
private static bool runtimeGeneratedHasRecoverableState;
|
||||
|
||||
private enum QualityRollMode { Default, High }
|
||||
|
||||
@@ -113,7 +116,10 @@ namespace Bansonic
|
||||
{
|
||||
RuntimeGeneratedEquipments.Clear();
|
||||
runtimeGeneratedLoaded = true;
|
||||
runtimeGeneratedLoadedFromSave = false;
|
||||
runtimeGeneratedHasRecoverableState = false;
|
||||
SecureSaveVault.Delete(RuntimeSaveCategory, RuntimeSaveKey);
|
||||
LocalRecoveryMirror.DeleteSlot(RuntimeRecoverySlotKey);
|
||||
}
|
||||
|
||||
public static List<equipmentSO> generateEquipment(
|
||||
@@ -630,12 +636,16 @@ namespace Bansonic
|
||||
}
|
||||
|
||||
runtimeGeneratedLoaded = true;
|
||||
runtimeGeneratedLoadedFromSave = false;
|
||||
runtimeGeneratedHasRecoverableState =
|
||||
SecureSaveVault.HasAnyRecoverableState(RuntimeSaveCategory, RuntimeSaveKey)
|
||||
|| LocalRecoveryMirror.HasSlotData(RuntimeRecoverySlotKey);
|
||||
RuntimeGeneratedEquipments.Clear();
|
||||
|
||||
RuntimeGeneratedEquipmentListPayload payload;
|
||||
if (!SecureSaveVault.TryLoadJson(RuntimeSaveCategory, RuntimeSaveKey, out payload) || payload == null || payload.items == null)
|
||||
{
|
||||
if (!LocalRecoveryMirror.TryLoadJson("runtime_generated_equipment_list", out payload) || payload == null || payload.items == null)
|
||||
if (!LocalRecoveryMirror.TryLoadJson(RuntimeRecoverySlotKey, out payload) || payload == null || payload.items == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -643,6 +653,7 @@ namespace Bansonic
|
||||
SecureSaveVault.SaveJson(RuntimeSaveCategory, RuntimeSaveKey, payload);
|
||||
}
|
||||
|
||||
runtimeGeneratedLoadedFromSave = true;
|
||||
for (int i = 0; i < payload.items.Count; i++)
|
||||
{
|
||||
RuntimeGeneratedEquipmentPayload itemPayload = payload.items[i];
|
||||
@@ -656,6 +667,12 @@ namespace Bansonic
|
||||
|
||||
private static void SaveRuntimeGeneratedState()
|
||||
{
|
||||
if (!runtimeGeneratedLoadedFromSave && runtimeGeneratedHasRecoverableState)
|
||||
{
|
||||
Debug.LogWarning("[EquipmentGenerator] Recoverable runtime equipment state exists but could not be loaded; skip saving to avoid overwriting older equipment data.");
|
||||
return;
|
||||
}
|
||||
|
||||
RuntimeGeneratedEquipmentListPayload payload = new RuntimeGeneratedEquipmentListPayload();
|
||||
for (int i = 0; i < RuntimeGeneratedEquipments.Count; i++)
|
||||
{
|
||||
@@ -669,7 +686,7 @@ namespace Bansonic
|
||||
}
|
||||
|
||||
SecureSaveVault.SaveJson(RuntimeSaveCategory, RuntimeSaveKey, payload);
|
||||
LocalRecoveryMirror.SaveJson("runtime_generated_equipment_list", payload);
|
||||
LocalRecoveryMirror.SaveJson(RuntimeRecoverySlotKey, payload);
|
||||
}
|
||||
|
||||
private static RuntimeGeneratedEquipmentPayload BuildPayload(equipmentSO equipment)
|
||||
|
||||
@@ -303,7 +303,7 @@ public class eFinalDream : MonoBehaviour
|
||||
|
||||
if (coinRequired > 0)
|
||||
{
|
||||
SpawnMaterialItem(coinSprite, "Coins", PlayerEconomyLedger.EnsureInstance().GetCoins(), coinRequired);
|
||||
SpawnMaterialItem(coinSprite, "算力", PlayerEconomyLedger.EnsureInstance().GetCoins(), coinRequired);
|
||||
}
|
||||
|
||||
if (memoryRequired > 0)
|
||||
@@ -400,7 +400,7 @@ public class eFinalDream : MonoBehaviour
|
||||
|
||||
if (!PlayerEconomyLedger.EnsureInstance().HasEnoughCoins(coinRequired))
|
||||
{
|
||||
return "硬币不足";
|
||||
return "算力不足";
|
||||
}
|
||||
|
||||
if (!PlayerEconomyLedger.EnsureInstance().HasEnoughMaterial(memoryRequired))
|
||||
|
||||
@@ -315,7 +315,7 @@ public class equipIllusion : MonoBehaviour
|
||||
{
|
||||
SpawnMaterialItem(
|
||||
coinSprite,
|
||||
"Coins",
|
||||
"算力",
|
||||
PlayerEconomyLedger.EnsureInstance().GetCoins(),
|
||||
coinRequired);
|
||||
}
|
||||
@@ -416,7 +416,7 @@ public class equipIllusion : MonoBehaviour
|
||||
|
||||
if (!PlayerEconomyLedger.EnsureInstance().HasEnoughCoins(coinRequired))
|
||||
{
|
||||
return "硬币不足";
|
||||
return "算力不足";
|
||||
}
|
||||
|
||||
if (!PlayerEconomyLedger.EnsureInstance().HasEnoughMaterial(memoryRequired))
|
||||
|
||||
@@ -902,7 +902,7 @@ public class equipSmelt : MonoBehaviour
|
||||
|
||||
if (!PlayerEconomyLedger.EnsureInstance().HasEnoughCoins(GetStartSmeltCost()))
|
||||
{
|
||||
reasonWhy.text = "硬币不足";
|
||||
reasonWhy.text = "算力不足";
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -364,7 +364,7 @@ public class equipTransfer : MonoBehaviour
|
||||
|
||||
if (coinRequired > 0)
|
||||
{
|
||||
SpawnMaterialItem(coins, "Coins", PlayerEconomyLedger.EnsureInstance().GetCoins(), coinRequired);
|
||||
SpawnMaterialItem(coins, "算力", PlayerEconomyLedger.EnsureInstance().GetCoins(), coinRequired);
|
||||
}
|
||||
|
||||
if (memoryRequired > 0)
|
||||
@@ -446,7 +446,7 @@ public class equipTransfer : MonoBehaviour
|
||||
|
||||
if (!PlayerEconomyLedger.EnsureInstance().HasEnoughCoins(coinRequired))
|
||||
{
|
||||
return "硬币不足";
|
||||
return "算力不足";
|
||||
}
|
||||
|
||||
if (!PlayerEconomyLedger.EnsureInstance().HasEnoughMaterial(memoryRequired))
|
||||
|
||||
@@ -337,7 +337,7 @@ public class equipUpdate : MonoBehaviour
|
||||
{
|
||||
SpawnMaterialItem(
|
||||
coinSprite,
|
||||
"Coins",
|
||||
"算力",
|
||||
PlayerEconomyLedger.EnsureInstance().GetCoins(),
|
||||
upgradeCoinsRequired);
|
||||
}
|
||||
@@ -440,7 +440,7 @@ public class equipUpdate : MonoBehaviour
|
||||
|
||||
if (!PlayerEconomyLedger.EnsureInstance().HasEnoughCoins(upgradeCoinsRequired))
|
||||
{
|
||||
return "硬币不足";
|
||||
return "算力不足";
|
||||
}
|
||||
|
||||
if (!PlayerEconomyLedger.EnsureInstance().HasEnoughMaterial(upgradeMemoryRequired))
|
||||
|
||||
@@ -454,7 +454,7 @@ GameObject:
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!224 &146991998666734905
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -6625,7 +6625,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5982215219932760098, guid: 2ee69a9124e04124d9e68754504b4c8c, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5982215219932760098, guid: 2ee69a9124e04124d9e68754504b4c8c, type: 3}
|
||||
propertyPath: m_AnchorMin.x
|
||||
@@ -6633,7 +6633,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5982215219932760098, guid: 2ee69a9124e04124d9e68754504b4c8c, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 0
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5982215219932760098, guid: 2ee69a9124e04124d9e68754504b4c8c, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
@@ -6673,11 +6673,11 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5982215219932760098, guid: 2ee69a9124e04124d9e68754504b4c8c, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
value: 91.296265
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5982215219932760098, guid: 2ee69a9124e04124d9e68754504b4c8c, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
value: 25
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5982215219932760098, guid: 2ee69a9124e04124d9e68754504b4c8c, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
|
||||
@@ -6354,7 +6354,7 @@ MonoBehaviour:
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: "\u5E2E\u52A9\u4F60\u6821\u51C6\u8BBE\u5907\u5DEE\u5F02\u5F15\u8D77\u7684\u5EF6\u8FDF"
|
||||
m_Text: "\u5E2E\u52A9\u4F60\u6821\u51C6\u8BBE\u5907\u5DEE\u5F02\u5F15\u8D77\u7684\u5EF6\u8FDF\uFF08\u6309\u8282\u62CD\u6572\u6253Space\uFF09"
|
||||
--- !u!1 &8441318564003906992
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Bansonic;
|
||||
using DG.Tweening;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
@@ -11,6 +12,8 @@ using UnityEditor;
|
||||
|
||||
public class UI_Idols : MonoBehaviour
|
||||
{
|
||||
private const string MemorySystemComingSoonMessage = "\"记忆\"系统即将上线,敬请期待!";
|
||||
|
||||
[Header("quit")]
|
||||
public Button quitButton;
|
||||
|
||||
@@ -265,13 +268,20 @@ public class UI_Idols : MonoBehaviour
|
||||
|
||||
if (isOn)
|
||||
{
|
||||
if (source == idolWeaponToggle)
|
||||
{
|
||||
ShowMemorySystemComingSoon();
|
||||
ApplySectionSelection(GetFirstAvailableUnlockedToggle());
|
||||
return;
|
||||
}
|
||||
|
||||
ApplySectionSelection(source);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!AnySectionToggleOn())
|
||||
{
|
||||
ApplySectionSelection(idolLevelsToggle != null ? idolLevelsToggle : GetFirstAvailableToggle());
|
||||
ApplySectionSelection(GetFirstAvailableUnlockedToggle());
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -281,7 +291,9 @@ public class UI_Idols : MonoBehaviour
|
||||
|
||||
private void ApplySectionSelection(Toggle activeToggle)
|
||||
{
|
||||
Toggle resolved = activeToggle != null ? activeToggle : (idolLevelsToggle != null ? idolLevelsToggle : GetFirstAvailableToggle());
|
||||
Toggle resolved = activeToggle != null && activeToggle != idolWeaponToggle
|
||||
? activeToggle
|
||||
: GetFirstAvailableUnlockedToggle();
|
||||
|
||||
suppressToggleCallbacks = true;
|
||||
SetToggleState(idolLevelsToggle, resolved == idolLevelsToggle);
|
||||
@@ -326,6 +338,21 @@ public class UI_Idols : MonoBehaviour
|
||||
return null;
|
||||
}
|
||||
|
||||
private Toggle GetFirstAvailableUnlockedToggle()
|
||||
{
|
||||
if (idolLevelsToggle != null) return idolLevelsToggle;
|
||||
if (idolVoicesToggle != null) return idolVoicesToggle;
|
||||
if (idolDetailPassageToggle != null) return idolDetailPassageToggle;
|
||||
if (idolSkillsToggle != null) return idolSkillsToggle;
|
||||
if (idolSkinsToggle != null) return idolSkinsToggle;
|
||||
return null;
|
||||
}
|
||||
|
||||
private static void ShowMemorySystemComingSoon()
|
||||
{
|
||||
gNotice.error.display(MemorySystemComingSoonMessage);
|
||||
}
|
||||
|
||||
private static void SetToggleState(Toggle toggle, bool isOn)
|
||||
{
|
||||
if (toggle == null)
|
||||
|
||||
@@ -1667,6 +1667,7 @@ GameObject:
|
||||
- component: {fileID: 3829753781754538968}
|
||||
- component: {fileID: 8946417172749083411}
|
||||
- component: {fileID: 4552225134849151602}
|
||||
- component: {fileID: 2952962603515858014}
|
||||
m_Layer: 5
|
||||
m_Name: description
|
||||
m_TagString: Untagged
|
||||
@@ -1690,9 +1691,9 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 145.415, y: -30}
|
||||
m_SizeDelta: {x: 280.83, y: 54}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 140.76392, y: -3}
|
||||
m_SizeDelta: {x: 271.5281, y: 54}
|
||||
m_Pivot: {x: 0.5, y: 1}
|
||||
--- !u!222 &8946417172749083411
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1722,7 +1723,7 @@ MonoBehaviour:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_FontData:
|
||||
m_Font: {fileID: 12800000, guid: d254d20d93651ae448ff13d10dff30ab, type: 3}
|
||||
m_Font: {fileID: 12800000, guid: bc54bd51ea8b84448ba1b65311872862, type: 3}
|
||||
m_FontSize: 18
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
@@ -1734,7 +1735,21 @@ MonoBehaviour:
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: "\u6280\u80FD\u4ECB\u7ECD\n1\n"
|
||||
m_Text: "\u6280\u80FD\u4ECB\u7ECD\n\u5927\u5BB6\u597D\u8FD9\u91CC\u662F\u6280\u80FD\u4ECB\u7ECD\n\u4F60\u600E\u4E48\u770B\u5230\u8FD9\u53E5\u8BDD"
|
||||
--- !u!114 &2952962603515858014
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5833502104821601462}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_HorizontalFit: 0
|
||||
m_VerticalFit: 2
|
||||
--- !u!1 &6549684703952493889
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1801,7 +1816,7 @@ MonoBehaviour:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_FontData:
|
||||
m_Font: {fileID: 12800000, guid: bd4be44636ad6c24a9b117a7108a75e9, type: 3}
|
||||
m_Font: {fileID: 12800000, guid: d254d20d93651ae448ff13d10dff30ab, type: 3}
|
||||
m_FontSize: 16
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
|
||||
@@ -255,7 +255,7 @@ public class idolUpgrade : MonoBehaviour
|
||||
prefix += "<color=#FF4D4D>所选两项材料为一组,</color>";
|
||||
}
|
||||
|
||||
SetInfoText(string.Format("{0}突破需消耗 {1} 金币", prefix, GetEffectiveBreakthroughCoinCost()));
|
||||
SetInfoText(string.Format("{0}突破需消耗 {1} 算力", prefix, GetEffectiveBreakthroughCoinCost()));
|
||||
SetConfirmInteractable(true);
|
||||
SetConfirmButtonText("突破");
|
||||
return;
|
||||
@@ -997,7 +997,7 @@ public class idolUpgrade : MonoBehaviour
|
||||
int requiredCoins = GetEffectiveBreakthroughCoinCost();
|
||||
if (!PlayerEconomyLedger.EnsureInstance().HasEnoughCoins(requiredCoins))
|
||||
{
|
||||
failureReason = "金币不足";
|
||||
failureReason = "算力不足";
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -1017,7 +1017,7 @@ public class idolUpgrade : MonoBehaviour
|
||||
|
||||
if (!PlayerEconomyLedger.EnsureInstance().TrySpendCoins(requiredCoins))
|
||||
{
|
||||
failureReason = "金币不足";
|
||||
failureReason = "算力不足";
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -57642,7 +57642,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4791772059149409634, guid: 58f3bf476bf2f8a44a93e801cd45e726, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4791772059149409634, guid: 58f3bf476bf2f8a44a93e801cd45e726, type: 3}
|
||||
propertyPath: m_AnchorMin.x
|
||||
@@ -57650,15 +57650,15 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4791772059149409634, guid: 58f3bf476bf2f8a44a93e801cd45e726, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4791772059149409634, guid: 58f3bf476bf2f8a44a93e801cd45e726, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 120
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4791772059149409634, guid: 58f3bf476bf2f8a44a93e801cd45e726, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 120
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4791772059149409634, guid: 58f3bf476bf2f8a44a93e801cd45e726, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
@@ -57690,11 +57690,11 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4791772059149409634, guid: 58f3bf476bf2f8a44a93e801cd45e726, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 190
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4791772059149409634, guid: 58f3bf476bf2f8a44a93e801cd45e726, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: -65
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4791772059149409634, guid: 58f3bf476bf2f8a44a93e801cd45e726, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
@@ -59696,7 +59696,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4791772059149409634, guid: 58f3bf476bf2f8a44a93e801cd45e726, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4791772059149409634, guid: 58f3bf476bf2f8a44a93e801cd45e726, type: 3}
|
||||
propertyPath: m_AnchorMin.x
|
||||
@@ -59704,15 +59704,15 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4791772059149409634, guid: 58f3bf476bf2f8a44a93e801cd45e726, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4791772059149409634, guid: 58f3bf476bf2f8a44a93e801cd45e726, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 120
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4791772059149409634, guid: 58f3bf476bf2f8a44a93e801cd45e726, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 120
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4791772059149409634, guid: 58f3bf476bf2f8a44a93e801cd45e726, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
@@ -59744,11 +59744,11 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4791772059149409634, guid: 58f3bf476bf2f8a44a93e801cd45e726, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 65
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4791772059149409634, guid: 58f3bf476bf2f8a44a93e801cd45e726, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: -65
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4791772059149409634, guid: 58f3bf476bf2f8a44a93e801cd45e726, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Bansonic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Events;
|
||||
using UnityEngine.UI;
|
||||
@@ -10,6 +11,8 @@ using UnityEditor;
|
||||
|
||||
public class uBag : MonoBehaviour
|
||||
{
|
||||
private const string MemorySystemComingSoonMessage = "\"记忆\"系统即将上线,敬请期待!";
|
||||
|
||||
private enum BagFilterMode
|
||||
{
|
||||
All,
|
||||
@@ -366,12 +369,17 @@ public class uBag : MonoBehaviour
|
||||
|
||||
private void HandleEquipSystemChanged(bool isOn)
|
||||
{
|
||||
SetObjectActive(bagObj, !isOn);
|
||||
SetObjectActive(equipObj, isOn);
|
||||
if (isOn)
|
||||
{
|
||||
ShowMemorySystemComingSoon();
|
||||
}
|
||||
|
||||
ForceBagViewMode();
|
||||
}
|
||||
|
||||
private void ApplyCategory(BagCategory category)
|
||||
{
|
||||
ForceBagViewMode();
|
||||
currentCategory = category;
|
||||
currentFilterMode = (BagFilterMode)category;
|
||||
if (bag_filterDropdown != null)
|
||||
@@ -408,14 +416,27 @@ public class uBag : MonoBehaviour
|
||||
{
|
||||
equipSystemToggle.onValueChanged.RemoveListener(HandleEquipSystemChanged);
|
||||
equipSystemToggle.onValueChanged.AddListener(HandleEquipSystemChanged);
|
||||
HandleEquipSystemChanged(equipSystemToggle.isOn);
|
||||
return;
|
||||
}
|
||||
|
||||
ForceBagViewMode();
|
||||
}
|
||||
|
||||
private void ForceBagViewMode()
|
||||
{
|
||||
if (equipSystemToggle != null)
|
||||
{
|
||||
equipSystemToggle.SetIsOnWithoutNotify(false);
|
||||
}
|
||||
|
||||
SetObjectActive(bagObj, true);
|
||||
SetObjectActive(equipObj, false);
|
||||
}
|
||||
|
||||
private static void ShowMemorySystemComingSoon()
|
||||
{
|
||||
gNotice.error.display(MemorySystemComingSoonMessage);
|
||||
}
|
||||
|
||||
private void HandleInventoryChanged(ExpBottleKind _, int __)
|
||||
{
|
||||
Rebuild();
|
||||
@@ -674,7 +695,7 @@ public class uBag : MonoBehaviour
|
||||
continue;
|
||||
}
|
||||
|
||||
if (story.fatherType == notebook_faterType.notebook_fatherType.content && !story.showInBag)
|
||||
if (!story.showInBag)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -11,7 +11,6 @@ public class UI_Player : MonoBehaviour
|
||||
{
|
||||
private const string FirstLaunchDatePrefKey = "player.first_launch_date";
|
||||
private const string SongResourcesPath = "song_songIndex";
|
||||
private const string VersionLabel = "\u5185\u90e8\u6d4b\u8bd5v207b35";
|
||||
private const string ChannelLabel = "Steam";
|
||||
private const float MaxDisplayedRksForSlider = 100f;
|
||||
private static readonly Color SteamOnlineColor = new Color32(20, 120, 45, 255);
|
||||
@@ -462,7 +461,12 @@ public class UI_Player : MonoBehaviour
|
||||
SpawnInfoEntry("\u603b\u6e38\u620f\u6b21\u6570", snapshot.totalGameEnterCount.ToString());
|
||||
SpawnInfoEntry("\u6e38\u73a9\u603b\u65f6\u957f", FormatPlayTime(snapshot.totalPlaySeconds));
|
||||
SpawnInfoEntry("\u6e20\u9053", ChannelLabel, snapshot.isSteamOnline ? SteamOnlineColor : defaultInfoColor);
|
||||
SpawnInfoEntry("\u7248\u672c", VersionLabel);
|
||||
SpawnInfoEntry("\u7248\u672c", GetProjectVersionLabel());
|
||||
}
|
||||
|
||||
private static string GetProjectVersionLabel()
|
||||
{
|
||||
return string.IsNullOrWhiteSpace(Application.version) ? "-" : Application.version;
|
||||
}
|
||||
|
||||
private void ClearInfoEntries()
|
||||
|
||||
|
After Width: | Height: | Size: 1.3 MiB |
@@ -0,0 +1,156 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f3ae2a98219fbef4cb5da584e63ad366
|
||||
TextureImporter:
|
||||
internalIDToNameTable:
|
||||
- first:
|
||||
213: 2313463732811680064
|
||||
second: 0000_0
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 4
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites:
|
||||
- serializedVersion: 2
|
||||
name: 0000_0
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 877
|
||||
y: 145
|
||||
width: 1448
|
||||
height: 920
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
customData:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: -1
|
||||
bones: []
|
||||
spriteID: 0494dfaf1031b1020800000000000000
|
||||
internalID: 2313463732811680064
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable:
|
||||
0000_0: 2313463732811680064
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &16880500079743085
|
||||
GameObject:
|
||||
@@ -3815,6 +3815,7 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 1078046161538248771}
|
||||
- {fileID: 509130623911031789}
|
||||
- {fileID: 3594788202837981552}
|
||||
m_Father: {fileID: 5705310861349071005}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
@@ -4103,6 +4104,96 @@ MonoBehaviour:
|
||||
m_OnValueChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
--- !u!1 &2616329647580106399
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 509130623911031789}
|
||||
- component: {fileID: 207483723832436397}
|
||||
- component: {fileID: 8572724876067965171}
|
||||
- component: {fileID: 6236928908591314277}
|
||||
m_Layer: 5
|
||||
m_Name: btmImg (3)
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &509130623911031789
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2616329647580106399}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 5729614146008524858}
|
||||
m_Father: {fileID: 4329936282839610948}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: -285.5608, y: 87.1}
|
||||
m_SizeDelta: {x: 2210.137, y: 1155.5757}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &207483723832436397
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2616329647580106399}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &8572724876067965171
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2616329647580106399}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 0.8784314}
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 21300000, guid: f3ae2a98219fbef4cb5da584e63ad366, type: 3}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!114 &6236928908591314277
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2616329647580106399}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_ShowMaskGraphic: 1
|
||||
--- !u!1 &2618562364703312358
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -6078,6 +6169,81 @@ MonoBehaviour:
|
||||
m_VerticalOverflow: 1
|
||||
m_LineSpacing: 1
|
||||
m_Text: RadarChart
|
||||
--- !u!1 &3855510164280628558
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5729614146008524858}
|
||||
- component: {fileID: 4173859636876891631}
|
||||
- component: {fileID: 1468075156879178202}
|
||||
m_Layer: 5
|
||||
m_Name: Image
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &5729614146008524858
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3855510164280628558}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 509130623911031789}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 260.7, y: -150.063}
|
||||
m_SizeDelta: {x: 1397.84, y: 655.2591}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &4173859636876891631
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3855510164280628558}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &1468075156879178202
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3855510164280628558}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 0}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!1 &3917494060144924217
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -9849,7 +10015,7 @@ MonoBehaviour:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_FontData:
|
||||
m_Font: {fileID: 12800000, guid: bd4be44636ad6c24a9b117a7108a75e9, type: 3}
|
||||
m_Font: {fileID: 12800000, guid: d254d20d93651ae448ff13d10dff30ab, type: 3}
|
||||
m_FontSize: 16
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
@@ -9861,7 +10027,7 @@ MonoBehaviour:
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: "\u65E0\u6CD5\u67E5\u8BE2\u6392\u884C\nPlayerHonorRequestForbidden\n\n\u7BA1\u7406\u5458\u6682\u505C\u4E86\u6392\u884C\u699C\u5206\u53D1"
|
||||
m_Text: "\u7BA1\u7406\u5458\u6682\u505C\u4E86\u603B\u699C\u5206\u53D1\n\u656C\u8BF7\u671F\u5F85\uFF01"
|
||||
--- !u!1 &5969904176771562516
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -12607,7 +12773,7 @@ GameObject:
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!224 &5985393952628140132
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -13203,8 +13369,8 @@ MonoBehaviour:
|
||||
tooltipPadding: {x: 8, y: 8, z: 4, w: 4}
|
||||
overrideSeriesStyle: 1
|
||||
overrideSymbolStyle: 1
|
||||
mainSymbolSize: 8
|
||||
referenceSymbolSize: 7
|
||||
mainSymbolSize: 3
|
||||
referenceSymbolSize: 3
|
||||
mainSymbolType: 2
|
||||
referenceSymbolType: 2
|
||||
mainStrokeColor: {r: 0.32156864, g: 0.49411765, b: 1, a: 1}
|
||||
@@ -13222,7 +13388,7 @@ MonoBehaviour:
|
||||
labelRootName: RadarLabels
|
||||
radarChartHost: {fileID: 5919567714153934601}
|
||||
radarChartHostName: RadarChartHost
|
||||
radarChart: {fileID: 0}
|
||||
radarChart: {fileID: 4822815812132583242}
|
||||
--- !u!222 &9130254712381567808
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -14261,6 +14427,7 @@ GameObject:
|
||||
m_Component:
|
||||
- component: {fileID: 5919567714153934601}
|
||||
- component: {fileID: 3900198720124514780}
|
||||
- component: {fileID: 4822815812132583242}
|
||||
m_Layer: 0
|
||||
m_Name: RadarChartHost
|
||||
m_TagString: Untagged
|
||||
@@ -14280,7 +14447,6 @@ RectTransform:
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 2821669720858302315}
|
||||
- {fileID: 6824719267786177413}
|
||||
- {fileID: 5985393952628140132}
|
||||
- {fileID: 4289797210827084819}
|
||||
@@ -14293,6 +14459,7 @@ RectTransform:
|
||||
- {fileID: 6077637118204166483}
|
||||
- {fileID: 5172637601979531406}
|
||||
- {fileID: 8439076572779562101}
|
||||
- {fileID: 2821669720858302315}
|
||||
- {fileID: 5393099526794483384}
|
||||
- {fileID: 5713933464712640053}
|
||||
- {fileID: 2275204222710488928}
|
||||
@@ -14314,6 +14481,163 @@ CanvasRenderer:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8518915104847791415}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &4822815812132583242
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8518915104847791415}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d2231a0d3e3a5b043b074f6739be4a86, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_EnableTextMeshPro: 0
|
||||
m_ChildNodeNames:
|
||||
- painter_b
|
||||
- painter_0
|
||||
- painter_1
|
||||
- painter_2
|
||||
- painter_3
|
||||
- painter_4
|
||||
- painter_5
|
||||
- painter_6
|
||||
- painter_7
|
||||
- painter_8
|
||||
- painter_9
|
||||
- painter_u
|
||||
- painter_t
|
||||
- debug
|
||||
m_ChartName:
|
||||
m_UseUtc: 1
|
||||
m_Theme:
|
||||
m_Show: 1
|
||||
m_SharedTheme: {fileID: 11400000, guid: e1dc23a10de1e4c5dbfbaf74c4dfd218, type: 2}
|
||||
m_TransparentBackground: 0
|
||||
m_EnableCustomTheme: 0
|
||||
m_CustomFont: {fileID: 0}
|
||||
m_CustomBackgroundColor:
|
||||
serializedVersion: 2
|
||||
rgba: 0
|
||||
m_CustomColorPalette: []
|
||||
m_Settings:
|
||||
m_Show: 1
|
||||
m_MaxPainter: 10
|
||||
m_ReversePainter: 0
|
||||
m_BasePainterMaterial: {fileID: 0}
|
||||
m_SeriePainterMaterial: {fileID: 0}
|
||||
m_UpperPainterMaterial: {fileID: 0}
|
||||
m_TopPainterMaterial: {fileID: 0}
|
||||
m_LineSmoothStyle: 2.5
|
||||
m_LineSmoothness: 2
|
||||
m_LineSegmentDistance: 3
|
||||
m_CicleSmoothness: 2
|
||||
m_LegendIconLineWidth: 2
|
||||
m_LegendIconCornerRadius:
|
||||
- 0.25
|
||||
- 0.25
|
||||
- 0.25
|
||||
- 0.25
|
||||
m_AxisMaxSplitNumber: 50
|
||||
m_DebugInfo:
|
||||
m_Show: 1
|
||||
m_ShowDebugInfo: 0
|
||||
m_ShowAllChartObject: 0
|
||||
m_FoldSeries: 0
|
||||
m_LabelStyle:
|
||||
m_Show: 1
|
||||
m_Position: 0
|
||||
m_AutoOffset: 0
|
||||
m_Offset: {x: 0, y: 0, z: 0}
|
||||
m_Rotate: 0
|
||||
m_AutoRotate: 0
|
||||
m_Distance: 0
|
||||
m_Formatter:
|
||||
m_NumericFormatter:
|
||||
m_Width: 0
|
||||
m_Height: 0
|
||||
m_FixedX: 0
|
||||
m_FixedY: 0
|
||||
m_Icon:
|
||||
m_Show: 0
|
||||
m_Layer: 0
|
||||
m_Align: 1
|
||||
m_Sprite: {fileID: 0}
|
||||
m_Type: 0
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_Width: 20
|
||||
m_Height: 20
|
||||
m_Offset: {x: 0, y: 0, z: 0}
|
||||
m_AutoHideWhenLabelEmpty: 0
|
||||
m_Background:
|
||||
m_Show: 1
|
||||
m_Sprite: {fileID: 0}
|
||||
m_Type: 0
|
||||
m_AutoColor: 0
|
||||
m_Color: {r: 0.1254902, g: 0.1254902, b: 0.1254902, a: 0.6666667}
|
||||
m_Width: 0
|
||||
m_Height: 0
|
||||
m_TextPadding:
|
||||
m_Show: 1
|
||||
m_Top: 0
|
||||
m_Right: 2
|
||||
m_Left: 2
|
||||
m_Bottom: 0
|
||||
m_TextStyle:
|
||||
m_Show: 1
|
||||
m_Font: {fileID: 0}
|
||||
m_AutoWrap: 0
|
||||
m_AutoAlign: 1
|
||||
m_Rotate: 0
|
||||
m_AutoColor: 0
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FontSize: 18
|
||||
m_FontStyle: 0
|
||||
m_LineSpacing: 1
|
||||
m_Alignment: 4
|
||||
m_ChartInited: 0
|
||||
m_AngleAxes: []
|
||||
m_Backgrounds: []
|
||||
m_DataZooms: []
|
||||
m_Grids: []
|
||||
m_GridsLayout: []
|
||||
m_Legends: []
|
||||
m_MarkLines: []
|
||||
m_MarkAreas: []
|
||||
m_Polars: []
|
||||
m_Radars: []
|
||||
m_RadiusAxes: []
|
||||
m_Titles: []
|
||||
m_Tooltips: []
|
||||
m_VisualMaps: []
|
||||
m_XAxes: []
|
||||
m_YAxes: []
|
||||
m_SingleAxes: []
|
||||
m_Parallels: []
|
||||
m_ParallelAxes: []
|
||||
m_Comments: []
|
||||
m_SerieBars: []
|
||||
m_SerieCandlesticks: []
|
||||
m_SerieEffectScatters: []
|
||||
m_SerieHeatmaps: []
|
||||
m_SerieLines: []
|
||||
m_SeriePies: []
|
||||
m_SerieRadars: []
|
||||
m_SerieRings: []
|
||||
m_SerieScatters: []
|
||||
m_SerieParallels: []
|
||||
m_SerieSimplifiedLines: []
|
||||
m_SerieSimplifiedBars: []
|
||||
m_SerieSimplifiedCandlesticks: []
|
||||
--- !u!1 &8528636467798866884
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@@ -67,8 +67,8 @@ public class URadarChartController : MonoBehaviour
|
||||
[Header("Style")]
|
||||
public bool overrideSeriesStyle = true;
|
||||
public bool overrideSymbolStyle = true;
|
||||
public float mainSymbolSize = 8f;
|
||||
public float referenceSymbolSize = 7f;
|
||||
public float mainSymbolSize = 3f;
|
||||
public float referenceSymbolSize = 3f;
|
||||
public SymbolType mainSymbolType = SymbolType.Circle;
|
||||
public SymbolType referenceSymbolType = SymbolType.Circle;
|
||||
public Color mainStrokeColor = new Color32(82, 126, 255, 255);
|
||||
@@ -422,7 +422,7 @@ public class URadarChartController : MonoBehaviour
|
||||
else
|
||||
{
|
||||
serie.symbol.type = SymbolType.Circle;
|
||||
serie.symbol.size = isMainSerie ? 8f : 7f;
|
||||
serie.symbol.size = 3f;
|
||||
serie.symbol.color = Color.white;
|
||||
}
|
||||
|
||||
|
||||
@@ -1140,17 +1140,37 @@ public class AllyCombatant : MonoBehaviour, ICombatant
|
||||
private static AllyHero_SO.AllyLevelInfo GetEffectiveLevelForExp(AllyHero_SO so, int exp)
|
||||
{
|
||||
if (so == null || so.levelStats == null || so.levelStats.Count == 0) return null;
|
||||
AllyHero_SO.AllyLevelInfo best = null;
|
||||
foreach (var lvl in so.levelStats)
|
||||
|
||||
List<AllyHero_SO.AllyLevelInfo> sorted = new List<AllyHero_SO.AllyLevelInfo>();
|
||||
foreach (var levelInfo in so.levelStats)
|
||||
{
|
||||
if (lvl == null) continue;
|
||||
if (exp >= lvl.requiredEXP)
|
||||
if (levelInfo != null)
|
||||
{
|
||||
if (best == null || lvl.requiredEXP >= best.requiredEXP)
|
||||
best = lvl;
|
||||
sorted.Add(levelInfo);
|
||||
}
|
||||
}
|
||||
return best ?? so.levelStats[0];
|
||||
|
||||
if (sorted.Count == 0) return null;
|
||||
sorted.Sort((left, right) => left.requiredEXP.CompareTo(right.requiredEXP));
|
||||
|
||||
int expQualifiedIndex = 0;
|
||||
int safeExp = Mathf.Max(0, exp);
|
||||
for (int i = 0; i < sorted.Count; i++)
|
||||
{
|
||||
if (safeExp >= Mathf.Max(0, sorted[i].requiredEXP))
|
||||
{
|
||||
expQualifiedIndex = i;
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
int unlockedIndex = Mathf.Clamp(so.ally_growthUnlockedTierIndex, 0, sorted.Count - 1);
|
||||
int effectiveIndex = Mathf.Min(expQualifiedIndex, unlockedIndex);
|
||||
|
||||
return sorted[Mathf.Clamp(effectiveIndex, 0, sorted.Count - 1)];
|
||||
}
|
||||
|
||||
// Scoring API
|
||||
|
||||
@@ -9,6 +9,9 @@ using UnityEditor;
|
||||
[CreateAssetMenu(fileName = "NewAllyHero", menuName = "SO_Data/AllyHero")]
|
||||
public class AllyHero_SO : ScriptableObject
|
||||
{
|
||||
private const string EquippedEquipmentSaveCategory = "ally_equipped_equipment";
|
||||
private const string EquippedEquipmentRecoverySlotPrefix = "ally_equipped_equipment_";
|
||||
|
||||
public static readonly string[] BehaviourAxisNames =
|
||||
{
|
||||
"题海战术",
|
||||
@@ -154,6 +157,13 @@ public class AllyHero_SO : ScriptableObject
|
||||
public equipmentSO equippedEquipment;
|
||||
public string equippedEquipmentId;
|
||||
|
||||
// 【性能】装备存档已从磁盘水合过一次的标记。水合后内存即权威来源:
|
||||
// SetEquippedEquipment / ApplyEquippedEquipmentPayload / ClearEquippedEquipment 都会同步更新内存与磁盘,
|
||||
// 因此无需反复解密读盘。idols 界面每次切换角色时 RebuildBag 会对"每件装备 × 每个英雄"调用
|
||||
// LoadEquippedEquipmentFromLocal 做占用检查,若每次都真正解密 SecureSaveVault 会造成严重卡顿。
|
||||
// 该标记确保每个英雄整个会话只读盘一次,之后走内存,行为完全不变。
|
||||
[System.NonSerialized] private bool equippedEquipmentHydrated;
|
||||
|
||||
public SkillDefinition GetPrimarySkill()
|
||||
{
|
||||
if (availableSkills == null || primarySkillIndex < 0 || primarySkillIndex >= availableSkills.Length) return null;
|
||||
@@ -506,12 +516,14 @@ public class AllyHero_SO : ScriptableObject
|
||||
{
|
||||
List<AllyLevelInfo> sorted = BuildSortedLevelStats();
|
||||
int unlockedIndex = ResolveUnlockedLevelIndex(sorted);
|
||||
if (unlockedIndex < 0 || unlockedIndex >= sorted.Count)
|
||||
int expQualifiedIndex = ResolveExpQualifiedLevelIndex(sorted);
|
||||
if (unlockedIndex < 0 || expQualifiedIndex < 0 || sorted == null || sorted.Count == 0)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
return sorted[unlockedIndex];
|
||||
int effectiveIndex = Mathf.Clamp(Mathf.Min(expQualifiedIndex, unlockedIndex), 0, sorted.Count - 1);
|
||||
return sorted[effectiveIndex];
|
||||
}
|
||||
|
||||
private List<AllyLevelInfo> BuildSortedLevelStats()
|
||||
@@ -702,6 +714,16 @@ public class AllyHero_SO : ScriptableObject
|
||||
return "ally_equippedEquipment_" + ally_heroID;
|
||||
}
|
||||
|
||||
private string GetEquippedEquipmentSaveKey()
|
||||
{
|
||||
return ally_heroID.ToString();
|
||||
}
|
||||
|
||||
private string GetEquippedEquipmentRecoverySlotKey()
|
||||
{
|
||||
return EquippedEquipmentRecoverySlotPrefix + ally_heroID;
|
||||
}
|
||||
|
||||
private string GetSelectedSkinPrefsKey()
|
||||
{
|
||||
return "ally_selectedSkin_" + ally_heroID;
|
||||
@@ -731,13 +753,39 @@ public class AllyHero_SO : ScriptableObject
|
||||
equippedEquipmentId = equippedEquipment != null ? equippedEquipment.name : string.Empty;
|
||||
var payload = new EquippedEquipmentPayload { equippedEquipmentId = equippedEquipmentId ?? string.Empty };
|
||||
string json = JsonUtility.ToJson(payload);
|
||||
SecureSaveVault.SaveJson(EquippedEquipmentSaveCategory, GetEquippedEquipmentSaveKey(), payload);
|
||||
LocalRecoveryMirror.SaveJson(GetEquippedEquipmentRecoverySlotKey(), payload);
|
||||
PlayerPrefs.SetString(GetEquippedEquipmentPrefsKey(), json);
|
||||
PlayerPrefs.Save();
|
||||
}
|
||||
|
||||
public void LoadEquippedEquipmentFromLocal()
|
||||
public void LoadEquippedEquipmentFromLocal(bool forceReload = false)
|
||||
{
|
||||
// 已水合且非强制刷新时直接返回,避免重复解密读盘(见 equippedEquipmentHydrated 说明)。
|
||||
if (equippedEquipmentHydrated && !forceReload)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// 无论后续走哪条分支,本次调用都视为已完成水合:
|
||||
// 命中存档→内存已填充;无存档→内存保持当前值,也不必反复重试读盘。
|
||||
equippedEquipmentHydrated = true;
|
||||
|
||||
string key = GetEquippedEquipmentPrefsKey();
|
||||
EquippedEquipmentPayload payload;
|
||||
if (SecureSaveVault.TryLoadJson(EquippedEquipmentSaveCategory, GetEquippedEquipmentSaveKey(), out payload) && payload != null)
|
||||
{
|
||||
ApplyEquippedEquipmentPayload(payload);
|
||||
return;
|
||||
}
|
||||
|
||||
if (LocalRecoveryMirror.TryLoadJson(GetEquippedEquipmentRecoverySlotKey(), out payload) && payload != null)
|
||||
{
|
||||
ApplyEquippedEquipmentPayload(payload);
|
||||
SecureSaveVault.SaveJson(EquippedEquipmentSaveCategory, GetEquippedEquipmentSaveKey(), payload);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!PlayerPrefs.HasKey(key))
|
||||
{
|
||||
return;
|
||||
@@ -749,7 +797,19 @@ public class AllyHero_SO : ScriptableObject
|
||||
return;
|
||||
}
|
||||
|
||||
EquippedEquipmentPayload payload = JsonUtility.FromJson<EquippedEquipmentPayload>(json);
|
||||
payload = JsonUtility.FromJson<EquippedEquipmentPayload>(json);
|
||||
if (payload == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
ApplyEquippedEquipmentPayload(payload);
|
||||
SecureSaveVault.SaveJson(EquippedEquipmentSaveCategory, GetEquippedEquipmentSaveKey(), payload);
|
||||
LocalRecoveryMirror.SaveJson(GetEquippedEquipmentRecoverySlotKey(), payload);
|
||||
}
|
||||
|
||||
private void ApplyEquippedEquipmentPayload(EquippedEquipmentPayload payload)
|
||||
{
|
||||
if (payload == null)
|
||||
{
|
||||
return;
|
||||
@@ -763,6 +823,7 @@ public class AllyHero_SO : ScriptableObject
|
||||
{
|
||||
equippedEquipment = equipment;
|
||||
equippedEquipmentId = equipment != null ? equipment.name : string.Empty;
|
||||
equippedEquipmentHydrated = true;
|
||||
|
||||
#if UNITY_EDITOR
|
||||
if (!Application.isPlaying)
|
||||
@@ -801,6 +862,9 @@ public class AllyHero_SO : ScriptableObject
|
||||
{
|
||||
equippedEquipment = null;
|
||||
equippedEquipmentId = string.Empty;
|
||||
equippedEquipmentHydrated = true;
|
||||
SecureSaveVault.Delete(EquippedEquipmentSaveCategory, GetEquippedEquipmentSaveKey());
|
||||
LocalRecoveryMirror.DeleteSlot(GetEquippedEquipmentRecoverySlotKey());
|
||||
PlayerPrefs.DeleteKey(GetEquippedEquipmentPrefsKey());
|
||||
PlayerPrefs.Save();
|
||||
#if UNITY_EDITOR
|
||||
|
||||
@@ -50,6 +50,10 @@ public class pressStart : MonoBehaviour
|
||||
public Image fadeOutImage;
|
||||
public float startButtonDelay = 2f; // UI starts showing after 2 seconds; allow clicking then.
|
||||
|
||||
[Header("UI_UI Jump Blocker")]
|
||||
public bool blockUIUISceneJump = false;
|
||||
public string blockUIUISceneJumpMessage = "暂不可进入。";
|
||||
|
||||
// polling
|
||||
private Coroutine pollCoroutine;
|
||||
private float pollInterval = 3f;
|
||||
@@ -253,6 +257,16 @@ public class pressStart : MonoBehaviour
|
||||
Debug.Log("[pressStart] Start requested, initiating transition sequence.");
|
||||
GameConfig.testMode = false;
|
||||
|
||||
if (blockUIUISceneJump)
|
||||
{
|
||||
string message = string.IsNullOrWhiteSpace(blockUIUISceneJumpMessage)
|
||||
? "暂不可进入。"
|
||||
: blockUIUISceneJumpMessage;
|
||||
gNotice.error.display(message);
|
||||
Debug.LogWarning("[pressStart] UI_UI scene jump blocked: " + message);
|
||||
return;
|
||||
}
|
||||
|
||||
if (warningText != null)
|
||||
{
|
||||
warningText.gameObject.SetActive(true);
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
using UnityEngine;
|
||||
|
||||
public static class TeamSelectionDefaults
|
||||
{
|
||||
public const int SlotCount = 5;
|
||||
|
||||
private static readonly int[] DefaultHeroIds = { 30201, 30202, 30203, 30204, 30205 };
|
||||
|
||||
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
|
||||
private static void Bootstrap()
|
||||
{
|
||||
EnsureDefaultTeamIfMissing();
|
||||
}
|
||||
|
||||
public static void EnsureDefaultTeamIfMissing()
|
||||
{
|
||||
for (int slot = 1; slot <= SlotCount; slot++)
|
||||
{
|
||||
if (PlayerPrefs.HasKey(GetHeroSlotKey(slot)))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
for (int slot = 1; slot <= SlotCount; slot++)
|
||||
{
|
||||
PlayerPrefs.SetInt(GetHeroSlotKey(slot), GetDefaultHeroId(slot));
|
||||
}
|
||||
|
||||
PlayerPrefs.SetInt("SelectedMainHeroID", DefaultHeroIds[0]);
|
||||
PlayerPrefs.Save();
|
||||
}
|
||||
|
||||
public static int ReadHeroId(int slot)
|
||||
{
|
||||
EnsureDefaultTeamIfMissing();
|
||||
return Mathf.Max(0, PlayerPrefs.GetInt(GetHeroSlotKey(slot), GetDefaultHeroId(slot)));
|
||||
}
|
||||
|
||||
public static int GetDefaultHeroId(int slot)
|
||||
{
|
||||
int index = Mathf.Clamp(slot - 1, 0, DefaultHeroIds.Length - 1);
|
||||
return DefaultHeroIds[index];
|
||||
}
|
||||
|
||||
private static string GetHeroSlotKey(int slot)
|
||||
{
|
||||
int safeSlot = Mathf.Clamp(slot, 1, SlotCount);
|
||||
return $"selected_heroSlot0{safeSlot}_heroID";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7dfd23d5af82d6045b465356990ca8b9
|
||||
@@ -147,21 +147,21 @@ public class TeamSelectorAnimController : MonoBehaviour
|
||||
|
||||
void CacheTeamSnapshot()
|
||||
{
|
||||
cachedTeam[0] = PlayerPrefs.GetInt("selected_heroSlot01_heroID", 0);
|
||||
cachedTeam[1] = PlayerPrefs.GetInt("selected_heroSlot02_heroID", 0);
|
||||
cachedTeam[2] = PlayerPrefs.GetInt("selected_heroSlot03_heroID", 0);
|
||||
cachedTeam[3] = PlayerPrefs.GetInt("selected_heroSlot04_heroID", 0);
|
||||
cachedTeam[4] = PlayerPrefs.GetInt("selected_heroSlot05_heroID", 0);
|
||||
cachedTeam[0] = TeamSelectionDefaults.ReadHeroId(1);
|
||||
cachedTeam[1] = TeamSelectionDefaults.ReadHeroId(2);
|
||||
cachedTeam[2] = TeamSelectionDefaults.ReadHeroId(3);
|
||||
cachedTeam[3] = TeamSelectionDefaults.ReadHeroId(4);
|
||||
cachedTeam[4] = TeamSelectionDefaults.ReadHeroId(5);
|
||||
}
|
||||
|
||||
bool HasTeamChanged()
|
||||
{
|
||||
if (teamChanged) return true;
|
||||
if (cachedTeam[0] != PlayerPrefs.GetInt("selected_heroSlot01_heroID", 0)) return true;
|
||||
if (cachedTeam[1] != PlayerPrefs.GetInt("selected_heroSlot02_heroID", 0)) return true;
|
||||
if (cachedTeam[2] != PlayerPrefs.GetInt("selected_heroSlot03_heroID", 0)) return true;
|
||||
if (cachedTeam[3] != PlayerPrefs.GetInt("selected_heroSlot04_heroID", 0)) return true;
|
||||
if (cachedTeam[4] != PlayerPrefs.GetInt("selected_heroSlot05_heroID", 0)) return true;
|
||||
if (cachedTeam[0] != TeamSelectionDefaults.ReadHeroId(1)) return true;
|
||||
if (cachedTeam[1] != TeamSelectionDefaults.ReadHeroId(2)) return true;
|
||||
if (cachedTeam[2] != TeamSelectionDefaults.ReadHeroId(3)) return true;
|
||||
if (cachedTeam[3] != TeamSelectionDefaults.ReadHeroId(4)) return true;
|
||||
if (cachedTeam[4] != TeamSelectionDefaults.ReadHeroId(5)) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -289,12 +289,13 @@ public class newTeamSelector : MonoBehaviour
|
||||
|
||||
private int[] ReadSelectedHeroIdsFromPlayerPrefs()
|
||||
{
|
||||
TeamSelectionDefaults.EnsureDefaultTeamIfMissing();
|
||||
int[] ids = new int[Mathf.Max(5, slotCount)];
|
||||
if (ids.Length > 0) ids[0] = Mathf.Max(0, PlayerPrefs.GetInt("selected_heroSlot01_heroID", 0));
|
||||
if (ids.Length > 1) ids[1] = Mathf.Max(0, PlayerPrefs.GetInt("selected_heroSlot02_heroID", 0));
|
||||
if (ids.Length > 2) ids[2] = Mathf.Max(0, PlayerPrefs.GetInt("selected_heroSlot03_heroID", 0));
|
||||
if (ids.Length > 3) ids[3] = Mathf.Max(0, PlayerPrefs.GetInt("selected_heroSlot04_heroID", 0));
|
||||
if (ids.Length > 4) ids[4] = Mathf.Max(0, PlayerPrefs.GetInt("selected_heroSlot05_heroID", 0));
|
||||
if (ids.Length > 0) ids[0] = TeamSelectionDefaults.ReadHeroId(1);
|
||||
if (ids.Length > 1) ids[1] = TeamSelectionDefaults.ReadHeroId(2);
|
||||
if (ids.Length > 2) ids[2] = TeamSelectionDefaults.ReadHeroId(3);
|
||||
if (ids.Length > 3) ids[3] = TeamSelectionDefaults.ReadHeroId(4);
|
||||
if (ids.Length > 4) ids[4] = TeamSelectionDefaults.ReadHeroId(5);
|
||||
return ids;
|
||||
}
|
||||
|
||||
|
||||
@@ -1679,7 +1679,7 @@ public static class MailRewardGrantService
|
||||
resolved = CreateBasicResolved(ResolvedKind.PlayerExp, amount, rewardName, reward.reward_image != null ? reward.reward_image : _playerExpRewardIcon, reward.reward_description, reward, "\u73a9\u5bb6\u7ecf\u9a8c");
|
||||
return true;
|
||||
case mail_so.reward_type.money:
|
||||
resolved = CreateBasicResolved(ResolvedKind.Coins, amount, rewardName, reward.reward_image != null ? reward.reward_image : _coinRewardIcon, reward.reward_description, reward, "\u91d1\u5e01");
|
||||
resolved = CreateBasicResolved(ResolvedKind.Coins, amount, rewardName, reward.reward_image != null ? reward.reward_image : _coinRewardIcon, reward.reward_description, reward, "算力");
|
||||
return true;
|
||||
case mail_so.reward_type.metarial:
|
||||
resolved = CreateBasicResolved(ResolvedKind.Material, amount, rewardName, reward.reward_image != null ? reward.reward_image : _materialRewardIcon, reward.reward_description, reward, "\u8bb0\u5fc6\u788e\u7247");
|
||||
|
||||
@@ -7268,6 +7268,7 @@ GameObject:
|
||||
- component: {fileID: 1348388220439716234}
|
||||
- component: {fileID: 6137481741208887361}
|
||||
- component: {fileID: 1863233853179500241}
|
||||
- component: {fileID: 1338150670383926109}
|
||||
m_Layer: 5
|
||||
m_Name: Text_PLAYER
|
||||
m_TagString: Untagged
|
||||
@@ -7291,9 +7292,9 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: -80.7, y: -31.391098}
|
||||
m_SizeDelta: {x: 273.4951, y: 26.8889}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 56.047485, y: -31.391068}
|
||||
m_SizeDelta: {x: 0, y: 26.8889}
|
||||
m_Pivot: {x: 1, y: 0.5}
|
||||
--- !u!222 &6137481741208887361
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -7315,19 +7316,19 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.23921569, g: 0.21960784, b: 0.40392157, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_FontData:
|
||||
m_Font: {fileID: 12800000, guid: 2dfc162c344875b4da01e6a15073dce5, type: 3}
|
||||
m_FontSize: 26
|
||||
m_Font: {fileID: 12800000, guid: dfa10de3e2846524089b5073175cd151, type: 3}
|
||||
m_FontSize: 20
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 1
|
||||
m_MinSize: 2
|
||||
m_BestFit: 0
|
||||
m_MinSize: 0
|
||||
m_MaxSize: 26
|
||||
m_Alignment: 5
|
||||
m_AlignByGeometry: 0
|
||||
@@ -7335,7 +7336,21 @@ MonoBehaviour:
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: USERNAME
|
||||
m_Text: "USERNAME\u8FD9\u662F\u7528\u6237\u7684\u795E\u79D8\u7528\u6237\u540D\u662F12123"
|
||||
--- !u!114 &1338150670383926109
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5745207992015071035}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_HorizontalFit: 2
|
||||
m_VerticalFit: 0
|
||||
--- !u!1 &5751219486557543197
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@@ -313,6 +313,12 @@ public sealed class AllyHeroDeployLedger : MonoBehaviour
|
||||
return;
|
||||
}
|
||||
|
||||
if (!loadedFromSave && hasAnyRecoverableLocalState)
|
||||
{
|
||||
Debug.LogWarning("[AllyHeroDeployLedger] Recoverable save state exists but could not be loaded; skip saving to avoid overwriting older idol growth data.");
|
||||
return;
|
||||
}
|
||||
|
||||
SyncAllMirrorFlags();
|
||||
SyncAllLegacySelectedSlotExpKeys();
|
||||
AllyHeroDeployLedgerStorage.TrySave(BuildPayload());
|
||||
|
||||
@@ -128,11 +128,14 @@ public static class AllyHeroDeployLedgerStorage
|
||||
byte[] encryptedBytes = Convert.FromBase64String(envelope.payload);
|
||||
AllyHeroDeployLedgerPayload loadedPayload = null;
|
||||
var identifierVariants = SaveIdentityUtility.GetApplicationIdentifierVariants();
|
||||
for (int i = 0; i < identifierVariants.Count; i++)
|
||||
var deviceBindingVariants = SaveIdentityUtility.GetDeviceBindingVariants();
|
||||
for (int i = 0; i < identifierVariants.Count && loadedPayload == null; i++)
|
||||
{
|
||||
for (int d = 0; d < deviceBindingVariants.Count; d++)
|
||||
{
|
||||
try
|
||||
{
|
||||
byte[] plainBytes = XorTransform(encryptedBytes, BuildKeyBytes(identifierVariants[i]));
|
||||
byte[] plainBytes = XorTransform(encryptedBytes, BuildKeyBytes(identifierVariants[i], deviceBindingVariants[d]));
|
||||
string payloadJson = Encoding.UTF8.GetString(plainBytes);
|
||||
loadedPayload = JsonUtility.FromJson<AllyHeroDeployLedgerPayload>(payloadJson);
|
||||
if (loadedPayload != null)
|
||||
@@ -144,6 +147,7 @@ public static class AllyHeroDeployLedgerStorage
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (loadedPayload == null)
|
||||
{
|
||||
@@ -208,25 +212,19 @@ public static class AllyHeroDeployLedgerStorage
|
||||
|
||||
private static string ComputeSignature(string payloadBase64)
|
||||
{
|
||||
string signText = payloadBase64 + "|" + SaveIdentityUtility.GetPrimaryApplicationIdentifier() + "|" + SecretSeed + "|" + SystemInfo.deviceUniqueIdentifier;
|
||||
using (SHA256 sha = SHA256.Create())
|
||||
{
|
||||
byte[] bytes = Encoding.UTF8.GetBytes(signText);
|
||||
byte[] hash = sha.ComputeHash(bytes);
|
||||
return Convert.ToBase64String(hash);
|
||||
}
|
||||
return ComputeSignature(payloadBase64, SaveIdentityUtility.GetPrimaryApplicationIdentifier(), SaveIdentityUtility.GetPrimaryDeviceBinding());
|
||||
}
|
||||
|
||||
private static byte[] BuildKeyBytes()
|
||||
{
|
||||
return BuildKeyBytes(SaveIdentityUtility.GetPrimaryApplicationIdentifier());
|
||||
return BuildKeyBytes(SaveIdentityUtility.GetPrimaryApplicationIdentifier(), SaveIdentityUtility.GetPrimaryDeviceBinding());
|
||||
}
|
||||
|
||||
private static byte[] BuildKeyBytes(string applicationIdentifier)
|
||||
private static byte[] BuildKeyBytes(string applicationIdentifier, string deviceBinding)
|
||||
{
|
||||
using (SHA256 sha = SHA256.Create())
|
||||
{
|
||||
string seed = applicationIdentifier + "|" + SystemInfo.deviceUniqueIdentifier + "|" + SecretSeed;
|
||||
string seed = applicationIdentifier + "|" + deviceBinding + "|" + SecretSeed;
|
||||
return sha.ComputeHash(Encoding.UTF8.GetBytes(seed));
|
||||
}
|
||||
}
|
||||
@@ -234,21 +232,25 @@ public static class AllyHeroDeployLedgerStorage
|
||||
private static bool TryValidateSignature(string payloadBase64, string signature)
|
||||
{
|
||||
var identifierVariants = SaveIdentityUtility.GetApplicationIdentifierVariants();
|
||||
var deviceBindingVariants = SaveIdentityUtility.GetDeviceBindingVariants();
|
||||
for (int i = 0; i < identifierVariants.Count; i++)
|
||||
{
|
||||
string expectedSignature = ComputeSignature(payloadBase64, identifierVariants[i]);
|
||||
for (int d = 0; d < deviceBindingVariants.Count; d++)
|
||||
{
|
||||
string expectedSignature = ComputeSignature(payloadBase64, identifierVariants[i], deviceBindingVariants[d]);
|
||||
if (string.Equals(expectedSignature, signature, StringComparison.Ordinal))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private static string ComputeSignature(string payloadBase64, string applicationIdentifier)
|
||||
private static string ComputeSignature(string payloadBase64, string applicationIdentifier, string deviceBinding)
|
||||
{
|
||||
string signText = payloadBase64 + "|" + applicationIdentifier + "|" + SecretSeed + "|" + SystemInfo.deviceUniqueIdentifier;
|
||||
string signText = payloadBase64 + "|" + applicationIdentifier + "|" + SecretSeed + "|" + deviceBinding;
|
||||
using (SHA256 sha = SHA256.Create())
|
||||
{
|
||||
byte[] bytes = Encoding.UTF8.GetBytes(signText);
|
||||
|
||||
@@ -197,6 +197,12 @@ public sealed class DushMaterialLedger : MonoBehaviour
|
||||
InitializeIfNeeded();
|
||||
}
|
||||
|
||||
if (!loadedFromSave && hasAnyRecoverableLocalState)
|
||||
{
|
||||
Debug.LogWarning("[DushMaterialLedger] Recoverable save state exists but could not be loaded; skip saving to avoid overwriting older material data.");
|
||||
return;
|
||||
}
|
||||
|
||||
SyncMirrorCounts();
|
||||
DushMaterialLedgerStorage.TrySave(BuildPayload());
|
||||
SyncToPlayerData();
|
||||
|
||||
@@ -138,11 +138,14 @@ public static class DushMaterialLedgerStorage
|
||||
var encryptedBytes = Convert.FromBase64String(envelope.payload);
|
||||
DushMaterialLedgerPayload loadedPayload = null;
|
||||
var identifierVariants = SaveIdentityUtility.GetApplicationIdentifierVariants();
|
||||
for (int i = 0; i < identifierVariants.Count; i++)
|
||||
var deviceBindingVariants = SaveIdentityUtility.GetDeviceBindingVariants();
|
||||
for (int i = 0; i < identifierVariants.Count && loadedPayload == null; i++)
|
||||
{
|
||||
for (int d = 0; d < deviceBindingVariants.Count; d++)
|
||||
{
|
||||
try
|
||||
{
|
||||
var plainBytes = XorTransform(encryptedBytes, BuildKeyBytes(identifierVariants[i]));
|
||||
var plainBytes = XorTransform(encryptedBytes, BuildKeyBytes(identifierVariants[i], deviceBindingVariants[d]));
|
||||
var payloadJson = Encoding.UTF8.GetString(plainBytes);
|
||||
loadedPayload = JsonUtility.FromJson<DushMaterialLedgerPayload>(payloadJson);
|
||||
if (loadedPayload != null)
|
||||
@@ -154,6 +157,7 @@ public static class DushMaterialLedgerStorage
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (loadedPayload == null)
|
||||
{
|
||||
@@ -218,25 +222,19 @@ public static class DushMaterialLedgerStorage
|
||||
|
||||
private static string ComputeSignature(string payloadBase64)
|
||||
{
|
||||
var signText = payloadBase64 + "|" + SaveIdentityUtility.GetPrimaryApplicationIdentifier() + "|" + SecretSeed + "|" + SystemInfo.deviceUniqueIdentifier;
|
||||
using (var sha = SHA256.Create())
|
||||
{
|
||||
var bytes = Encoding.UTF8.GetBytes(signText);
|
||||
var hash = sha.ComputeHash(bytes);
|
||||
return Convert.ToBase64String(hash);
|
||||
}
|
||||
return ComputeSignature(payloadBase64, SaveIdentityUtility.GetPrimaryApplicationIdentifier(), SaveIdentityUtility.GetPrimaryDeviceBinding());
|
||||
}
|
||||
|
||||
private static byte[] BuildKeyBytes()
|
||||
{
|
||||
return BuildKeyBytes(SaveIdentityUtility.GetPrimaryApplicationIdentifier());
|
||||
return BuildKeyBytes(SaveIdentityUtility.GetPrimaryApplicationIdentifier(), SaveIdentityUtility.GetPrimaryDeviceBinding());
|
||||
}
|
||||
|
||||
private static byte[] BuildKeyBytes(string applicationIdentifier)
|
||||
private static byte[] BuildKeyBytes(string applicationIdentifier, string deviceBinding)
|
||||
{
|
||||
using (var sha = SHA256.Create())
|
||||
{
|
||||
var seed = applicationIdentifier + "|" + SystemInfo.deviceUniqueIdentifier + "|" + SecretSeed;
|
||||
var seed = applicationIdentifier + "|" + deviceBinding + "|" + SecretSeed;
|
||||
return sha.ComputeHash(Encoding.UTF8.GetBytes(seed));
|
||||
}
|
||||
}
|
||||
@@ -244,21 +242,25 @@ public static class DushMaterialLedgerStorage
|
||||
private static bool TryValidateSignature(string payloadBase64, string signature)
|
||||
{
|
||||
var identifierVariants = SaveIdentityUtility.GetApplicationIdentifierVariants();
|
||||
var deviceBindingVariants = SaveIdentityUtility.GetDeviceBindingVariants();
|
||||
for (int i = 0; i < identifierVariants.Count; i++)
|
||||
{
|
||||
var expectedSignature = ComputeSignature(payloadBase64, identifierVariants[i]);
|
||||
for (int d = 0; d < deviceBindingVariants.Count; d++)
|
||||
{
|
||||
var expectedSignature = ComputeSignature(payloadBase64, identifierVariants[i], deviceBindingVariants[d]);
|
||||
if (string.Equals(expectedSignature, signature, StringComparison.Ordinal))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private static string ComputeSignature(string payloadBase64, string applicationIdentifier)
|
||||
private static string ComputeSignature(string payloadBase64, string applicationIdentifier, string deviceBinding)
|
||||
{
|
||||
var signText = payloadBase64 + "|" + applicationIdentifier + "|" + SecretSeed + "|" + SystemInfo.deviceUniqueIdentifier;
|
||||
var signText = payloadBase64 + "|" + applicationIdentifier + "|" + SecretSeed + "|" + deviceBinding;
|
||||
using (var sha = SHA256.Create())
|
||||
{
|
||||
var bytes = Encoding.UTF8.GetBytes(signText);
|
||||
|
||||
@@ -10,6 +10,8 @@ public sealed class EquipmentConsumableLedger : MonoBehaviour
|
||||
|
||||
private readonly Dictionary<string, int> countsByKey = new Dictionary<string, int>(StringComparer.Ordinal);
|
||||
private bool initialized;
|
||||
private bool loadedFromSave;
|
||||
private bool hasAnyRecoverableLocalState;
|
||||
|
||||
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
|
||||
private static void Bootstrap()
|
||||
@@ -65,12 +67,19 @@ public sealed class EquipmentConsumableLedger : MonoBehaviour
|
||||
}
|
||||
|
||||
EquipmentConsumableLedgerPayload payload;
|
||||
EquipmentConsumableLedgerStorage.TryLoad(out payload);
|
||||
loadedFromSave = EquipmentConsumableLedgerStorage.TryLoad(out payload);
|
||||
hasAnyRecoverableLocalState = loadedFromSave || EquipmentConsumableLedgerStorage.HasAnyRecoverableState();
|
||||
RebuildFromPayload(payload);
|
||||
initialized = true;
|
||||
SyncMirrorCounts();
|
||||
|
||||
// If an older save exists but cannot be read right now, do not overwrite it
|
||||
// with an empty default payload during startup.
|
||||
if (loadedFromSave || !hasAnyRecoverableLocalState)
|
||||
{
|
||||
SaveNow();
|
||||
}
|
||||
}
|
||||
|
||||
public int GetCount(EquipmentConsumableKind kind)
|
||||
{
|
||||
@@ -126,6 +135,12 @@ public sealed class EquipmentConsumableLedger : MonoBehaviour
|
||||
InitializeIfNeeded();
|
||||
}
|
||||
|
||||
if (!loadedFromSave && hasAnyRecoverableLocalState)
|
||||
{
|
||||
Debug.LogWarning("[EquipmentConsumableLedger] Recoverable save state exists but could not be loaded; skip saving to avoid overwriting older material data.");
|
||||
return;
|
||||
}
|
||||
|
||||
SyncMirrorCounts();
|
||||
EquipmentConsumableLedgerStorage.TrySave(BuildPayload());
|
||||
}
|
||||
|
||||
@@ -52,6 +52,7 @@ public static class EquipmentConsumableLedgerStorage
|
||||
{
|
||||
return HasAnyVaultFile(MainFileName)
|
||||
|| HasAnyVaultFile(BackupFileName)
|
||||
|| PlayerProgressBackupService.HasEquipmentConsumableBackup()
|
||||
|| LocalRecoveryMirror.HasSlotData(RecoverySlotKey);
|
||||
}
|
||||
|
||||
@@ -136,11 +137,14 @@ public static class EquipmentConsumableLedgerStorage
|
||||
var encryptedBytes = Convert.FromBase64String(envelope.payload);
|
||||
EquipmentConsumableLedgerPayload loadedPayload = null;
|
||||
var identifierVariants = SaveIdentityUtility.GetApplicationIdentifierVariants();
|
||||
for (int i = 0; i < identifierVariants.Count; i++)
|
||||
var deviceBindingVariants = SaveIdentityUtility.GetDeviceBindingVariants();
|
||||
for (int i = 0; i < identifierVariants.Count && loadedPayload == null; i++)
|
||||
{
|
||||
for (int d = 0; d < deviceBindingVariants.Count; d++)
|
||||
{
|
||||
try
|
||||
{
|
||||
var plainBytes = XorTransform(encryptedBytes, BuildKeyBytes(identifierVariants[i]));
|
||||
var plainBytes = XorTransform(encryptedBytes, BuildKeyBytes(identifierVariants[i], deviceBindingVariants[d]));
|
||||
var payloadJson = Encoding.UTF8.GetString(plainBytes);
|
||||
loadedPayload = JsonUtility.FromJson<EquipmentConsumableLedgerPayload>(payloadJson);
|
||||
if (loadedPayload != null)
|
||||
@@ -152,6 +156,7 @@ public static class EquipmentConsumableLedgerStorage
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (loadedPayload == null)
|
||||
{
|
||||
@@ -202,25 +207,19 @@ public static class EquipmentConsumableLedgerStorage
|
||||
|
||||
private static string ComputeSignature(string payloadBase64)
|
||||
{
|
||||
var signText = payloadBase64 + "|" + SaveIdentityUtility.GetPrimaryApplicationIdentifier() + "|" + SecretSeed + "|" + SystemInfo.deviceUniqueIdentifier;
|
||||
using (var sha = SHA256.Create())
|
||||
{
|
||||
var bytes = Encoding.UTF8.GetBytes(signText);
|
||||
var hash = sha.ComputeHash(bytes);
|
||||
return Convert.ToBase64String(hash);
|
||||
}
|
||||
return ComputeSignature(payloadBase64, SaveIdentityUtility.GetPrimaryApplicationIdentifier(), SaveIdentityUtility.GetPrimaryDeviceBinding());
|
||||
}
|
||||
|
||||
private static byte[] BuildKeyBytes()
|
||||
{
|
||||
return BuildKeyBytes(SaveIdentityUtility.GetPrimaryApplicationIdentifier());
|
||||
return BuildKeyBytes(SaveIdentityUtility.GetPrimaryApplicationIdentifier(), SaveIdentityUtility.GetPrimaryDeviceBinding());
|
||||
}
|
||||
|
||||
private static byte[] BuildKeyBytes(string applicationIdentifier)
|
||||
private static byte[] BuildKeyBytes(string applicationIdentifier, string deviceBinding)
|
||||
{
|
||||
using (var sha = SHA256.Create())
|
||||
{
|
||||
var seed = applicationIdentifier + "|" + SystemInfo.deviceUniqueIdentifier + "|" + SecretSeed;
|
||||
var seed = applicationIdentifier + "|" + deviceBinding + "|" + SecretSeed;
|
||||
return sha.ComputeHash(Encoding.UTF8.GetBytes(seed));
|
||||
}
|
||||
}
|
||||
@@ -228,21 +227,25 @@ public static class EquipmentConsumableLedgerStorage
|
||||
private static bool TryValidateSignature(string payloadBase64, string signature)
|
||||
{
|
||||
var identifierVariants = SaveIdentityUtility.GetApplicationIdentifierVariants();
|
||||
var deviceBindingVariants = SaveIdentityUtility.GetDeviceBindingVariants();
|
||||
for (int i = 0; i < identifierVariants.Count; i++)
|
||||
{
|
||||
var expectedSignature = ComputeSignature(payloadBase64, identifierVariants[i]);
|
||||
for (int d = 0; d < deviceBindingVariants.Count; d++)
|
||||
{
|
||||
var expectedSignature = ComputeSignature(payloadBase64, identifierVariants[i], deviceBindingVariants[d]);
|
||||
if (string.Equals(expectedSignature, signature, StringComparison.Ordinal))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private static string ComputeSignature(string payloadBase64, string applicationIdentifier)
|
||||
private static string ComputeSignature(string payloadBase64, string applicationIdentifier, string deviceBinding)
|
||||
{
|
||||
var signText = payloadBase64 + "|" + applicationIdentifier + "|" + SecretSeed + "|" + SystemInfo.deviceUniqueIdentifier;
|
||||
var signText = payloadBase64 + "|" + applicationIdentifier + "|" + SecretSeed + "|" + deviceBinding;
|
||||
using (var sha = SHA256.Create())
|
||||
{
|
||||
var bytes = Encoding.UTF8.GetBytes(signText);
|
||||
|
||||
@@ -295,6 +295,13 @@ public sealed class ExpBottleLedger : MonoBehaviour
|
||||
public void SaveNow()
|
||||
{
|
||||
InitializeIfNeededForSave();
|
||||
|
||||
if (!loadedFromSave && hasAnyRecoverableLocalState)
|
||||
{
|
||||
Debug.LogWarning("[ExpBottleLedger] Recoverable save state exists but could not be loaded; skip saving to avoid overwriting older material data.");
|
||||
return;
|
||||
}
|
||||
|
||||
SyncMirrorCounts();
|
||||
ExpBottleLedgerStorage.TrySave(BuildPayload());
|
||||
SyncToPlayerData();
|
||||
|
||||
@@ -138,11 +138,14 @@ public static class ExpBottleLedgerStorage
|
||||
var encryptedBytes = Convert.FromBase64String(envelope.payload);
|
||||
ExpBottleLedgerPayload loadedPayload = null;
|
||||
var identifierVariants = SaveIdentityUtility.GetApplicationIdentifierVariants();
|
||||
for (int i = 0; i < identifierVariants.Count; i++)
|
||||
var deviceBindingVariants = SaveIdentityUtility.GetDeviceBindingVariants();
|
||||
for (int i = 0; i < identifierVariants.Count && loadedPayload == null; i++)
|
||||
{
|
||||
for (int d = 0; d < deviceBindingVariants.Count; d++)
|
||||
{
|
||||
try
|
||||
{
|
||||
var plainBytes = XorTransform(encryptedBytes, BuildKeyBytes(identifierVariants[i]));
|
||||
var plainBytes = XorTransform(encryptedBytes, BuildKeyBytes(identifierVariants[i], deviceBindingVariants[d]));
|
||||
var payloadJson = Encoding.UTF8.GetString(plainBytes);
|
||||
loadedPayload = JsonUtility.FromJson<ExpBottleLedgerPayload>(payloadJson);
|
||||
if (loadedPayload != null)
|
||||
@@ -154,6 +157,7 @@ public static class ExpBottleLedgerStorage
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (loadedPayload == null)
|
||||
{
|
||||
@@ -218,25 +222,19 @@ public static class ExpBottleLedgerStorage
|
||||
|
||||
private static string ComputeSignature(string payloadBase64)
|
||||
{
|
||||
var signText = payloadBase64 + "|" + SaveIdentityUtility.GetPrimaryApplicationIdentifier() + "|" + SecretSeed + "|" + SystemInfo.deviceUniqueIdentifier;
|
||||
using (var sha = SHA256.Create())
|
||||
{
|
||||
var bytes = Encoding.UTF8.GetBytes(signText);
|
||||
var hash = sha.ComputeHash(bytes);
|
||||
return Convert.ToBase64String(hash);
|
||||
}
|
||||
return ComputeSignature(payloadBase64, SaveIdentityUtility.GetPrimaryApplicationIdentifier(), SaveIdentityUtility.GetPrimaryDeviceBinding());
|
||||
}
|
||||
|
||||
private static byte[] BuildKeyBytes()
|
||||
{
|
||||
return BuildKeyBytes(SaveIdentityUtility.GetPrimaryApplicationIdentifier());
|
||||
return BuildKeyBytes(SaveIdentityUtility.GetPrimaryApplicationIdentifier(), SaveIdentityUtility.GetPrimaryDeviceBinding());
|
||||
}
|
||||
|
||||
private static byte[] BuildKeyBytes(string applicationIdentifier)
|
||||
private static byte[] BuildKeyBytes(string applicationIdentifier, string deviceBinding)
|
||||
{
|
||||
using (var sha = SHA256.Create())
|
||||
{
|
||||
var seed = applicationIdentifier + "|" + SystemInfo.deviceUniqueIdentifier + "|" + SecretSeed;
|
||||
var seed = applicationIdentifier + "|" + deviceBinding + "|" + SecretSeed;
|
||||
return sha.ComputeHash(Encoding.UTF8.GetBytes(seed));
|
||||
}
|
||||
}
|
||||
@@ -244,21 +242,25 @@ public static class ExpBottleLedgerStorage
|
||||
private static bool TryValidateSignature(string payloadBase64, string signature)
|
||||
{
|
||||
var identifierVariants = SaveIdentityUtility.GetApplicationIdentifierVariants();
|
||||
var deviceBindingVariants = SaveIdentityUtility.GetDeviceBindingVariants();
|
||||
for (int i = 0; i < identifierVariants.Count; i++)
|
||||
{
|
||||
var expectedSignature = ComputeSignature(payloadBase64, identifierVariants[i]);
|
||||
for (int d = 0; d < deviceBindingVariants.Count; d++)
|
||||
{
|
||||
var expectedSignature = ComputeSignature(payloadBase64, identifierVariants[i], deviceBindingVariants[d]);
|
||||
if (string.Equals(expectedSignature, signature, StringComparison.Ordinal))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private static string ComputeSignature(string payloadBase64, string applicationIdentifier)
|
||||
private static string ComputeSignature(string payloadBase64, string applicationIdentifier, string deviceBinding)
|
||||
{
|
||||
var signText = payloadBase64 + "|" + applicationIdentifier + "|" + SecretSeed + "|" + SystemInfo.deviceUniqueIdentifier;
|
||||
var signText = payloadBase64 + "|" + applicationIdentifier + "|" + SecretSeed + "|" + deviceBinding;
|
||||
using (var sha = SHA256.Create())
|
||||
{
|
||||
var bytes = Encoding.UTF8.GetBytes(signText);
|
||||
|
||||
@@ -48,11 +48,99 @@ public static class FirstRunFactoryResetService
|
||||
return;
|
||||
}
|
||||
|
||||
// 物理文件兜底探测(最后一道防线):
|
||||
// HasAnyRecoverableLocalState() 依赖各 Storage 的解密/结构判断,若因根目录别名未覆盖、
|
||||
// 或存档结构异常而误判为"无存档",仍可能走到出厂重置。这里直接扫描磁盘上是否存在
|
||||
// 任何存档物理文件(不解密、只看存在),只要有就绝不重置,宁可等待其它恢复路径。
|
||||
if (HasAnyPhysicalSaveFileOnDisk())
|
||||
{
|
||||
Debug.LogWarning("[FactoryReset] 磁盘上存在存档物理文件但未能读出," +
|
||||
"为避免误删玩家数据,跳过出厂重置并补写初始化标记。");
|
||||
EnsureInitializedMarker();
|
||||
return;
|
||||
}
|
||||
|
||||
Debug.LogWarning("[FactoryReset] 首次运行且无可恢复存档,应用出厂默认设置。");
|
||||
ApplyFactoryReset();
|
||||
EnsureInitializedMarker();
|
||||
}
|
||||
|
||||
// 扫描所有可能的存档根目录(含新旧包名/公司名别名),只要磁盘上存在任意一个存档物理文件
|
||||
// 就返回 true。只判存在、不解密——因此不受 deviceUniqueIdentifier 变化影响。
|
||||
private static bool HasAnyPhysicalSaveFileOnDisk()
|
||||
{
|
||||
try
|
||||
{
|
||||
IReadOnlyList<string> roots = SaveIdentityUtility.GetPersistentRootVariants();
|
||||
for (int i = 0; i < roots.Count; i++)
|
||||
{
|
||||
string root = roots[i];
|
||||
if (string.IsNullOrWhiteSpace(root))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// 1) 加密存档目录 .cache_bridge:递归找任意 .dat / .bak
|
||||
string vaultDir = Path.Combine(root, ".cache_bridge");
|
||||
if (DirectoryHasFileWithAnyExtension(vaultDir, new[] { ".dat", ".bak" }))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
// 2) 设备无关明文备份 player_progress.bbackup
|
||||
if (File.Exists(Path.Combine(root, "player_progress.bbackup")))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
// 3) 恢复镜像目录 .save_recovery:存在任意文件即视为有存档
|
||||
string recoveryDir = Path.Combine(root, ".save_recovery");
|
||||
if (DirectoryHasAnyFile(recoveryDir))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// 探测失败时采取保守策略:报告"存在存档",宁可跳过重置也不误删。
|
||||
Debug.LogWarning("[FactoryReset] 物理存档探测异常,保守跳过出厂重置: " + ex.Message);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private static bool DirectoryHasFileWithAnyExtension(string directory, string[] extensions)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(directory) || !Directory.Exists(directory))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
for (int i = 0; i < extensions.Length; i++)
|
||||
{
|
||||
string[] matches = Directory.GetFiles(directory, "*" + extensions[i], SearchOption.AllDirectories);
|
||||
if (matches != null && matches.Length > 0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private static bool DirectoryHasAnyFile(string directory)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(directory) || !Directory.Exists(directory))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
string[] matches = Directory.GetFiles(directory, "*", SearchOption.AllDirectories);
|
||||
return matches != null && matches.Length > 0;
|
||||
}
|
||||
|
||||
private static bool HasInitializedMarker()
|
||||
{
|
||||
try
|
||||
|
||||
@@ -238,6 +238,13 @@ public sealed class PlayerEconomyLedger : MonoBehaviour
|
||||
public void SaveNow()
|
||||
{
|
||||
InitializeIfNeededForSave();
|
||||
|
||||
if (!loadedFromSave && hasAnyRecoverableLocalState)
|
||||
{
|
||||
Debug.LogWarning("[PlayerEconomyLedger] Recoverable save state exists but could not be loaded; skip saving to avoid overwriting older economy data.");
|
||||
return;
|
||||
}
|
||||
|
||||
PlayerEconomyStorage.TrySave(payload);
|
||||
SyncToPlayerData();
|
||||
GlobalAchievementService.EnsureInstance().ReportCurrentCoins(payload.coins);
|
||||
|
||||
@@ -138,12 +138,15 @@ public static class PlayerEconomyStorage
|
||||
|
||||
var encryptedBytes = Convert.FromBase64String(envelope.payload);
|
||||
var identifierVariants = SaveIdentityUtility.GetApplicationIdentifierVariants();
|
||||
var deviceBindingVariants = SaveIdentityUtility.GetDeviceBindingVariants();
|
||||
PlayerEconomyPayload loadedPayload = null;
|
||||
for (int i = 0; i < identifierVariants.Count; i++)
|
||||
for (int i = 0; i < identifierVariants.Count && loadedPayload == null; i++)
|
||||
{
|
||||
for (int d = 0; d < deviceBindingVariants.Count; d++)
|
||||
{
|
||||
try
|
||||
{
|
||||
var plainBytes = XorTransform(encryptedBytes, BuildKeyBytes(identifierVariants[i]));
|
||||
var plainBytes = XorTransform(encryptedBytes, BuildKeyBytes(identifierVariants[i], deviceBindingVariants[d]));
|
||||
var payloadJson = Encoding.UTF8.GetString(plainBytes);
|
||||
loadedPayload = JsonUtility.FromJson<PlayerEconomyPayload>(payloadJson);
|
||||
if (loadedPayload != null)
|
||||
@@ -155,6 +158,7 @@ public static class PlayerEconomyStorage
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (loadedPayload == null)
|
||||
{
|
||||
@@ -219,25 +223,19 @@ public static class PlayerEconomyStorage
|
||||
|
||||
private static string ComputeSignature(string payloadBase64)
|
||||
{
|
||||
var signText = payloadBase64 + "|" + SaveIdentityUtility.GetPrimaryApplicationIdentifier() + "|" + SecretSeed + "|" + SystemInfo.deviceUniqueIdentifier;
|
||||
using (var sha = SHA256.Create())
|
||||
{
|
||||
var bytes = Encoding.UTF8.GetBytes(signText);
|
||||
var hash = sha.ComputeHash(bytes);
|
||||
return Convert.ToBase64String(hash);
|
||||
}
|
||||
return ComputeSignature(payloadBase64, SaveIdentityUtility.GetPrimaryApplicationIdentifier(), SaveIdentityUtility.GetPrimaryDeviceBinding());
|
||||
}
|
||||
|
||||
private static byte[] BuildKeyBytes()
|
||||
{
|
||||
return BuildKeyBytes(SaveIdentityUtility.GetPrimaryApplicationIdentifier());
|
||||
return BuildKeyBytes(SaveIdentityUtility.GetPrimaryApplicationIdentifier(), SaveIdentityUtility.GetPrimaryDeviceBinding());
|
||||
}
|
||||
|
||||
private static byte[] BuildKeyBytes(string applicationIdentifier)
|
||||
private static byte[] BuildKeyBytes(string applicationIdentifier, string deviceBinding)
|
||||
{
|
||||
using (var sha = SHA256.Create())
|
||||
{
|
||||
var seed = applicationIdentifier + "|" + SystemInfo.deviceUniqueIdentifier + "|" + SecretSeed;
|
||||
var seed = applicationIdentifier + "|" + deviceBinding + "|" + SecretSeed;
|
||||
return sha.ComputeHash(Encoding.UTF8.GetBytes(seed));
|
||||
}
|
||||
}
|
||||
@@ -245,21 +243,25 @@ public static class PlayerEconomyStorage
|
||||
private static bool TryValidateSignature(string payloadBase64, string signature)
|
||||
{
|
||||
var identifierVariants = SaveIdentityUtility.GetApplicationIdentifierVariants();
|
||||
var deviceBindingVariants = SaveIdentityUtility.GetDeviceBindingVariants();
|
||||
for (int i = 0; i < identifierVariants.Count; i++)
|
||||
{
|
||||
var expectedSignature = ComputeSignature(payloadBase64, identifierVariants[i]);
|
||||
for (int d = 0; d < deviceBindingVariants.Count; d++)
|
||||
{
|
||||
var expectedSignature = ComputeSignature(payloadBase64, identifierVariants[i], deviceBindingVariants[d]);
|
||||
if (string.Equals(expectedSignature, signature, StringComparison.Ordinal))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private static string ComputeSignature(string payloadBase64, string applicationIdentifier)
|
||||
private static string ComputeSignature(string payloadBase64, string applicationIdentifier, string deviceBinding)
|
||||
{
|
||||
var signText = payloadBase64 + "|" + applicationIdentifier + "|" + SecretSeed + "|" + SystemInfo.deviceUniqueIdentifier;
|
||||
var signText = payloadBase64 + "|" + applicationIdentifier + "|" + SecretSeed + "|" + deviceBinding;
|
||||
using (var sha = SHA256.Create())
|
||||
{
|
||||
var bytes = Encoding.UTF8.GetBytes(signText);
|
||||
|
||||
@@ -191,6 +191,12 @@ public sealed class PlayerExperienceLedger : MonoBehaviour
|
||||
payload = CreateDefaultPayload();
|
||||
}
|
||||
|
||||
if (!loadedFromSave && hasAnyRecoverableLocalState)
|
||||
{
|
||||
Debug.LogWarning("[PlayerExperienceLedger] Recoverable save state exists but could not be loaded; skip saving to avoid overwriting older player experience data.");
|
||||
return;
|
||||
}
|
||||
|
||||
payload.lastUpdatedUtcTicks = DateTime.UtcNow.Ticks;
|
||||
SecureSaveVault.SaveJson("player_experience", "runtime", payload, GetLegacySavePath());
|
||||
PlayerProgressBackupService.SavePlayerExperience(payload.playerExp);
|
||||
|
||||
@@ -78,6 +78,12 @@ public static class PlayerProgressBackupService
|
||||
return TryLoadBundle(out bundle) && bundle != null && bundle.dushMaterial != null;
|
||||
}
|
||||
|
||||
public static bool HasEquipmentConsumableBackup()
|
||||
{
|
||||
PlayerProgressBackupBundle bundle;
|
||||
return TryLoadBundle(out bundle) && bundle != null && bundle.equipmentConsumable != null;
|
||||
}
|
||||
|
||||
public static bool HasStoreOwnershipBackup()
|
||||
{
|
||||
PlayerProgressBackupBundle bundle;
|
||||
|
||||
@@ -301,7 +301,7 @@ public sealed class PlayerSkillService : MonoBehaviour
|
||||
if (grantedCoins > 0)
|
||||
{
|
||||
PlayerEconomyLedger.EnsureInstance().AddCoins(grantedCoins);
|
||||
grantedEntries.Add(gItemGet.Create("\u91d1\u5e01", null, grantedCoins, new Color32(240, 196, 74, 255)));
|
||||
grantedEntries.Add(gItemGet.Create("算力", null, grantedCoins, new Color32(240, 196, 74, 255)));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -376,7 +376,7 @@ public sealed class PlayerSkillService : MonoBehaviour
|
||||
|
||||
int grantedCoins = purchaseAmount * 4;
|
||||
PlayerEconomyLedger.EnsureInstance().AddCoins(grantedCoins);
|
||||
rewardEntry = gItemGet.Create("\u91d1\u5e01", item.itemIcon, grantedCoins, new Color32(240, 196, 74, 255));
|
||||
rewardEntry = gItemGet.Create("算力", item.itemIcon, grantedCoins, new Color32(240, 196, 74, 255));
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||