Merge branch 'main' of http://10.27.16.144:3000/kawagiri/TH1 into main
This commit is contained in:
commit
ab1b6decf0
172286
My project/Assets/Fonts/SourceHanSansCNex-Regular SDF.asset
Normal file
172286
My project/Assets/Fonts/SourceHanSansCNex-Regular SDF.asset
Normal file
File diff suppressed because one or more lines are too long
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1c728d01632255543a4f0cad63643527
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
1
My project/Assets/Fonts/chinese_ex.txt
Normal file
1
My project/Assets/Fonts/chinese_ex.txt
Normal file
File diff suppressed because one or more lines are too long
7
My project/Assets/Fonts/chinese_ex.txt.meta
Normal file
7
My project/Assets/Fonts/chinese_ex.txt.meta
Normal file
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c62020103ac656c469685792feb103cd
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9f28e81153d6f054189a1c9fb474a4de
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
@ -0,0 +1,114 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a20a1e5d72974e749a32d0bf8c607f45
|
||||
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: 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: 29, z: 0, w: 29}
|
||||
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: 3
|
||||
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: 3
|
||||
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
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 1537655665
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
@ -0,0 +1,114 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f2e1249f04ce35a46a4c58a8cf72d52b
|
||||
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: 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: 21, z: 0, w: 22}
|
||||
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: 3
|
||||
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: 3
|
||||
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
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 1537655665
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -13,243 +13,183 @@ MonoBehaviour:
|
||||
m_Name: Achievement
|
||||
m_EditorClassIdentifier:
|
||||
AchievementList:
|
||||
- BigID: 1
|
||||
- BigID: 2
|
||||
SmallID: 1
|
||||
InternalID: 1
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name:
|
||||
Desc:
|
||||
Name: "\u6211\u8981\u770B\u5230\u8840\u6D41\u6210\u6CB3!"
|
||||
Desc: "\u7D2F\u8BA1\u53EC\u552410\u6B21"
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":1,"TargetGiant":2,"TrainCount":0}'
|
||||
- BigID: 1
|
||||
- '{"TargetCount":10,"TargetGiant":2,"TrainCount":0}'
|
||||
- BigID: 2
|
||||
SmallID: 1
|
||||
InternalID: 2
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name:
|
||||
Desc:
|
||||
Name: "\u7329\u7EA2\u6CD5\u5EAD"
|
||||
Desc: "\u7D2F\u8BA1\u53EC\u552420\u6B21"
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":20,"TargetGiant":2,"TrainCount":0}'
|
||||
- BigID: 2
|
||||
SmallID: 1
|
||||
InternalID: 3
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name: "\u7EEF\u8272\u51A5\u6CB3\u4E4B\u4E3B"
|
||||
Desc: "\u7D2F\u8BA1\u53EC\u552430\u6B21"
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":30,"TargetGiant":2,"TrainCount":0}'
|
||||
- BigID: 2
|
||||
SmallID: 2
|
||||
InternalID: 1
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name: "\u54B3\u54B3,\u54B3\u54B3\u54B3"
|
||||
Desc: "\u7D2F\u8BA1\u53EC\u552410\u6B21"
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":10,"TargetGiant":5,"TrainCount":0}'
|
||||
- BigID: 2
|
||||
SmallID: 2
|
||||
InternalID: 2
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name: "\u4E0D\u52A8\u7684\u5927\u56FE\u4E66\u9986"
|
||||
Desc: "\u7D2F\u8BA1\u53EC\u552420\u6B21"
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":20,"TargetGiant":5,"TrainCount":0}'
|
||||
- BigID: 2
|
||||
SmallID: 2
|
||||
InternalID: 3
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name: "\u4E0E\u6BD2\u86C7\u5171\u7720"
|
||||
Desc: "\u7D2F\u8BA1\u53EC\u552430\u6B21"
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":1,"TargetGiant":5,"TrainCount":0}'
|
||||
- BigID: 1
|
||||
SmallID: 1
|
||||
InternalID: 3
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name:
|
||||
Desc:
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":1,"TargetGiant":3,"TrainCount":0}'
|
||||
- BigID: 1
|
||||
SmallID: 1
|
||||
InternalID: 4
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name:
|
||||
Desc:
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":1,"TargetGiant":1,"TrainCount":0}'
|
||||
- BigID: 1
|
||||
SmallID: 1
|
||||
InternalID: 5
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name:
|
||||
Desc:
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":1,"TargetGiant":4,"TrainCount":0}'
|
||||
- BigID: 1
|
||||
SmallID: 2
|
||||
InternalID: 1
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name:
|
||||
Desc:
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":1,"TargetGiant":6,"TrainCount":0}'
|
||||
- BigID: 1
|
||||
SmallID: 2
|
||||
InternalID: 2
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name:
|
||||
Desc:
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":1,"TargetGiant":9,"TrainCount":0}'
|
||||
- BigID: 1
|
||||
SmallID: 2
|
||||
InternalID: 3
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name:
|
||||
Desc:
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":1,"TargetGiant":8,"TrainCount":0}'
|
||||
- BigID: 1
|
||||
SmallID: 2
|
||||
InternalID: 4
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name:
|
||||
Desc:
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":1,"TargetGiant":7,"TrainCount":0}'
|
||||
- BigID: 1
|
||||
SmallID: 2
|
||||
InternalID: 5
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name:
|
||||
Desc:
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":1,"TargetGiant":10,"TrainCount":0}'
|
||||
- BigID: 1
|
||||
- BigID: 2
|
||||
SmallID: 3
|
||||
InternalID: 1
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name:
|
||||
Desc:
|
||||
Name: "\u53C8\u89C1\u9762\u4E86,\u5927\u5C0F\u59D0"
|
||||
Desc: "\u7D2F\u8BA1\u53EC\u552410\u6B21"
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":1,"TargetGiant":11,"TrainCount":0}'
|
||||
- BigID: 1
|
||||
- '{"TargetCount":10,"TargetGiant":3,"TrainCount":0}'
|
||||
- BigID: 2
|
||||
SmallID: 3
|
||||
InternalID: 2
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name:
|
||||
Desc:
|
||||
Name: "\u5B8C\u7F8E\u6F47\u6D12\u7684\u4ECE\u8005"
|
||||
Desc: "\u7D2F\u8BA1\u53EC\u552420\u6B21"
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":1,"TargetGiant":12,"TrainCount":0}'
|
||||
- BigID: 1
|
||||
- '{"TargetCount":20,"TargetGiant":3,"TrainCount":0}'
|
||||
- BigID: 2
|
||||
SmallID: 3
|
||||
InternalID: 3
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name:
|
||||
Desc:
|
||||
Name: "\u4E8E\u51A5\u6CB3\u5B88\u5019"
|
||||
Desc: "\u7D2F\u8BA1\u53EC\u552430\u6B21"
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":1,"TargetGiant":13,"TrainCount":0}'
|
||||
- BigID: 1
|
||||
SmallID: 3
|
||||
InternalID: 4
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name:
|
||||
Desc:
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":1,"TargetGiant":15,"TrainCount":0}'
|
||||
- BigID: 1
|
||||
SmallID: 3
|
||||
InternalID: 5
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name:
|
||||
Desc:
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":1,"TargetGiant":14,"TrainCount":0}'
|
||||
- BigID: 1
|
||||
- '{"TargetCount":30,"TargetGiant":3,"TrainCount":0}'
|
||||
- BigID: 2
|
||||
SmallID: 4
|
||||
InternalID: 1
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name:
|
||||
Desc:
|
||||
Name: "\u6BC1\u706D\u662F\u6211\u4EC5\u5269\u7684\u6E29\u67D4"
|
||||
Desc: "\u7D2F\u8BA1\u53EC\u552410\u6B21"
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":1,"TargetGiant":16,"TrainCount":0}'
|
||||
- BigID: 1
|
||||
- '{"TargetCount":10,"TargetGiant":1,"TrainCount":0}'
|
||||
- BigID: 2
|
||||
SmallID: 4
|
||||
InternalID: 2
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name:
|
||||
Desc:
|
||||
Name: "\u56DB\u91CD\u5B58\u5728"
|
||||
Desc: "\u7D2F\u8BA1\u53EC\u552420\u6B21"
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":1,"TargetGiant":17,"TrainCount":0}'
|
||||
- BigID: 1
|
||||
- '{"TargetCount":20,"TargetGiant":1,"TrainCount":0}'
|
||||
- BigID: 2
|
||||
SmallID: 4
|
||||
InternalID: 3
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name:
|
||||
Desc:
|
||||
Name: "\u5965\u897F\u91CC\u65AF\u4E4B\u6B7B"
|
||||
Desc: "\u7D2F\u8BA1\u53EC\u552430\u6B21"
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":1,"TargetGiant":20,"TrainCount":0}'
|
||||
- BigID: 1
|
||||
SmallID: 4
|
||||
InternalID: 4
|
||||
- '{"TargetCount":30,"TargetGiant":1,"TrainCount":0}'
|
||||
- BigID: 2
|
||||
SmallID: 5
|
||||
InternalID: 1
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name:
|
||||
Desc:
|
||||
Name: "\u6211\u8981\u625310\u4E2A"
|
||||
Desc: "\u7D2F\u8BA1\u53EC\u552410\u6B21"
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":1,"TargetGiant":19,"TrainCount":0}'
|
||||
- BigID: 1
|
||||
SmallID: 4
|
||||
InternalID: 5
|
||||
- '{"TargetCount":10,"TargetGiant":4,"TrainCount":0}'
|
||||
- BigID: 2
|
||||
SmallID: 5
|
||||
InternalID: 2
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name:
|
||||
Desc:
|
||||
Name: "\u5D29\u5C71\u5F69\u6781\u70AE"
|
||||
Desc: "\u7D2F\u8BA1\u53EC\u552420\u6B21"
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":1,"TargetGiant":18,"TrainCount":0}'
|
||||
- '{"TargetCount":20,"TargetGiant":4,"TrainCount":0}'
|
||||
- BigID: 2
|
||||
SmallID: 5
|
||||
InternalID: 3
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name: "\u8377\u9C81\u65AF\u7684\u590D\u4EC7"
|
||||
Desc: "\u7D2F\u8BA1\u53EC\u552430\u6B21"
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":30,"TargetGiant":4,"TrainCount":0}'
|
||||
|
||||
189
My project/Assets/Resources/DataAssets/LibraryDataAssets.asset
Normal file
189
My project/Assets/Resources/DataAssets/LibraryDataAssets.asset
Normal file
@ -0,0 +1,189 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3021a083155383c468f120ab3e4c669a, type: 3}
|
||||
m_Name: LibraryDataAssets
|
||||
m_EditorClassIdentifier:
|
||||
LibraryGiantList:
|
||||
- GiantType: 2
|
||||
Name: "\u857E\u7C73\u8389\u4E9A \xB7 \u65AF\u5361\u96F7\u7279"
|
||||
Desc: "\u9970\u6F14<color=red>\u5965\u897F\u91CC\u65AF</color>\u7684\u4EBA\u7C7B\u5C11\u5973\u3002\u5979\u672C\u662F\u7EA2\u9B54\u9986\u670D\u4F8D\u857E\u7C73\u8389\u4E9A\xB7\u65AF\u5361\u96F7\u7279\u7684\u5973\u4EC6\u957F\uFF0C\u966A\u7740\u4EFB\u6027\u7684\u5927\u5C0F\u59D0\u4E00\u540C\u52A0\u5165\u6E38\u620F\u3002"
|
||||
Diag: "\u5C45\u7136\u662F\u2026\u2026\u5965\u897F\u91CC\u65AF\u5417\uFF1F\u4E0D\u8FC7\u5927\u5C0F\u59D0\u662F\u4E0D\u4F1A\u6B7B\u7684\u5427\u3002\u6211\u53D8\u5F97\u591A\u4F59\u4E86\u5462\u3002"
|
||||
EnglishName: REMILIA SCARLET
|
||||
DiagColor: {r: 0.9176471, g: 0.34901962, b: 0.3529412, a: 1}
|
||||
Illust: {fileID: 21300000, guid: d4661e5af1f33b94ea56ac7d7b30b512, type: 3}
|
||||
AchivePreId: 201
|
||||
- GiantType: 5
|
||||
Name: "\u5E15\u79CB\u8389 \xB7 \u8BFA\u857E\u59EC"
|
||||
Desc: "\u9970\u6F14<color=red>\u514B\u91CC\u6B27\u5E15\u7279\u62C9</color>\u7684\u4EBA\u7C7B\u5C11\u5973\u3002\u5979\u672C\u662F\u7EA2\u9B54\u9986\u670D\u4F8D\u857E\u7C73\u8389\u4E9A\xB7\u65AF\u5361\u96F7\u7279\u7684\u5973\u4EC6\u957F\uFF0C\u966A\u7740\u4EFB\u6027\u7684\u5927\u5C0F\u59D0\u4E00\u540C\u52A0\u5165\u6E38\u620F\u3002"
|
||||
Diag: "\u5C45\u7136\u662F\u2026\u2026\u8273\u540E\uFF1F\u4E0D\u8FC7\u5927\u5C0F\u59D0\u662F\u4E0D\u4F1A\u6B7B\u7684\u5427\u3002\u6211\u53D8\u5F97\u591A\u4F59\u4E86\u5462\u3002"
|
||||
EnglishName: PATCHOULI KNOWLEDGE
|
||||
DiagColor: {r: 0.90196085, g: 0, b: 0.8431373, a: 1}
|
||||
Illust: {fileID: 21300000, guid: 41bf66abdaa83a74e9a9b6cff7cda10f, type: 3}
|
||||
AchivePreId: 202
|
||||
- GiantType: 3
|
||||
Name: "\u5341\u516D\u591C\u54B2\u591C"
|
||||
Desc: "\u9970\u6F14<color=red>\u963F\u52AA\u6BD4\u65AF</color>\u7684\u4EBA\u7C7B\u5C11\u5973\u3002\u5979\u672C\u662F\u7EA2\u9B54\u9986\u670D\u4F8D\u857E\u7C73\u8389\u4E9A\xB7\u65AF\u5361\u96F7\u7279\u7684\u5973\u4EC6\u957F\uFF0C\u966A\u7740\u4EFB\u6027\u7684\u5927\u5C0F\u59D0\u4E00\u540C\u52A0\u5165\u6E38\u620F\u3002"
|
||||
Diag: "\u5C45\u7136\u662F\u2026\u2026\u4EA1\u8005\u5F15\u8DEF\u4EBA\u5417\uFF1F\u4E0D\u8FC7\u5927\u5C0F\u59D0\u662F\u4E0D\u4F1A\u6B7B\u7684\u5427\u3002\u6211\u53D8\u5F97\u591A\u4F59\u4E86\u5462\u3002"
|
||||
EnglishName: IZAYOI SAKUYA
|
||||
DiagColor: {r: 0.5176471, g: 0.69803923, b: 0.9333334, a: 1}
|
||||
Illust: {fileID: 21300000, guid: be05e31a5775ae747a6fb1ce1f8db46a, type: 3}
|
||||
AchivePreId: 203
|
||||
- GiantType: 1
|
||||
Name: "\u8299\u5170\u6735\u9732 \xB7 \u65AF\u5361\u96F7\u7279"
|
||||
Desc: "\u9970\u6F14<color=red>\u8D5B\u7279</color>\u7684\u4EBA\u7C7B\u5C11\u5973\u3002\u5979\u672C\u662F\u7EA2\u9B54\u9986\u670D\u4F8D\u857E\u7C73\u8389\u4E9A\xB7\u65AF\u5361\u96F7\u7279\u7684\u5973\u4EC6\u957F\uFF0C\u966A\u7740\u4EFB\u6027\u7684\u5927\u5C0F\u59D0\u4E00\u540C\u52A0\u5165\u6E38\u620F\u3002"
|
||||
Diag: "\u5C45\u7136\u662F\u2026\u2026\u8D5B\u7279\uFF1F\u4E0D\u8FC7\u5927\u5C0F\u59D0\u662F\u4E0D\u4F1A\u6B7B\u7684\u5427\u3002\u6211\u53D8\u5F97\u591A\u4F59\u4E86\u5462\u3002"
|
||||
EnglishName: FLANDRE SCARLET
|
||||
DiagColor: {r: 0.9176471, g: 0.34901962, b: 0.3529412, a: 1}
|
||||
Illust: {fileID: 21300000, guid: aec531e396936d143a506d19ceb156bc, type: 3}
|
||||
AchivePreId: 204
|
||||
- GiantType: 4
|
||||
Name: "\u7EA2\u7F8E\u94C3"
|
||||
Desc: "\u9970\u6F14<color=red>\u8377\u9C81\u65AF</color>\u7684\u4EBA\u7C7B\u5C11\u5973\u3002\u5979\u672C\u662F\u7EA2\u9B54\u9986\u670D\u4F8D\u857E\u7C73\u8389\u4E9A\xB7\u65AF\u5361\u96F7\u7279\u7684\u5973\u4EC6\u957F\uFF0C\u966A\u7740\u4EFB\u6027\u7684\u5927\u5C0F\u59D0\u4E00\u540C\u52A0\u5165\u6E38\u620F\u3002"
|
||||
Diag: "\u5C45\u7136\u662F\u2026\u2026\u8377\u9C81\u65AF\uFF1F\u4E0D\u8FC7\u5927\u5C0F\u59D0\u662F\u4E0D\u4F1A\u6B7B\u7684\u5427\u3002\u6211\u53D8\u5F97\u591A\u4F59\u4E86\u5462\u3002"
|
||||
EnglishName: HONG MEILING
|
||||
DiagColor: {r: 0.9176471, g: 0.34901962, b: 0.3529412, a: 1}
|
||||
Illust: {fileID: 21300000, guid: c5feb7e3a8bc4384e955e9fa2218fc25, type: 3}
|
||||
AchivePreId: 205
|
||||
LibraryWonderList:
|
||||
- WonderLibraryID: 0
|
||||
Diags:
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
AchivePreId: 301
|
||||
- WonderLibraryID: 1
|
||||
Diags:
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
AchivePreId: 302
|
||||
- WonderLibraryID: 2
|
||||
Diags:
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
AchivePreId: 303
|
||||
- WonderLibraryID: 3
|
||||
Diags:
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
AchivePreId: 304
|
||||
- WonderLibraryID: 4
|
||||
Diags:
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
AchivePreId: 305
|
||||
- WonderLibraryID: 5
|
||||
Diags:
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
AchivePreId: 306
|
||||
- WonderLibraryID: 6
|
||||
Diags:
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
AchivePreId: 307
|
||||
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b1e1eac8bdb12dc419c68eb26cb339a7
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -12,4 +12,184 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: b664cf36cbd74c59a853c45c232706b0, type: 3}
|
||||
m_Name: Achievement
|
||||
m_EditorClassIdentifier:
|
||||
AchievementList: []
|
||||
AchievementList:
|
||||
- BigID: 2
|
||||
SmallID: 1
|
||||
InternalID: 1
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name: 1058
|
||||
Desc: 243
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":10,"TargetGiant":2,"TrainCount":0}'
|
||||
- BigID: 2
|
||||
SmallID: 1
|
||||
InternalID: 2
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name: 1059
|
||||
Desc: 1060
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":20,"TargetGiant":2,"TrainCount":0}'
|
||||
- BigID: 2
|
||||
SmallID: 1
|
||||
InternalID: 3
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name: 1061
|
||||
Desc: 1062
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":30,"TargetGiant":2,"TrainCount":0}'
|
||||
- BigID: 2
|
||||
SmallID: 2
|
||||
InternalID: 1
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name: 1063
|
||||
Desc: 243
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":10,"TargetGiant":5,"TrainCount":0}'
|
||||
- BigID: 2
|
||||
SmallID: 2
|
||||
InternalID: 2
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name: 1064
|
||||
Desc: 1060
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":20,"TargetGiant":5,"TrainCount":0}'
|
||||
- BigID: 2
|
||||
SmallID: 2
|
||||
InternalID: 3
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name: 1065
|
||||
Desc: 1062
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":1,"TargetGiant":5,"TrainCount":0}'
|
||||
- BigID: 2
|
||||
SmallID: 3
|
||||
InternalID: 1
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name: 1066
|
||||
Desc: 243
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":10,"TargetGiant":3,"TrainCount":0}'
|
||||
- BigID: 2
|
||||
SmallID: 3
|
||||
InternalID: 2
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name: 1067
|
||||
Desc: 1060
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":20,"TargetGiant":3,"TrainCount":0}'
|
||||
- BigID: 2
|
||||
SmallID: 3
|
||||
InternalID: 3
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name: 1068
|
||||
Desc: 1062
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":30,"TargetGiant":3,"TrainCount":0}'
|
||||
- BigID: 2
|
||||
SmallID: 4
|
||||
InternalID: 1
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name: 1069
|
||||
Desc: 243
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":10,"TargetGiant":1,"TrainCount":0}'
|
||||
- BigID: 2
|
||||
SmallID: 4
|
||||
InternalID: 2
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name: 1070
|
||||
Desc: 1060
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":20,"TargetGiant":1,"TrainCount":0}'
|
||||
- BigID: 2
|
||||
SmallID: 4
|
||||
InternalID: 3
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name: 1071
|
||||
Desc: 1062
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":30,"TargetGiant":1,"TrainCount":0}'
|
||||
- BigID: 2
|
||||
SmallID: 5
|
||||
InternalID: 1
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name: 1072
|
||||
Desc: 243
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":10,"TargetGiant":4,"TrainCount":0}'
|
||||
- BigID: 2
|
||||
SmallID: 5
|
||||
InternalID: 2
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name: 1073
|
||||
Desc: 1060
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":20,"TargetGiant":4,"TrainCount":0}'
|
||||
- BigID: 2
|
||||
SmallID: 5
|
||||
InternalID: 3
|
||||
MapID: 0
|
||||
IsFinished: 0
|
||||
Name: 1074
|
||||
Desc: 1062
|
||||
_typeNames:
|
||||
- Logic.Achievement.TrainGiantCondition, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
_jsonData:
|
||||
- '{"TargetCount":30,"TargetGiant":4,"TrainCount":0}'
|
||||
|
||||
189
My project/Assets/Resources/Export/LibraryDataAssets.asset
Normal file
189
My project/Assets/Resources/Export/LibraryDataAssets.asset
Normal file
@ -0,0 +1,189 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3021a083155383c468f120ab3e4c669a, type: 3}
|
||||
m_Name: LibraryDataAssets
|
||||
m_EditorClassIdentifier:
|
||||
LibraryGiantList:
|
||||
- GiantType: 2
|
||||
Name: 1044
|
||||
Desc: 1050
|
||||
Diag: 1051
|
||||
EnglishName: REMILIA SCARLET
|
||||
DiagColor: {r: 0.9176471, g: 0.34901962, b: 0.3529412, a: 1}
|
||||
Illust: {fileID: 21300000, guid: d4661e5af1f33b94ea56ac7d7b30b512, type: 3}
|
||||
AchivePreId: 201
|
||||
- GiantType: 5
|
||||
Name: 1046
|
||||
Desc: 1052
|
||||
Diag: 1053
|
||||
EnglishName: PATCHOULI KNOWLEDGE
|
||||
DiagColor: {r: 0.90196085, g: 0, b: 0.8431373, a: 1}
|
||||
Illust: {fileID: 21300000, guid: 41bf66abdaa83a74e9a9b6cff7cda10f, type: 3}
|
||||
AchivePreId: 202
|
||||
- GiantType: 3
|
||||
Name: 37
|
||||
Desc: 1045
|
||||
Diag: 239
|
||||
EnglishName: IZAYOI SAKUYA
|
||||
DiagColor: {r: 0.5176471, g: 0.69803923, b: 0.9333334, a: 1}
|
||||
Illust: {fileID: 21300000, guid: be05e31a5775ae747a6fb1ce1f8db46a, type: 3}
|
||||
AchivePreId: 203
|
||||
- GiantType: 1
|
||||
Name: 1047
|
||||
Desc: 1054
|
||||
Diag: 1055
|
||||
EnglishName: FLANDRE SCARLET
|
||||
DiagColor: {r: 0.9176471, g: 0.34901962, b: 0.3529412, a: 1}
|
||||
Illust: {fileID: 21300000, guid: aec531e396936d143a506d19ceb156bc, type: 3}
|
||||
AchivePreId: 204
|
||||
- GiantType: 4
|
||||
Name: 38
|
||||
Desc: 1056
|
||||
Diag: 1057
|
||||
EnglishName: HONG MEILING
|
||||
DiagColor: {r: 0.9176471, g: 0.34901962, b: 0.3529412, a: 1}
|
||||
Illust: {fileID: 21300000, guid: c5feb7e3a8bc4384e955e9fa2218fc25, type: 3}
|
||||
AchivePreId: 205
|
||||
LibraryWonderList:
|
||||
- WonderLibraryID: 0
|
||||
Diags:
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
AchivePreId: 301
|
||||
- WonderLibraryID: 1
|
||||
Diags:
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
AchivePreId: 302
|
||||
- WonderLibraryID: 2
|
||||
Diags:
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
AchivePreId: 303
|
||||
- WonderLibraryID: 3
|
||||
Diags:
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
AchivePreId: 304
|
||||
- WonderLibraryID: 4
|
||||
Diags:
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
AchivePreId: 305
|
||||
- WonderLibraryID: 5
|
||||
Diags:
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
AchivePreId: 306
|
||||
- WonderLibraryID: 6
|
||||
Diags:
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
- Diag:
|
||||
- "\u4E03\u5341\u4E07\u5377?!\u4F60\u53EF\u522B\u8BA9\u5C0F\u6076\u9B54\u7D2F\u6B7B\u54E6\uFF0C\u4F20\u51FA\u53BB\u574F\u4E86\u6211\u7EA2\u9B54\u9986\u7684\u540D\u58F0\u3002"
|
||||
- "\u653E\u5FC3\uFF0C\u5C0F\u6076\u9B54\u5979\u662F\u81EA\u613F\u7684\u3002\u5012\u662F\u67D0\u53EA\u8001\u9F20\u53EF\u80FD\u4F1A\u7D2F\u6B7B\u5427"
|
||||
Giant: 0200000005000000
|
||||
AchivePreId: 307
|
||||
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 905dc184d572a094995a9861c0f0ea91
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -6486,3 +6486,190 @@ MonoBehaviour:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1044
|
||||
ZH: "\u857E\u7C73\u8389\u4E9A \xB7 \u65AF\u5361\u96F7\u7279"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1045
|
||||
ZH: "\u9970\u6F14<color=red>\u963F\u52AA\u6BD4\u65AF</color>\u7684\u4EBA\u7C7B\u5C11\u5973\u3002\u5979\u672C\u662F\u7EA2\u9B54\u9986\u670D\u4F8D\u857E\u7C73\u8389\u4E9A\xB7\u65AF\u5361\u96F7\u7279\u7684\u5973\u4EC6\u957F\uFF0C\u966A\u7740\u4EFB\u6027\u7684\u5927\u5C0F\u59D0\u4E00\u540C\u52A0\u5165\u6E38\u620F\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1046
|
||||
ZH: "\u5E15\u79CB\u8389 \xB7 \u8BFA\u857E\u59EC"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1047
|
||||
ZH: "\u8299\u5170\u6735\u9732 \xB7 \u65AF\u5361\u96F7\u7279"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1048
|
||||
ZH: "\u8FD4\u56DE"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1049
|
||||
ZH: "\u53E4\u4EE3\u4E16\u754C\u6700\u5927\u3001\u6700\u8457\u540D\u7684\u56FE\u4E66\u9986\uFF0C\u5EFA\u4E8E\u6258\u52D2\u5BC6\u738B\u671D\u65F6\u671F\u7684\u57C3\u53CA\uFF0C\u65E8\u5728\u6536\u85CF\u5929\u4E0B\u6240\u6709\u77E5\u8BC6\u3002\u540E\u56E0\u6218\u706B\u4E0E\u653F\u6CBB\u52A8\u8361\u591A\u6B21\u711A\u6BC1\u3002\r\n
|
||||
\r\n\t\u5728\u6E38\u620F\u4E2D\uFF0C\u4F5C\u4E3A<color=red>\u77E5\u8BC6\u7C7B\u5947\u89C2</color>\uFF0C\u89E3\u9501\u5168\u90E8\u79D1\u540E\u5373\u53EF\u83B7\u5F97\uFF0C\u63D0\u4F9B3\u70B9\u57CE\u5E02\u7ECF\u9A8C\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1050
|
||||
ZH: "\u9970\u6F14<color=red>\u5965\u897F\u91CC\u65AF</color>\u7684\u4EBA\u7C7B\u5C11\u5973\u3002\u5979\u672C\u662F\u7EA2\u9B54\u9986\u670D\u4F8D\u857E\u7C73\u8389\u4E9A\xB7\u65AF\u5361\u96F7\u7279\u7684\u5973\u4EC6\u957F\uFF0C\u966A\u7740\u4EFB\u6027\u7684\u5927\u5C0F\u59D0\u4E00\u540C\u52A0\u5165\u6E38\u620F\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1051
|
||||
ZH: "\u5C45\u7136\u662F\u2026\u2026\u5965\u897F\u91CC\u65AF\u5417\uFF1F\u4E0D\u8FC7\u5927\u5C0F\u59D0\u662F\u4E0D\u4F1A\u6B7B\u7684\u5427\u3002\u6211\u53D8\u5F97\u591A\u4F59\u4E86\u5462\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1052
|
||||
ZH: "\u9970\u6F14<color=red>\u514B\u91CC\u6B27\u5E15\u7279\u62C9</color>\u7684\u4EBA\u7C7B\u5C11\u5973\u3002\u5979\u672C\u662F\u7EA2\u9B54\u9986\u670D\u4F8D\u857E\u7C73\u8389\u4E9A\xB7\u65AF\u5361\u96F7\u7279\u7684\u5973\u4EC6\u957F\uFF0C\u966A\u7740\u4EFB\u6027\u7684\u5927\u5C0F\u59D0\u4E00\u540C\u52A0\u5165\u6E38\u620F\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1053
|
||||
ZH: "\u5C45\u7136\u662F\u2026\u2026\u8273\u540E\uFF1F\u4E0D\u8FC7\u5927\u5C0F\u59D0\u662F\u4E0D\u4F1A\u6B7B\u7684\u5427\u3002\u6211\u53D8\u5F97\u591A\u4F59\u4E86\u5462\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1054
|
||||
ZH: "\u9970\u6F14<color=red>\u8D5B\u7279</color>\u7684\u4EBA\u7C7B\u5C11\u5973\u3002\u5979\u672C\u662F\u7EA2\u9B54\u9986\u670D\u4F8D\u857E\u7C73\u8389\u4E9A\xB7\u65AF\u5361\u96F7\u7279\u7684\u5973\u4EC6\u957F\uFF0C\u966A\u7740\u4EFB\u6027\u7684\u5927\u5C0F\u59D0\u4E00\u540C\u52A0\u5165\u6E38\u620F\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1055
|
||||
ZH: "\u5C45\u7136\u662F\u2026\u2026\u8D5B\u7279\uFF1F\u4E0D\u8FC7\u5927\u5C0F\u59D0\u662F\u4E0D\u4F1A\u6B7B\u7684\u5427\u3002\u6211\u53D8\u5F97\u591A\u4F59\u4E86\u5462\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1056
|
||||
ZH: "\u9970\u6F14<color=red>\u8377\u9C81\u65AF</color>\u7684\u4EBA\u7C7B\u5C11\u5973\u3002\u5979\u672C\u662F\u7EA2\u9B54\u9986\u670D\u4F8D\u857E\u7C73\u8389\u4E9A\xB7\u65AF\u5361\u96F7\u7279\u7684\u5973\u4EC6\u957F\uFF0C\u966A\u7740\u4EFB\u6027\u7684\u5927\u5C0F\u59D0\u4E00\u540C\u52A0\u5165\u6E38\u620F\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1057
|
||||
ZH: "\u5C45\u7136\u662F\u2026\u2026\u8377\u9C81\u65AF\uFF1F\u4E0D\u8FC7\u5927\u5C0F\u59D0\u662F\u4E0D\u4F1A\u6B7B\u7684\u5427\u3002\u6211\u53D8\u5F97\u591A\u4F59\u4E86\u5462\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1058
|
||||
ZH: "\u6211\u8981\u770B\u5230\u8840\u6D41\u6210\u6CB3!"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1059
|
||||
ZH: "\u7329\u7EA2\u6CD5\u5EAD"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1060
|
||||
ZH: "\u7D2F\u8BA1\u53EC\u552420\u6B21"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1061
|
||||
ZH: "\u7EEF\u8272\u51A5\u6CB3\u4E4B\u4E3B"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1062
|
||||
ZH: "\u7D2F\u8BA1\u53EC\u552430\u6B21"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1063
|
||||
ZH: "\u54B3\u54B3,\u54B3\u54B3\u54B3"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1064
|
||||
ZH: "\u4E0D\u52A8\u7684\u5927\u56FE\u4E66\u9986"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1065
|
||||
ZH: "\u4E0E\u6BD2\u86C7\u5171\u7720"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1066
|
||||
ZH: "\u53C8\u89C1\u9762\u4E86,\u5927\u5C0F\u59D0"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1067
|
||||
ZH: "\u5B8C\u7F8E\u6F47\u6D12\u7684\u4ECE\u8005"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1068
|
||||
ZH: "\u4E8E\u51A5\u6CB3\u5B88\u5019"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1069
|
||||
ZH: "\u6BC1\u706D\u662F\u6211\u4EC5\u5269\u7684\u6E29\u67D4"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1070
|
||||
ZH: "\u56DB\u91CD\u5B58\u5728"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1071
|
||||
ZH: "\u5965\u897F\u91CC\u65AF\u4E4B\u6B7B"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1072
|
||||
ZH: "\u6211\u8981\u625310\u4E2A"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1073
|
||||
ZH: "\u5D29\u5C71\u5F69\u6781\u70AE"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1074
|
||||
ZH: "\u8377\u9C81\u65AF\u7684\u590D\u4EC7"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
|
||||
731
My project/Assets/Resources/Prefab/UI/LibraryGiantItem.prefab
Normal file
731
My project/Assets/Resources/Prefab/UI/LibraryGiantItem.prefab
Normal file
@ -0,0 +1,731 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &773238549959526393
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4858819990610711138}
|
||||
- component: {fileID: 7479775741014256601}
|
||||
- component: {fileID: 2939343314420282653}
|
||||
- component: {fileID: 6572336987432663799}
|
||||
m_Layer: 5
|
||||
m_Name: LibraryGiantItem
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &4858819990610711138
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 773238549959526393}
|
||||
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: 3979345553868064053}
|
||||
- {fileID: 6960784417656133043}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: -1.612915, y: -121.30078}
|
||||
m_SizeDelta: {x: 149.3839, y: 170.767}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &7479775741014256601
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 773238549959526393}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Navigation:
|
||||
m_Mode: 3
|
||||
m_WrapAround: 0
|
||||
m_SelectOnUp: {fileID: 0}
|
||||
m_SelectOnDown: {fileID: 0}
|
||||
m_SelectOnLeft: {fileID: 0}
|
||||
m_SelectOnRight: {fileID: 0}
|
||||
m_Transition: 0
|
||||
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}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
m_SpriteState:
|
||||
m_HighlightedSprite: {fileID: 0}
|
||||
m_PressedSprite: {fileID: 0}
|
||||
m_SelectedSprite: {fileID: 0}
|
||||
m_DisabledSprite: {fileID: 0}
|
||||
m_AnimationTriggers:
|
||||
m_NormalTrigger: Normal
|
||||
m_HighlightedTrigger: Highlighted
|
||||
m_PressedTrigger: Pressed
|
||||
m_SelectedTrigger: Selected
|
||||
m_DisabledTrigger: Disabled
|
||||
m_Interactable: 1
|
||||
m_TargetGraphic: {fileID: 6572336987432663799}
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
--- !u!222 &2939343314420282653
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 773238549959526393}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &6572336987432663799
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 773238549959526393}
|
||||
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.003921569}
|
||||
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: 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 &1597991794640668038
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5185594930988776825}
|
||||
- component: {fileID: 9069349811903041618}
|
||||
- component: {fileID: 5350872359185841931}
|
||||
m_Layer: 5
|
||||
m_Name: TribeIcon
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &5185594930988776825
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1597991794640668038}
|
||||
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: 1
|
||||
m_Children: []
|
||||
m_Father: {fileID: 3979345553868064053}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 0}
|
||||
m_AnchoredPosition: {x: -160.2, y: 199}
|
||||
m_SizeDelta: {x: 300, y: 1984}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &9069349811903041618
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1597991794640668038}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &5350872359185841931
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1597991794640668038}
|
||||
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: 0.6, g: 0.6, b: 0.6, 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: 21300000, guid: f4a89946e6d83f5498b8da8784d65ac4, type: 3}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 1
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!1 &2143856574349727868
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3979345553868064053}
|
||||
- component: {fileID: 4151986868898246392}
|
||||
- component: {fileID: 6686780826461634234}
|
||||
- component: {fileID: 280001197376577265}
|
||||
m_Layer: 5
|
||||
m_Name: TribeIconMask
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &3979345553868064053
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2143856574349727868}
|
||||
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: 9040562405999327698}
|
||||
- {fileID: 5185594930988776825}
|
||||
- {fileID: 5510234393231571267}
|
||||
m_Father: {fileID: 4858819990610711138}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 0}
|
||||
m_AnchoredPosition: {x: -74.1, y: 94.600006}
|
||||
m_SizeDelta: {x: 335, y: 335}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &4151986868898246392
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2143856574349727868}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &6686780826461634234
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2143856574349727868}
|
||||
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: 0, g: 0, b: 0, a: 0.54901963}
|
||||
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: 08385c7e82a966d429f920455b966585, type: 3}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 1
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!114 &280001197376577265
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2143856574349727868}
|
||||
m_Enabled: 0
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_ShowMaskGraphic: 1
|
||||
--- !u!1 &4182207054022356887
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6000026616590057476}
|
||||
- component: {fileID: 9161833284301621424}
|
||||
- component: {fileID: 5913617355368473729}
|
||||
m_Layer: 5
|
||||
m_Name: StarImg
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &6000026616590057476
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4182207054022356887}
|
||||
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: 1
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6960784417656133043}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 40, y: 40}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &9161833284301621424
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4182207054022356887}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &5913617355368473729
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4182207054022356887}
|
||||
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: 21300000, guid: dc16c4f92ad4caf41994f4435b3afc5c, 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!1 &4418908065800663448
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4497499041505276097}
|
||||
- component: {fileID: 1119575788612082855}
|
||||
- component: {fileID: 1712236966958661298}
|
||||
m_Layer: 5
|
||||
m_Name: StarImg (4)
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &4497499041505276097
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4418908065800663448}
|
||||
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: 1
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6960784417656133043}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 40, y: 40}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &1119575788612082855
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4418908065800663448}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &1712236966958661298
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4418908065800663448}
|
||||
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: 21300000, guid: dc16c4f92ad4caf41994f4435b3afc5c, 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!1 &4513832055530890531
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5510234393231571267}
|
||||
- component: {fileID: 7592975829904560892}
|
||||
- component: {fileID: 4010194447626426892}
|
||||
m_Layer: 5
|
||||
m_Name: Locked
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &5510234393231571267
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4513832055530890531}
|
||||
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: 3979345553868064053}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 0}
|
||||
m_AnchoredPosition: {x: -167, y: 170}
|
||||
m_SizeDelta: {x: 70, y: 100}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &7592975829904560892
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4513832055530890531}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &4010194447626426892
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4513832055530890531}
|
||||
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: 21300000, guid: c4149874829f08d478da4bfae558335a, type: 3}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 1
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!1 &4583539549008654088
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 9040562405999327698}
|
||||
- component: {fileID: 2635667013266381722}
|
||||
- component: {fileID: 7959561076632004373}
|
||||
m_Layer: 5
|
||||
m_Name: Selected
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
--- !u!224 &9040562405999327698
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4583539549008654088}
|
||||
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: 3979345553868064053}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 0}
|
||||
m_AnchoredPosition: {x: -167, y: 187}
|
||||
m_SizeDelta: {x: 330, y: 500}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &2635667013266381722
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4583539549008654088}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &7959561076632004373
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4583539549008654088}
|
||||
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: 21300000, guid: 3f62aadac84407a4dbeda2bbb9fc9c29, type: 3}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 1
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!1 &7246816796755460027
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6960784417656133043}
|
||||
- component: {fileID: 2767360006748245139}
|
||||
m_Layer: 5
|
||||
m_Name: Stars
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &6960784417656133043
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7246816796755460027}
|
||||
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: 6000026616590057476}
|
||||
- {fileID: 3670471885197409992}
|
||||
- {fileID: 4497499041505276097}
|
||||
m_Father: {fileID: 4858819990610711138}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 0}
|
||||
m_AnchoredPosition: {x: -80, y: 20}
|
||||
m_SizeDelta: {x: 100, y: 100}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &2767360006748245139
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7246816796755460027}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Padding:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_ChildAlignment: 4
|
||||
m_Spacing: 0
|
||||
m_ChildForceExpandWidth: 1
|
||||
m_ChildForceExpandHeight: 1
|
||||
m_ChildControlWidth: 0
|
||||
m_ChildControlHeight: 0
|
||||
m_ChildScaleWidth: 0
|
||||
m_ChildScaleHeight: 0
|
||||
m_ReverseArrangement: 0
|
||||
--- !u!1 &8742766851800791091
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3670471885197409992}
|
||||
- component: {fileID: 6221544809802481683}
|
||||
- component: {fileID: 2676771624809184846}
|
||||
m_Layer: 5
|
||||
m_Name: StarImg (1)
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &3670471885197409992
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8742766851800791091}
|
||||
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: 1
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6960784417656133043}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 40, y: 40}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &6221544809802481683
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8742766851800791091}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &2676771624809184846
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8742766851800791091}
|
||||
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: 21300000, guid: dc16c4f92ad4caf41994f4435b3afc5c, 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
|
||||
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ada4537387dfa3e40a4f9ede11a0a582
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@ -452,7 +452,7 @@ namespace RuntimeData
|
||||
{
|
||||
var main = GameObject.Find("Main").GetComponent<Main>();
|
||||
//如果既是非AI的真实mapdata,又是玩家的各自
|
||||
if (main.MapData == map && player.Id == map.PlayerMap.SelfPlayerId)
|
||||
if (Main.MapData == map && player.Id == map.PlayerMap.SelfPlayerId)
|
||||
{
|
||||
var faithPanel = GameObject.Find("UICanvas/TopBarPanel/FaithPanel/Icon").transform;
|
||||
var startPos = Table.Instance.GridToWorld(this);
|
||||
|
||||
@ -0,0 +1,93 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using RuntimeData;
|
||||
using Logic.Multilingual;
|
||||
|
||||
[Serializable]
|
||||
[CreateAssetMenu(fileName = "LibraryDataAssets", menuName = "TH1 Game Data/Library Data Asset")]
|
||||
public class LibraryDataAssets : ScriptableObject
|
||||
{
|
||||
|
||||
public List<LibraryGiantData> LibraryGiantList;
|
||||
public List<LibraryWonderData> LibraryWonderList;
|
||||
|
||||
public bool GetLibraryInfoByGiant(GiantType giant, out LibraryGiantData libraryGiantData)
|
||||
{
|
||||
// 检查列表是否为空,避免空引用异常
|
||||
if (LibraryGiantList == null || LibraryGiantList.Count == 0)
|
||||
{
|
||||
Debug.LogWarning($"LibraryGiantList is empty or null in {this.name}. Cannot find data for GiantType: {giant}");
|
||||
libraryGiantData = null;
|
||||
return false;
|
||||
}
|
||||
// 使用 LINQ 或 foreach 遍历列表查找匹配项
|
||||
foreach (var data in LibraryGiantList)
|
||||
{
|
||||
if (data.GiantType == giant)
|
||||
{
|
||||
libraryGiantData = data;
|
||||
return true; // 找到后立即返回
|
||||
}
|
||||
}
|
||||
// 如果遍历完整个列表都没有找到,则返回 null
|
||||
Debug.LogWarning($"No LibraryGiantData found for GiantType: {giant} in {this.name}.");
|
||||
libraryGiantData = null;
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool GetLibraryInfoByWonder(WonderLibrary wonderLibraryID, out LibraryWonderData data)
|
||||
{
|
||||
// 检查列表是否为空,避免空引用异常
|
||||
if (LibraryWonderList == null || LibraryWonderList.Count == 0)
|
||||
{
|
||||
Debug.LogWarning($"LibraryWonderList is empty or null in {this.name}. Cannot find data for WonderLibraryID: {wonderLibraryID}");
|
||||
data = null;
|
||||
return false;
|
||||
}
|
||||
// 遍历列表查找匹配项
|
||||
foreach (var wonderData in LibraryWonderList)
|
||||
{
|
||||
if (wonderData.WonderLibraryID == wonderLibraryID)
|
||||
{
|
||||
data = wonderData;
|
||||
return true; // 找到后立即返回
|
||||
}
|
||||
}
|
||||
// 如果遍历完整个列表都没有找到,则返回 null
|
||||
Debug.LogWarning($"No LibraryWonderData found for WonderLibraryID: {wonderLibraryID} in {this.name}.");
|
||||
data = null;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class LibraryGiantData
|
||||
{
|
||||
public GiantType GiantType;
|
||||
[MultilingualField] public string Name;
|
||||
[MultilingualField]
|
||||
public string Desc;
|
||||
[MultilingualField]
|
||||
public string Diag;
|
||||
|
||||
public string EnglishName;
|
||||
public Color DiagColor;
|
||||
public Sprite Illust;
|
||||
public int AchivePreId;//成就的前缀id
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class LibraryWonderData
|
||||
{
|
||||
public WonderLibrary WonderLibraryID;
|
||||
[MultilingualField] public List<DiagList> Diags;
|
||||
public int AchivePreId;//成就的前缀id
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class DiagList
|
||||
{
|
||||
public List<string> Diag;
|
||||
public List<GiantType> Giant;
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3021a083155383c468f120ab3e4c669a
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,4 +1,5 @@
|
||||
using System.Collections.Generic;
|
||||
using Logic.Achievement;
|
||||
using Logic.Action;
|
||||
using NUnit.Framework.Constraints;
|
||||
using NUnit.Framework.Internal.Commands;
|
||||
@ -116,6 +117,8 @@ public class Table
|
||||
public CivDataAssets CivDataAssets;
|
||||
public SkillDataAssets SkillDataAssets;
|
||||
public HintDataAssets HintDataAssets;
|
||||
public LibraryDataAssets LibraryDataAssets;
|
||||
//public AchievementAsset AchievementAsset;
|
||||
|
||||
|
||||
//TH1Resource路径相关
|
||||
@ -166,6 +169,8 @@ public class Table
|
||||
CivDataAssets = Resources.Load<CivDataAssets>("Export/CivDataAssets");
|
||||
SkillDataAssets = Resources.Load<SkillDataAssets>("Export/SkillDataAssets");
|
||||
HintDataAssets = Resources.Load<HintDataAssets>("Export/HintDataAssets");
|
||||
LibraryDataAssets = Resources.Load<LibraryDataAssets>("Export/LibraryDataAssets");
|
||||
//AchievementAsset = Resources.Load<AchievementAsset>("Export/AchievementAsset");
|
||||
}
|
||||
|
||||
public Vector2Int WorldToGrid(Vector3 worldPos,string mark = "")
|
||||
|
||||
@ -28,8 +28,10 @@ namespace Logic.Achievement
|
||||
public bool IsFinished;
|
||||
|
||||
//成就名称
|
||||
[MultilingualField]
|
||||
public string Name;
|
||||
// 成就描述
|
||||
[MultilingualField]
|
||||
public string Desc;
|
||||
|
||||
public List<AchievementConditionBase> Conditions;
|
||||
|
||||
@ -682,7 +682,7 @@ namespace Logic.Action
|
||||
|
||||
//临时做法,用来播放VFX,获取Main,理应向MapData写入一个VFX的RenderMark的
|
||||
var main = GameObject.Find("Main").GetComponent<Main>();
|
||||
if (actionParams.MapData == main.MapData && actionParams.PlayerData.Id == actionParams.MapData.PlayerMap.SelfPlayerData.Id)
|
||||
if (actionParams.MapData == Main.MapData && actionParams.PlayerData.Id == actionParams.MapData.PlayerMap.SelfPlayerData.Id)
|
||||
{
|
||||
var v1 = Table.Instance.GridToWorld(actionParams.GridData);
|
||||
actionParams.MapData.GetGridDataByCityId(city.Id, out var g2);
|
||||
@ -791,7 +791,7 @@ namespace Logic.Action
|
||||
//如果是玩家,执行一整套播放动画的逻辑
|
||||
//临时做法,用来播放VFX,获取Main,理应向MapData写入一个VFX的RenderMark的
|
||||
var main = GameObject.Find("Main").GetComponent<Main>();
|
||||
if (main.MapData == actionParams.MapData && actionParams.PlayerData.Id == actionParams.MapData.PlayerMap.SelfPlayerData.Id)
|
||||
if (Main.MapData == actionParams.MapData && actionParams.PlayerData.Id == actionParams.MapData.PlayerMap.SelfPlayerData.Id)
|
||||
{
|
||||
var v1 = Table.Instance.GridToWorld(actionParams.GridData);
|
||||
actionParams.MapData.GetGridDataByCityId(cityData.Id, out var g2);
|
||||
@ -992,7 +992,7 @@ namespace Logic.Action
|
||||
//如果是玩家,执行一整套播放动画的逻辑
|
||||
//临时做法,用来播放VFX,获取Main,理应向MapData写入一个VFX的RenderMark的
|
||||
var main = GameObject.Find("Main").GetComponent<Main>();
|
||||
if (main.MapData == actionParams.MapData && actionParams.PlayerData.Id == actionParams.MapData.PlayerMap.SelfPlayerData.Id)
|
||||
if (Main.MapData == actionParams.MapData && actionParams.PlayerData.Id == actionParams.MapData.PlayerMap.SelfPlayerData.Id)
|
||||
//目前只有市场这种情况,只播放建筑建设的雾效,其他啥都不播放
|
||||
if (cityExp == 0)
|
||||
{
|
||||
@ -1422,7 +1422,7 @@ namespace Logic.Action
|
||||
|
||||
//临时做法,用来播放VFX,获取Main,理应向MapData写入一个VFX的RenderMark的
|
||||
var main = GameObject.Find("Main").GetComponent<Main>();
|
||||
if (main.MapData == actionParams.MapData)// && actionParams.PlayerData.Id == actionParams.MapData.PlayerMap.SelfPlayerData.Id)
|
||||
if (Main.MapData == actionParams.MapData)// && actionParams.PlayerData.Id == actionParams.MapData.PlayerMap.SelfPlayerData.Id)
|
||||
{
|
||||
var v1 = Table.Instance.GridToWorld(gridData);
|
||||
int score = GetCost() * 5;
|
||||
@ -1881,7 +1881,7 @@ namespace Logic.Action
|
||||
|
||||
//临时做法,用来播放VFX,获取Main,理应向MapData写入一个VFX的RenderMark的
|
||||
var main = GameObject.Find("Main").GetComponent<Main>();
|
||||
if (actionParams.MapData == main.MapData)
|
||||
if (actionParams.MapData == Main.MapData)
|
||||
{
|
||||
var v1 = Table.Instance.GridToWorld(gridData);
|
||||
|
||||
@ -1930,7 +1930,7 @@ namespace Logic.Action
|
||||
gridData.RenderMark = true;
|
||||
ret = true;
|
||||
var main = GameObject.Find("Main").GetComponent<Main>();
|
||||
if (actionParams.MapData == main.MapData && actionParams.MapData.PlayerMap.SelfPlayerId == playerData.Id)
|
||||
if (actionParams.MapData == Main.MapData && actionParams.MapData.PlayerMap.SelfPlayerId == playerData.Id)
|
||||
{
|
||||
var v1 = Table.Instance.GridToWorld(gridData);
|
||||
|
||||
@ -1955,7 +1955,7 @@ namespace Logic.Action
|
||||
|
||||
//临时做法,用来播放VFX,获取Main,理应向MapData写入一个VFX的RenderMark的
|
||||
var main = GameObject.Find("Main").GetComponent<Main>();
|
||||
if (actionParams.MapData == main.MapData && actionParams.MapData.PlayerMap.SelfPlayerId == playerData.Id)
|
||||
if (actionParams.MapData == Main.MapData && actionParams.MapData.PlayerMap.SelfPlayerId == playerData.Id)
|
||||
{
|
||||
var v1 = Table.Instance.GridToWorld(gridData);
|
||||
|
||||
|
||||
@ -89,19 +89,19 @@ namespace Logic.Editor
|
||||
_main = obj.GetComponent<Main>();
|
||||
if (!_main) return;
|
||||
}
|
||||
if (_main?.MapData == null) return;
|
||||
if (Main.MapData == null) return;
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
foreach (var player in _main.MapData.PlayerMap.PlayerDataList)
|
||||
foreach (var player in Main.MapData.PlayerMap.PlayerDataList)
|
||||
{
|
||||
if (player.Id == _main.MapData.PlayerMap.SelfPlayerId) continue;
|
||||
if (player.Id == Main.MapData.PlayerMap.SelfPlayerId) continue;
|
||||
if (InspectorUtils.InspectorButtonWithTextWidth($"玩家{player.Id}")) _player = player;
|
||||
}
|
||||
EditorGUILayout.EndHorizontal();
|
||||
|
||||
var selfCity = new HashSet<CityData>();
|
||||
_main.MapData.GetCityDataListByPlayerId(_main.MapData.PlayerMap.SelfPlayerId, selfCity);
|
||||
Main.MapData.GetCityDataListByPlayerId(Main.MapData.PlayerMap.SelfPlayerId, selfCity);
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
foreach (var city in _main.MapData.CityMap.CityList)
|
||||
foreach (var city in Main.MapData.CityMap.CityList)
|
||||
{
|
||||
if (selfCity.Contains(city)) continue;
|
||||
if (InspectorUtils.InspectorButtonWithTextWidth($"城市{city.Id}")) _city = city;
|
||||
@ -111,7 +111,7 @@ namespace Logic.Editor
|
||||
|
||||
private void OnShowPlayerInfo()
|
||||
{
|
||||
if (_main?.MapData == null || _player == null) return;
|
||||
if (Main.MapData == null || _player == null) return;
|
||||
|
||||
MainEditor.Instance.GetPlayerStrategy(_player.Id, out var playerStrategy, out var targetIdSet);
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
@ -129,7 +129,7 @@ namespace Logic.Editor
|
||||
EditorGUILayout.BeginVertical(_redBoxStyle);
|
||||
InspectorUtils.InspectorTextWidthRich($"<b>城市信息</b>");
|
||||
var selfCity = new HashSet<CityData>();
|
||||
_main.MapData.GetCityDataListByPlayerId(_player.Id, selfCity);
|
||||
Main.MapData.GetCityDataListByPlayerId(_player.Id, selfCity);
|
||||
foreach (var city in selfCity)
|
||||
{
|
||||
MainEditor.Instance.GetCityStrategy(city.Id, out var strategy);
|
||||
@ -144,7 +144,7 @@ namespace Logic.Editor
|
||||
EditorGUILayout.BeginVertical(_redBoxStyle);
|
||||
InspectorUtils.InspectorTextWidthRich($"<b>小兵信息</b>");
|
||||
var selfUnits = new HashSet<UnitData>();
|
||||
_main.MapData.GetUnitDataListByPlayerId(_player.Id, selfUnits);
|
||||
Main.MapData.GetUnitDataListByPlayerId(_player.Id, selfUnits);
|
||||
foreach (var unit in selfUnits)
|
||||
{
|
||||
MainEditor.Instance.GetUnitStrategy(unit.Id, unit.LegionId, _player.Id, out var strategy, out var target, out var type);
|
||||
@ -158,7 +158,7 @@ namespace Logic.Editor
|
||||
|
||||
private void OnShowCityInfo()
|
||||
{
|
||||
if (_main?.MapData == null || _city == null) return;
|
||||
if (Main.MapData == null || _city == null) return;
|
||||
|
||||
var actions = MainEditor.Instance.GetCityActions(_city.Id);
|
||||
if (actions == null || actions.Count == 0) return;
|
||||
|
||||
@ -142,13 +142,13 @@ namespace Logic
|
||||
return;
|
||||
Vector3 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
|
||||
Vector2Int cellPosition = Table.Instance.WorldToGrid(mousePosition);
|
||||
if (cellPosition.x >= _main.MapData.MapConfig.Width || cellPosition.x < 0 || cellPosition.y < 0 ||
|
||||
cellPosition.y >= _main.MapData.MapConfig.Height)
|
||||
if (cellPosition.x >= Main.MapData.MapConfig.Width || cellPosition.x < 0 || cellPosition.y < 0 ||
|
||||
cellPosition.y >= Main.MapData.MapConfig.Height)
|
||||
return;
|
||||
// 获取点击的地块类型
|
||||
_main.MapData.GridMap.GetGridDataByPos(cellPosition.x, cellPosition.y, out var clickedTerrain);
|
||||
Main.MapData.GridMap.GetGridDataByPos(cellPosition.x, cellPosition.y, out var clickedTerrain);
|
||||
// 根据点击的地形类型执行某些操作(例如,显示消息)
|
||||
_main.MapInteractionLogic.OnTileClicked(_main.MapData,clickedTerrain);
|
||||
_main.MapInteractionLogic.OnTileClicked(Main.MapData,clickedTerrain);
|
||||
}
|
||||
|
||||
if (Input.GetKeyDown(KeyCode.S))
|
||||
@ -158,16 +158,16 @@ namespace Logic
|
||||
|
||||
if (Input.GetKeyDown(KeyCode.BackQuote))
|
||||
{
|
||||
_main.MapData.PlayerMap.SelfPlayerData.PlayerWealth += 1000;
|
||||
Main.MapData.PlayerMap.SelfPlayerData.PlayerWealth += 1000;
|
||||
}
|
||||
|
||||
if (Input.GetKeyDown(KeyCode.T))
|
||||
{
|
||||
if (Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift))
|
||||
{
|
||||
_main.MapData.PlayerMap.SelfPlayerData.PlayerWealth += 1000;
|
||||
Main.MapData.PlayerMap.SelfPlayerData.PlayerWealth += 1000;
|
||||
foreach (TechType techType in System.Enum.GetValues(typeof(TechType)))
|
||||
Main.PlayerLogic.ResearchTech(_main.MapData, _main.MapData.PlayerMap.SelfPlayerData,techType,0);
|
||||
Main.PlayerLogic.ResearchTech(Main.MapData, Main.MapData.PlayerMap.SelfPlayerData,techType,0);
|
||||
UIManager.Instance.TechTreeUI.TechTreeUIDataRenderMark = true;
|
||||
}
|
||||
else
|
||||
|
||||
@ -53,7 +53,7 @@ namespace Logic
|
||||
public void Update()
|
||||
{
|
||||
_gameStateDict[_curState].Update();
|
||||
Main.PlayerLogic.CalcAllPlayerScore(_main.MapData);
|
||||
Main.PlayerLogic.CalcAllPlayerScore(Main.MapData);
|
||||
}
|
||||
|
||||
|
||||
@ -102,17 +102,17 @@ namespace Logic
|
||||
|
||||
public override void Enter()
|
||||
{
|
||||
_curPlayer = _gameLogic.Main.MapData.PlayerMap.SelfPlayerData;
|
||||
_curPlayer = Main.MapData.PlayerMap.SelfPlayerData;
|
||||
Turn++;
|
||||
foreach(var playerData in _gameLogic.Main.MapData.PlayerMap.PlayerDataList)
|
||||
Main.PlayerLogic.StartNextTurn(_gameLogic.Main.MapData, playerData);
|
||||
foreach (var unitData in _gameLogic.Main.MapData.UnitMap.UnitList)
|
||||
Main.UnitLogic.StartNextTurn(_gameLogic.Main.MapData, unitData);
|
||||
foreach(var playerData in Main.MapData.PlayerMap.PlayerDataList)
|
||||
Main.PlayerLogic.StartNextTurn(Main.MapData, playerData);
|
||||
foreach (var unitData in Main.MapData.UnitMap.UnitList)
|
||||
Main.UnitLogic.StartNextTurn(Main.MapData, unitData);
|
||||
|
||||
_gameLogic.Main.MapData.PlayerMap.OnTurnStart(_gameLogic.Main.MapData, _curPlayer);
|
||||
_gameLogic.Main.MapData.CityMap.OnTurnStart(_gameLogic.Main.MapData, _curPlayer);
|
||||
_gameLogic.Main.MapData.UnitMap.OnTurnStart(_gameLogic.Main.MapData, _curPlayer);
|
||||
_gameLogic.Main.MapData.GridMap.OnTurnStart(_gameLogic.Main.MapData);
|
||||
Main.MapData.PlayerMap.OnTurnStart(Main.MapData, _curPlayer);
|
||||
Main.MapData.CityMap.OnTurnStart(Main.MapData, _curPlayer);
|
||||
Main.MapData.UnitMap.OnTurnStart(Main.MapData, _curPlayer);
|
||||
Main.MapData.GridMap.OnTurnStart(Main.MapData);
|
||||
|
||||
|
||||
AudioManager.Instance.InGameOnTurnStart();
|
||||
@ -124,8 +124,8 @@ namespace Logic
|
||||
//gameLogic.EndTurn();
|
||||
//uiManager.EndTurn();
|
||||
PlayerPrefs.SetInt("Archive", 1);
|
||||
MapData.SaveMapData(_gameLogic.Main.MapData);
|
||||
AchievementDataManager.Instance.OnTurnStart(_gameLogic.Main.MapData, _curPlayer);
|
||||
MapData.SaveMapData(Main.MapData);
|
||||
AchievementDataManager.Instance.OnTurnStart(Main.MapData, _curPlayer);
|
||||
|
||||
#if GAME_AUTO_DEBUG
|
||||
_aiLogic = new AILogic();
|
||||
@ -139,18 +139,18 @@ namespace Logic
|
||||
_gameLogic.Main.InputLogic.LockInput();
|
||||
|
||||
// TODO endturn逻辑要重新梳理
|
||||
Main.PlayerLogic.EndThisTurn(_gameLogic.Main.MapData, _gameLogic.Main.MapData.PlayerMap.SelfPlayerData);
|
||||
Main.PlayerLogic.EndThisTurn(Main.MapData, Main.MapData.PlayerMap.SelfPlayerData);
|
||||
|
||||
//处理当前每一个unit的回合结束前自动行为。每一个选手回合结束自动回血是在这个阶段出发的
|
||||
foreach (var unitData in _gameLogic.Main.MapData.UnitMap.UnitList)
|
||||
if(_gameLogic.Main.MapData.GetPlayerDataByUnitId(unitData.Id,out var player)
|
||||
foreach (var unitData in Main.MapData.UnitMap.UnitList)
|
||||
if(Main.MapData.GetPlayerDataByUnitId(unitData.Id,out var player)
|
||||
&& player.Id == _curPlayer.Id)
|
||||
Main.UnitLogic.UnitEndTurn(_gameLogic.Main.MapData, unitData);
|
||||
Main.UnitLogic.UnitEndTurn(Main.MapData, unitData);
|
||||
|
||||
_gameLogic.Main.MapData.PlayerMap.OnTurnEnd(_gameLogic.Main.MapData, _curPlayer);
|
||||
_gameLogic.Main.MapData.CityMap.OnTurnEnd(_gameLogic.Main.MapData, _curPlayer);
|
||||
_gameLogic.Main.MapData.UnitMap.OnTurnEnd(_gameLogic.Main.MapData, _curPlayer);
|
||||
_gameLogic.Main.MapData.GridMap.OnTurnEnd(_gameLogic.Main.MapData);
|
||||
Main.MapData.PlayerMap.OnTurnEnd(Main.MapData, _curPlayer);
|
||||
Main.MapData.CityMap.OnTurnEnd(Main.MapData, _curPlayer);
|
||||
Main.MapData.UnitMap.OnTurnEnd(Main.MapData, _curPlayer);
|
||||
Main.MapData.GridMap.OnTurnEnd(Main.MapData);
|
||||
}
|
||||
|
||||
public override void Update()
|
||||
@ -165,11 +165,11 @@ namespace Logic
|
||||
if (_aiLogic.AILogicState == AILogicState.Prepare)
|
||||
{
|
||||
_curPlayer.PlayerWealth += (int)_curPlayer.Turn / 10;
|
||||
_gameLogic.Main.MapData.PlayerMap.OnTurnStart(_gameLogic.Main.MapData, _curPlayer);
|
||||
_gameLogic.Main.MapData.CityMap.OnTurnStart(_gameLogic.Main.MapData, _curPlayer);
|
||||
_gameLogic.Main.MapData.UnitMap.OnTurnStart(_gameLogic.Main.MapData, _curPlayer);
|
||||
_gameLogic.Main.MapData.GridMap.OnTurnStart(_gameLogic.Main.MapData);
|
||||
_aiLogic.StartAILogic(_gameLogic.Main.MapData, _curPlayer);
|
||||
Main.MapData.PlayerMap.OnTurnStart(Main.MapData, _curPlayer);
|
||||
Main.MapData.CityMap.OnTurnStart(Main.MapData, _curPlayer);
|
||||
Main.MapData.UnitMap.OnTurnStart(Main.MapData, _curPlayer);
|
||||
Main.MapData.GridMap.OnTurnStart(Main.MapData);
|
||||
_aiLogic.StartAILogic(Main.MapData, _curPlayer);
|
||||
}
|
||||
|
||||
_aiLogic.Update();
|
||||
@ -197,9 +197,9 @@ namespace Logic
|
||||
UIManager.Instance.AIPlayingHint.SetActive(true);
|
||||
Turn++;
|
||||
_aiPlayers.Clear();
|
||||
foreach (var playerData in _gameLogic.Main.MapData.PlayerMap.PlayerDataList)
|
||||
foreach (var playerData in Main.MapData.PlayerMap.PlayerDataList)
|
||||
{
|
||||
if (playerData.Id == _gameLogic.Main.MapData.PlayerMap.SelfPlayerId) continue;
|
||||
if (playerData.Id == Main.MapData.PlayerMap.SelfPlayerId) continue;
|
||||
_aiPlayers.Add(playerData);
|
||||
}
|
||||
|
||||
@ -237,14 +237,14 @@ namespace Logic
|
||||
// AI 难度加钱
|
||||
int tt = 0;
|
||||
if (_curPlayer.Turn < 10)
|
||||
tt = (int)_gameLogic.Main.MapData.MapConfig.AIDiff;
|
||||
_curPlayer.PlayerWealth += ((int)_curPlayer.Turn / 10) * (int)_gameLogic.Main.MapData.MapConfig.AIDiff + tt;
|
||||
tt = (int)Main.MapData.MapConfig.AIDiff;
|
||||
_curPlayer.PlayerWealth += ((int)_curPlayer.Turn / 10) * (int)Main.MapData.MapConfig.AIDiff + tt;
|
||||
|
||||
_gameLogic.Main.MapData.PlayerMap.OnTurnStart(_gameLogic.Main.MapData, _curPlayer);
|
||||
_gameLogic.Main.MapData.CityMap.OnTurnStart(_gameLogic.Main.MapData, _curPlayer);
|
||||
_gameLogic.Main.MapData.UnitMap.OnTurnStart(_gameLogic.Main.MapData, _curPlayer);
|
||||
_gameLogic.Main.MapData.GridMap.OnTurnStart(_gameLogic.Main.MapData);
|
||||
_aiLogic.StartAILogic(_gameLogic.Main.MapData, _curPlayer);
|
||||
Main.MapData.PlayerMap.OnTurnStart(Main.MapData, _curPlayer);
|
||||
Main.MapData.CityMap.OnTurnStart(Main.MapData, _curPlayer);
|
||||
Main.MapData.UnitMap.OnTurnStart(Main.MapData, _curPlayer);
|
||||
Main.MapData.GridMap.OnTurnStart(Main.MapData);
|
||||
_aiLogic.StartAILogic(Main.MapData, _curPlayer);
|
||||
}
|
||||
|
||||
_aiLogic.Update();
|
||||
@ -253,10 +253,10 @@ namespace Logic
|
||||
private void TryTurnEndCurPlayerTurn()
|
||||
{
|
||||
if (_curPlayer == null) return;
|
||||
_gameLogic.Main.MapData.PlayerMap.OnTurnEnd(_gameLogic.Main.MapData, _curPlayer);
|
||||
_gameLogic.Main.MapData.CityMap.OnTurnEnd(_gameLogic.Main.MapData, _curPlayer);
|
||||
_gameLogic.Main.MapData.UnitMap.OnTurnEnd(_gameLogic.Main.MapData, _curPlayer);
|
||||
_gameLogic.Main.MapData.GridMap.OnTurnEnd(_gameLogic.Main.MapData);
|
||||
Main.MapData.PlayerMap.OnTurnEnd(Main.MapData, _curPlayer);
|
||||
Main.MapData.CityMap.OnTurnEnd(Main.MapData, _curPlayer);
|
||||
Main.MapData.UnitMap.OnTurnEnd(Main.MapData, _curPlayer);
|
||||
Main.MapData.GridMap.OnTurnEnd(Main.MapData);
|
||||
}
|
||||
}
|
||||
|
||||
@ -301,7 +301,7 @@ namespace Logic
|
||||
Turn++;
|
||||
PlayerPrefs.SetInt("Archive", 0);
|
||||
|
||||
var record = _gameLogic.Main.MapData.ExportGameRecord();
|
||||
var record = Main.MapData.ExportGameRecord();
|
||||
GameRecordManager.Instance.AddRecord(record);
|
||||
}
|
||||
|
||||
|
||||
@ -44,7 +44,7 @@ namespace Logic
|
||||
|
||||
//--------------------------------new data type--------------------------------
|
||||
[NonSerialized] public MapConfig MapConfig;
|
||||
[NonSerialized] public MapData MapData;
|
||||
[NonSerialized] public static MapData MapData;
|
||||
|
||||
//各Logic模块的引用
|
||||
//一级logic,AI和input
|
||||
@ -59,7 +59,6 @@ namespace Logic
|
||||
public static CityLogic CityLogic;
|
||||
public static UnitLogic UnitLogic;
|
||||
public static PlayerLogic PlayerLogic;
|
||||
//public UIManager UIManager;
|
||||
|
||||
//Library模块的引用
|
||||
Table table;
|
||||
@ -84,6 +83,11 @@ namespace Logic
|
||||
new ResourceCache(); //ResourceCache单例 ,缓存所有resource
|
||||
ResourceCache.Instance.Init();
|
||||
|
||||
GameRecordManager.Instance.Init();
|
||||
AudioManager.Instance.Init();
|
||||
MultilingualManager.Instance.Init();
|
||||
AchievementDataManager.Instance.Init();
|
||||
|
||||
new UIManager(); //UIManager单例
|
||||
UIManager.Instance.Init(this);
|
||||
}
|
||||
@ -98,25 +102,16 @@ namespace Logic
|
||||
StartInstanceGroup();
|
||||
|
||||
|
||||
|
||||
|
||||
if(LandThreshold > 0)
|
||||
DebugCenter.Instance.DebugLandThreshold = LandThreshold;
|
||||
|
||||
CityLogic ??= new CityLogic();
|
||||
UnitLogic ??= new UnitLogic();
|
||||
PlayerLogic ??= new PlayerLogic(this);
|
||||
|
||||
GameLogic = new GameLogic(this);
|
||||
|
||||
|
||||
GameRecordManager.Instance.Init();
|
||||
AchievementDataManager.Instance.Init();
|
||||
AudioManager.Instance.Init();
|
||||
MultilingualManager.Instance.Init();
|
||||
if(LandThreshold > 0)
|
||||
DebugCenter.Instance.DebugLandThreshold = LandThreshold;
|
||||
//播放初始音乐
|
||||
AudioManager.Instance.PlayMusic("Main",0.5f,1f,true);
|
||||
//StartGame(height,width,0,0);
|
||||
// ContinueGame();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -30,7 +30,7 @@ namespace Logic
|
||||
|
||||
public void CancelAllHighlight() //专门用来应对BottomInfoUI的CloseButton的函数,点击close的时候先调用这个函数通知interaction处理好信息,再关闭bottominfo
|
||||
{
|
||||
foreach (var gridData in _main.MapData.GridMap.GridList)
|
||||
foreach (var gridData in Main.MapData.GridMap.GridList)
|
||||
{
|
||||
gridData.CityBorderRenderMark = false;
|
||||
var gridRenderer = MapRenderer.Instance.ROGridMap[gridData.Id];
|
||||
@ -42,7 +42,7 @@ namespace Logic
|
||||
gridRenderer.SetSelectHighlight(false);
|
||||
gridRenderer.SetMoveHighlight(false);
|
||||
}
|
||||
foreach (var unitData in _main.MapData.UnitMap.UnitList)
|
||||
foreach (var unitData in Main.MapData.UnitMap.UnitList)
|
||||
{
|
||||
if (!MapRenderer.Instance.ROUnitMap.ContainsKey(unitData.Id)) continue;
|
||||
var unitRenderer = MapRenderer.Instance.ROUnitMap[unitData.Id];
|
||||
@ -65,7 +65,7 @@ namespace Logic
|
||||
return;
|
||||
}
|
||||
|
||||
bool hasUnit = _main.MapData.GetUnitDataByGid(gridData.Id,out var unitData);
|
||||
bool hasUnit = Main.MapData.GetUnitDataByGid(gridData.Id,out var unitData);
|
||||
//Debug.Log(hasUnit);
|
||||
var roGrid = MapRenderer.Instance.ROGridMap[gridData.Id];
|
||||
//如果这次点击有unit
|
||||
@ -87,7 +87,7 @@ namespace Logic
|
||||
else if (roUnit.IsAttackHighlight)
|
||||
{
|
||||
CancelAllHighlight();
|
||||
Main.UnitLogic.Attack(_main.MapData, MapRenderer.Instance.SelectUnitData, unitData);
|
||||
Main.UnitLogic.Attack(Main.MapData, MapRenderer.Instance.SelectUnitData, unitData);
|
||||
UIManager.Instance.BottomInfoUI.UIBottomInfoStatus = false;
|
||||
}
|
||||
//如果是选择角色
|
||||
@ -105,7 +105,7 @@ namespace Logic
|
||||
UIManager.Instance.BottomInfoUI.UIBottomInfoIsGrid = false;
|
||||
UIManager.Instance.BottomInfoUI.UIBottomInfoStatusObjectId = unitData.Id;
|
||||
//如果是selfplayer的unit,显示可操作区域
|
||||
if (Main.UnitLogic.CheckIsSelfPlayer(_main.MapData, unitData.Id))
|
||||
if (Main.UnitLogic.CheckIsSelfPlayer(Main.MapData, unitData.Id))
|
||||
MapRenderer.Instance.SetUnitAllMoveAttackTargetHighlight(unitData.Id);
|
||||
|
||||
|
||||
@ -122,7 +122,7 @@ namespace Logic
|
||||
else if (roGrid.IsMoveHighlight)
|
||||
{
|
||||
CancelAllHighlight();
|
||||
Main.UnitLogic.MoveTo(_main.MapData, MapRenderer.Instance.SelectUnitData, gridData,MoveType.ActiveMove);
|
||||
Main.UnitLogic.MoveTo(Main.MapData, MapRenderer.Instance.SelectUnitData, gridData,MoveType.ActiveMove);
|
||||
//切换相机镜头
|
||||
MapRenderer.Instance.CameraController.CameraFocusOnGrid(gridData);
|
||||
UIManager.Instance.BottomInfoUI.UIBottomInfoStatus = false;
|
||||
@ -149,7 +149,7 @@ namespace Logic
|
||||
if (_mapData.GetCityDataByTerritoryGid(gridData.Id, out var city))
|
||||
{
|
||||
if(_mapData.GetGridDataByCityId(city.Id,out var gridTmp)
|
||||
&& _main.MapData.PlayerMap.SelfPlayerData.Sight.CheckIsInSight(gridTmp.Id))
|
||||
&& Main.MapData.PlayerMap.SelfPlayerData.Sight.CheckIsInSight(gridTmp.Id))
|
||||
MapRenderer.Instance.ROGridMap[gridTmp.Id].SetBounceAnim();
|
||||
}
|
||||
|
||||
|
||||
@ -225,7 +225,7 @@ namespace TH1Renderer
|
||||
// 更新视野
|
||||
if (_currentTargetGridData != null)
|
||||
// 调用UpdateSightByRadius更新视野
|
||||
Main.PlayerLogic.UpdateSightByRadius(_main.MapData, _main.MapData.PlayerMap.SelfPlayerData, _currentTargetGridData,
|
||||
Main.PlayerLogic.UpdateSightByRadius(Main.MapData, Main.MapData.PlayerMap.SelfPlayerData, _currentTargetGridData,
|
||||
_currentTargetGridData.Feature == TerrainFeature.Mountain? 2 : 1);
|
||||
|
||||
// 检查是否需要继续移动
|
||||
@ -250,7 +250,7 @@ namespace TH1Renderer
|
||||
|
||||
// 延迟一小段时间后继续移动
|
||||
Timer.Instance.TimerRegister(this, () => {
|
||||
MoveExplorerToLeastVisibleDirection(_currentTargetGridData, _main.MapData.PlayerMap.SelfPlayerData);
|
||||
MoveExplorerToLeastVisibleDirection(_currentTargetGridData, Main.MapData.PlayerMap.SelfPlayerData);
|
||||
}, delayTime);
|
||||
}
|
||||
else if (_explorerMoveCount >= _explorerMaxMoves && _temporaryExplorer != null)
|
||||
@ -295,7 +295,7 @@ namespace TH1Renderer
|
||||
List<uint> toRemove = new List<uint>();
|
||||
foreach (var roUnitId in ROUnitMap.Keys)
|
||||
{
|
||||
if (!_main.MapData.UnitMap.GetUnitDataByUnitId(roUnitId, out var unitData))
|
||||
if (!Main.MapData.UnitMap.GetUnitDataByUnitId(roUnitId, out var unitData))
|
||||
toRemove.Add(roUnitId);
|
||||
}
|
||||
|
||||
@ -328,23 +328,23 @@ namespace TH1Renderer
|
||||
//当gridMap出现新的对象时,新建对象
|
||||
public void RenderUpdateGridMap()
|
||||
{
|
||||
foreach (var gridData in _main.MapData.GridMap.GridList)
|
||||
foreach (var gridData in Main.MapData.GridMap.GridList)
|
||||
{
|
||||
ROGridMap[gridData.Id] =
|
||||
new GridRenderer(_gridPrefab, _gridRenderMap, gridData.Id, _main.MapData, _main);
|
||||
new GridRenderer(_gridPrefab, _gridRenderMap, gridData.Id, Main.MapData, _main);
|
||||
}
|
||||
}
|
||||
|
||||
//当cityMap出现新的对象时,新建对象
|
||||
public void RenderUpdateCityMap()
|
||||
{
|
||||
foreach (var cityData in _main.MapData.CityMap.CityList)
|
||||
foreach (var cityData in Main.MapData.CityMap.CityList)
|
||||
if(!ROCityInfoMap.ContainsKey(cityData.Id))
|
||||
{
|
||||
//生成城镇图像
|
||||
RenderUpdateCityBuildings(cityData.Id);
|
||||
//生成城镇名称和人口条
|
||||
ROCityInfoMap[cityData.Id] = new CityInfoRenderer(_cityInfoPrefab,_cityInfoRenderMap,cityData.Id,_main.MapData,_main);
|
||||
ROCityInfoMap[cityData.Id] = new CityInfoRenderer(_cityInfoPrefab,_cityInfoRenderMap,cityData.Id,Main.MapData,_main);
|
||||
cityData.CityInfoRenderMark = true;
|
||||
}
|
||||
}
|
||||
@ -352,11 +352,11 @@ namespace TH1Renderer
|
||||
//当unitMap出现新的对象时,新建对象
|
||||
public void RenderUpdateUnitMap()
|
||||
{
|
||||
foreach (var unitData in _main.MapData.UnitMap.UnitList)
|
||||
foreach (var unitData in Main.MapData.UnitMap.UnitList)
|
||||
if(!ROUnitMap.ContainsKey(unitData.Id))
|
||||
{
|
||||
//生成单位图像
|
||||
ROUnitMap[unitData.Id] = new UnitRenderer(_unitPrefab,_unitRenderMap,unitData.Id,_main.MapData,_main);
|
||||
ROUnitMap[unitData.Id] = new UnitRenderer(_unitPrefab,_unitRenderMap,unitData.Id,Main.MapData,_main);
|
||||
}
|
||||
}
|
||||
|
||||
@ -379,23 +379,23 @@ namespace TH1Renderer
|
||||
|
||||
public void RenderUpdateBorders() //更新全地图的所有边界
|
||||
{
|
||||
foreach (var gridData in _main.MapData.GridMap.GridList)
|
||||
foreach (var gridData in Main.MapData.GridMap.GridList)
|
||||
ROGridMap[gridData.Id].UpdateBorder();
|
||||
}
|
||||
|
||||
private void RenderUpdateCityBuildings(uint cityId) //更新主城建筑的渲染
|
||||
{
|
||||
_main.MapData.GetGridIdByCityId(cityId, out var gridId);
|
||||
Main.MapData.GetGridIdByCityId(cityId, out var gridId);
|
||||
ROGridMap[gridId].RenderUpdateCityBuilding(cityId);
|
||||
}
|
||||
|
||||
public bool SetUnitAllMoveAttackTargetHighlight(uint uid) //渲染所有可移动位置的高亮,其中可以攻击的位置要标红,如果是自己人或者敌人在移动范围内但是不在攻击范围内,则不能高亮
|
||||
{
|
||||
bool ret = false;
|
||||
Main.UnitLogic.CalcUnitMoveInfo(_main.MapData, uid);
|
||||
_main.MapData.UnitMap.GetUnitDataByUnitId(uid, out var unitData);
|
||||
_main.MapData.GetGridDataByUnitId(uid, out var gridData);
|
||||
_main.MapData.GetPlayerDataByUnitId(uid, out var playerData);
|
||||
Main.UnitLogic.CalcUnitMoveInfo(Main.MapData, uid);
|
||||
Main.MapData.UnitMap.GetUnitDataByUnitId(uid, out var unitData);
|
||||
Main.MapData.GetGridDataByUnitId(uid, out var gridData);
|
||||
Main.MapData.GetPlayerDataByUnitId(uid, out var playerData);
|
||||
//unitLogic.DebugOutputMoveInfo();
|
||||
int r = Mathf.Max((Table.Instance.UnitTypeDataAssets.GetUnitTypeInfo(unitData.UnitType,unitData.GiantType,out var info)?info.MoveRange:0) * 2,
|
||||
Table.Instance.UnitTypeDataAssets.GetUnitTypeInfo(unitData.UnitType,unitData.GiantType,out var info2)?info2.AttackRange:0);
|
||||
@ -414,13 +414,13 @@ namespace TH1Renderer
|
||||
r = (int)(_mapData.MapConfig.Width > _mapData.MapConfig.Height ? _mapData.MapConfig.Width : _mapData.MapConfig.Height);
|
||||
}
|
||||
|
||||
var targetGridDataList = _main.MapData.GridMap.GetAroundGridDataSet(r,r,gridData);
|
||||
var targetGridDataList = Main.MapData.GridMap.GetAroundGridDataSet(r,r,gridData);
|
||||
|
||||
foreach(var targetGridData in targetGridDataList)
|
||||
{
|
||||
//如果不在视野 跳过
|
||||
if (!playerData.Sight.CheckIsInSight(targetGridData.Id)) continue;
|
||||
var sig = Main.UnitLogic.CheckUnitCanMoveOrAttack(_main.MapData, unitData, targetGridData);
|
||||
var sig = Main.UnitLogic.CheckUnitCanMoveOrAttack(Main.MapData, unitData, targetGridData);
|
||||
//如果是移动目标,且unit的MP>0
|
||||
if ((sig == MoveAttackType.Move || sig == MoveAttackType.MoveToPort ||
|
||||
sig == MoveAttackType.MoveAshore) && unitData.MP > 0)
|
||||
@ -432,18 +432,18 @@ namespace TH1Renderer
|
||||
if (sig == MoveAttackType.Attack && unitData.AP > 0)
|
||||
{
|
||||
ret = true;
|
||||
if (!_main.MapData.GetUnitDataByGid(targetGridData.Id, out var unitDataB))
|
||||
if (!Main.MapData.GetUnitDataByGid(targetGridData.Id, out var unitDataB))
|
||||
continue;
|
||||
|
||||
//如果可以杀死,做一个提示
|
||||
if (Table.Instance.CalcDamage(_main.MapData, unitData, unitDataB) >= unitDataB.Health)
|
||||
if (Table.Instance.CalcDamage(Main.MapData, unitData, unitDataB) >= unitDataB.Health)
|
||||
{
|
||||
targetGridData.VFXRenderMarkDieHintStart = true;
|
||||
//0代表这是杀死提示
|
||||
targetGridData.VFXRenderMarkDieHintStartParam = 0;
|
||||
}
|
||||
else if(Main.UnitLogic.CanCounter(_main.MapData, unitData, unitDataB) &&
|
||||
Table.Instance.CalcDamage(_main.MapData, unitData, unitDataB,true) >= unitData.Health)
|
||||
else if(Main.UnitLogic.CanCounter(Main.MapData, unitData, unitDataB) &&
|
||||
Table.Instance.CalcDamage(Main.MapData, unitData, unitDataB,true) >= unitData.Health)
|
||||
{
|
||||
targetGridData.VFXRenderMarkDieHintStart = true;
|
||||
//1代表这是被杀死提示
|
||||
@ -458,19 +458,19 @@ namespace TH1Renderer
|
||||
//返回一个Unit是否存在移动或者攻击目标
|
||||
public bool CheckUnitHasMoveAttackTarget(uint uid)
|
||||
{
|
||||
Main.UnitLogic.CalcUnitMoveInfo(_main.MapData, uid);
|
||||
_main.MapData.UnitMap.GetUnitDataByUnitId(uid, out var unitData);
|
||||
_main.MapData.GetGridDataByUnitId(uid, out var gridData);
|
||||
_main.MapData.GetPlayerDataByUnitId(uid, out var playerData);
|
||||
Main.UnitLogic.CalcUnitMoveInfo(Main.MapData, uid);
|
||||
Main.MapData.UnitMap.GetUnitDataByUnitId(uid, out var unitData);
|
||||
Main.MapData.GetGridDataByUnitId(uid, out var gridData);
|
||||
Main.MapData.GetPlayerDataByUnitId(uid, out var playerData);
|
||||
//unitLogic.DebugOutputMoveInfo();
|
||||
int r = Mathf.Max((Table.Instance.UnitTypeDataAssets.GetUnitTypeInfo(unitData.UnitType,unitData.GiantType,out var info)?info.MoveRange:0) * 2,
|
||||
Table.Instance.UnitTypeDataAssets.GetUnitTypeInfo(unitData.UnitType,unitData.GiantType,out var info2)?info2.AttackRange:0);
|
||||
var targetGridDataList = _main.MapData.GridMap.GetAroundGridDataSet(r,r,gridData);
|
||||
var targetGridDataList = Main.MapData.GridMap.GetAroundGridDataSet(r,r,gridData);
|
||||
foreach(var targetGridData in targetGridDataList)
|
||||
{
|
||||
//如果不在视野 跳过
|
||||
if (!playerData.Sight.CheckIsInSight(targetGridData.Id)) continue;
|
||||
var sig = Main.UnitLogic.CheckUnitCanMoveOrAttack(_main.MapData, unitData, targetGridData);
|
||||
var sig = Main.UnitLogic.CheckUnitCanMoveOrAttack(Main.MapData, unitData, targetGridData);
|
||||
//如果是移动目标,且unit的MP>0
|
||||
if ((sig == MoveAttackType.Move || sig == MoveAttackType.MoveToPort ||
|
||||
sig == MoveAttackType.MoveAshore) && unitData.MP > 0)
|
||||
@ -508,14 +508,14 @@ namespace TH1Renderer
|
||||
public void CreateTemporaryExplorer(GridData gridData, float maxDuration)
|
||||
{
|
||||
// 获取玩家数据 - 使用领土所属关系获取
|
||||
if (!_main.MapData.GetPlayerDataByTerritoryGridId(gridData.Id, out var playerData))
|
||||
if (!Main.MapData.GetPlayerDataByTerritoryGridId(gridData.Id, out var playerData))
|
||||
{
|
||||
Debug.LogWarning("无法获取玩家数据,无法创建探索者");
|
||||
return;
|
||||
}
|
||||
|
||||
// 检查是否是自己的玩家
|
||||
bool isSelfPlayer = playerData.Id == _main.MapData.PlayerMap.SelfPlayerData.Id;
|
||||
bool isSelfPlayer = playerData.Id == Main.MapData.PlayerMap.SelfPlayerData.Id;
|
||||
|
||||
// 如果不是自己的玩家,直接计算10步探索并更新视野,不进行渲染
|
||||
if (!isSelfPlayer)
|
||||
@ -538,7 +538,7 @@ namespace TH1Renderer
|
||||
Vector2Int currentPos = new Vector2Int(_currentTargetGridData.Pos.X, _currentTargetGridData.Pos.Y);
|
||||
|
||||
// 更新视野
|
||||
Main.PlayerLogic.UpdateSightByRadius(_main.MapData, playerData, _currentTargetGridData, 1);
|
||||
Main.PlayerLogic.UpdateSightByRadius(Main.MapData, playerData, _currentTargetGridData, 1);
|
||||
|
||||
// 保存当前位置作为上一个位置
|
||||
Vector2Int prevPos = currentPos;
|
||||
@ -596,7 +596,7 @@ namespace TH1Renderer
|
||||
if (Table.Instance.UnitTypeDataAssets.GetUnitTypeInfo(explorerUnitType, GiantType.None, out var unitTypeInfo))
|
||||
{
|
||||
// 使用GetUnitSpriteByInfo方法获取精灵
|
||||
if (Table.Instance.UnitTypeDataAssets.GetUnitSpriteByInfo(_main.MapData, unitTypeInfo, playerData, out var sprite))
|
||||
if (Table.Instance.UnitTypeDataAssets.GetUnitSpriteByInfo(Main.MapData, unitTypeInfo, playerData, out var sprite))
|
||||
{
|
||||
spriteRenderer.sprite = sprite;
|
||||
// 确保精灵渲染器设置正确
|
||||
@ -631,8 +631,8 @@ namespace TH1Renderer
|
||||
Vector2Int currentPos = new Vector2Int(startGridData.Pos.X, startGridData.Pos.Y);
|
||||
|
||||
// 地图尺寸
|
||||
int mapWidth = (int)_main.MapData.MapConfig.Width;
|
||||
int mapHeight = (int)_main.MapData.MapConfig.Height;
|
||||
int mapWidth = (int)Main.MapData.MapConfig.Width;
|
||||
int mapHeight = (int)Main.MapData.MapConfig.Height;
|
||||
|
||||
// 存储每个方向的最近未探索格子距离
|
||||
float[] directionMinDistance = new float[8];
|
||||
@ -654,7 +654,7 @@ namespace TH1Renderer
|
||||
continue;
|
||||
|
||||
// 获取格子数据
|
||||
if (_main.MapData.GridMap.GetGridDataByPos(x, y, out var gridData))
|
||||
if (Main.MapData.GridMap.GetGridDataByPos(x, y, out var gridData))
|
||||
{
|
||||
// 检查是否在视野中
|
||||
if (!playerData.Sight.CheckIsInSight(gridData.Id))
|
||||
@ -706,7 +706,7 @@ namespace TH1Renderer
|
||||
continue;
|
||||
|
||||
// 检查该位置是否可通行
|
||||
if (!_main.MapData.GridMap.GetGridDataByPos(nextPos.x, nextPos.y, out var nextGridData))
|
||||
if (!Main.MapData.GridMap.GetGridDataByPos(nextPos.x, nextPos.y, out var nextGridData))
|
||||
continue;
|
||||
|
||||
// 检查地形是否可通行
|
||||
@ -743,7 +743,7 @@ namespace TH1Renderer
|
||||
continue;
|
||||
|
||||
// 检查该位置是否可通行
|
||||
if (!_main.MapData.GridMap.GetGridDataByPos(nextPos.x, nextPos.y, out var nextGridData))
|
||||
if (!Main.MapData.GridMap.GetGridDataByPos(nextPos.x, nextPos.y, out var nextGridData))
|
||||
continue;
|
||||
|
||||
// 检查地形是否可通行
|
||||
@ -770,13 +770,13 @@ namespace TH1Renderer
|
||||
Vector2Int targetPos = currentPos + finalMoveDir;
|
||||
|
||||
// 获取目标格子数据
|
||||
if (_main.MapData.GridMap.GetGridDataByPos(targetPos.x, targetPos.y, out var targetGridData))
|
||||
if (Main.MapData.GridMap.GetGridDataByPos(targetPos.x, targetPos.y, out var targetGridData))
|
||||
{
|
||||
// 保存上一个位置
|
||||
_explorerPreviousPosition = currentPos;
|
||||
|
||||
// 更新视野
|
||||
Main.PlayerLogic.UpdateSightByRadius(_main.MapData, playerData, targetGridData, 1);
|
||||
Main.PlayerLogic.UpdateSightByRadius(Main.MapData, playerData, targetGridData, 1);
|
||||
|
||||
// 获取移动动画时间
|
||||
float moveTime = 0.5f;
|
||||
@ -881,8 +881,8 @@ namespace TH1Renderer
|
||||
Vector2Int currentPos = new Vector2Int(startGridData.Pos.X, startGridData.Pos.Y);
|
||||
|
||||
// 地图尺寸
|
||||
int mapWidth = (int)_main.MapData.MapConfig.Width;
|
||||
int mapHeight = (int)_main.MapData.MapConfig.Height;
|
||||
int mapWidth = (int)Main.MapData.MapConfig.Width;
|
||||
int mapHeight = (int)Main.MapData.MapConfig.Height;
|
||||
|
||||
// 存储每个方向的最近未探索格子距离
|
||||
float[] directionMinDistance = new float[8];
|
||||
@ -904,7 +904,7 @@ namespace TH1Renderer
|
||||
continue;
|
||||
|
||||
// 获取格子数据
|
||||
if (_main.MapData.GridMap.GetGridDataByPos(x, y, out var gridData))
|
||||
if (Main.MapData.GridMap.GetGridDataByPos(x, y, out var gridData))
|
||||
{
|
||||
// 检查是否在视野中
|
||||
if (!playerData.Sight.CheckIsInSight(gridData.Id))
|
||||
@ -957,7 +957,7 @@ namespace TH1Renderer
|
||||
|
||||
// 检查该位置是否可通行
|
||||
GridData tempNextGridData;
|
||||
if (!_main.MapData.GridMap.GetGridDataByPos(nextPos.x, nextPos.y, out tempNextGridData))
|
||||
if (!Main.MapData.GridMap.GetGridDataByPos(nextPos.x, nextPos.y, out tempNextGridData))
|
||||
continue;
|
||||
|
||||
// 检查地形是否可通行
|
||||
@ -995,7 +995,7 @@ namespace TH1Renderer
|
||||
|
||||
// 检查该位置是否可通行
|
||||
GridData tempNextGridData;
|
||||
if (!_main.MapData.GridMap.GetGridDataByPos(nextPos.x, nextPos.y, out tempNextGridData))
|
||||
if (!Main.MapData.GridMap.GetGridDataByPos(nextPos.x, nextPos.y, out tempNextGridData))
|
||||
continue;
|
||||
|
||||
// 检查地形是否可通行
|
||||
@ -1020,7 +1020,7 @@ namespace TH1Renderer
|
||||
Vector2Int targetPos = currentPos + finalMoveDir;
|
||||
|
||||
// 获取目标格子数据
|
||||
return _main.MapData.GridMap.GetGridDataByPos(targetPos.x, targetPos.y, out nextGridData);
|
||||
return Main.MapData.GridMap.GetGridDataByPos(targetPos.x, targetPos.y, out nextGridData);
|
||||
}
|
||||
|
||||
// 新增方法:检查地形是否可通行
|
||||
@ -1075,12 +1075,12 @@ namespace TH1Renderer
|
||||
Vector2Int nextPos = currentPos + dirVector;
|
||||
|
||||
// 检查位置是否在地图范围内
|
||||
if (nextPos.x < 0 || nextPos.x >= _main.MapData.MapConfig.Width ||
|
||||
nextPos.y < 0 || nextPos.y >= _main.MapData.MapConfig.Height)
|
||||
if (nextPos.x < 0 || nextPos.x >= Main.MapData.MapConfig.Width ||
|
||||
nextPos.y < 0 || nextPos.y >= Main.MapData.MapConfig.Height)
|
||||
continue;
|
||||
|
||||
// 获取相邻格子数据
|
||||
if (!_main.MapData.GridMap.GetGridDataByPos(nextPos.x, nextPos.y, out var nextGrid))
|
||||
if (!Main.MapData.GridMap.GetGridDataByPos(nextPos.x, nextPos.y, out var nextGrid))
|
||||
continue;
|
||||
|
||||
// 如果已经访问过,跳过
|
||||
|
||||
@ -23,6 +23,9 @@ namespace TH1Resource
|
||||
public Sprite TechCompleteBackground;
|
||||
public Sprite TechLockedBackground;
|
||||
public Sprite TechAvailableBackground;
|
||||
|
||||
public Sprite AchievementStar;
|
||||
public Sprite AchievementStarGray;
|
||||
public void Init()
|
||||
{
|
||||
for (int i = 0; i < 9; i++)
|
||||
@ -37,7 +40,8 @@ namespace TH1Resource
|
||||
TechLockedBackground = Resources.Load<Sprite>("ArtResources/TH1UI/TechTree/TH1TechLockedTechCircle");
|
||||
TechAvailableBackground = Resources.Load<Sprite>("ArtResources/TH1UI/TechTree/TH1TechUnLockedTechCircle");
|
||||
|
||||
|
||||
AchievementStar = Resources.Load<Sprite>("ArtResources/TH1UI/Common/UILibraryStar");
|
||||
AchievementStarGray = Resources.Load<Sprite>("ArtResources/TH1UI/Common/UILibraryStarGray");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -190,7 +190,7 @@ public class BottomInfoUI// : MonoBehaviour
|
||||
continue;
|
||||
if (actionInfo.VarientIcon)
|
||||
{
|
||||
timg.sprite = Table.Instance.QueryActionIconSprite(actionId,_main.MapData.PlayerMap.SelfPlayerData);
|
||||
timg.sprite = Table.Instance.QueryActionIconSprite(actionId,Main.MapData.PlayerMap.SelfPlayerData);
|
||||
//timg.SetNativeSize();
|
||||
//childAction.Find("Image").localScale = new Vector3(0.3f, 0.3f, 0.3f);
|
||||
//childAction.Find("Image").localPosition = new Vector3(0f, -40f, 0f);
|
||||
@ -223,13 +223,13 @@ public class BottomInfoUI// : MonoBehaviour
|
||||
GameObject.Destroy(child.gameObject);
|
||||
|
||||
//如果预览的是grid或者city
|
||||
if (UIBottomInfoIsGrid && _main.MapData.GridMap.GetGridDataByGid(UIBottomInfoStatusObjectId,out var gridData))
|
||||
if (UIBottomInfoIsGrid && Main.MapData.GridMap.GetGridDataByGid(UIBottomInfoStatusObjectId,out var gridData))
|
||||
{
|
||||
//现获取对应的playerData
|
||||
_main.MapData.GetPlayerDataByTerritoryGridId(UIBottomInfoStatusObjectId, out var player);
|
||||
Main.MapData.GetPlayerDataByTerritoryGridId(UIBottomInfoStatusObjectId, out var player);
|
||||
|
||||
//如果是city
|
||||
if (_main.MapData.GetCityDataByGid(gridData.Id, out var cityData))
|
||||
if (Main.MapData.GetCityDataByGid(gridData.Id, out var cityData))
|
||||
{
|
||||
|
||||
|
||||
@ -415,7 +415,7 @@ public class BottomInfoUI// : MonoBehaviour
|
||||
//如果是unit
|
||||
else
|
||||
{
|
||||
_main.MapData.UnitMap.GetUnitDataByUnitId(UIBottomInfoStatusObjectId,out var unitData);
|
||||
Main.MapData.UnitMap.GetUnitDataByUnitId(UIBottomInfoStatusObjectId,out var unitData);
|
||||
//筹备unit预览格子
|
||||
GameObject clone = GameObject.Instantiate(MapRenderer.Instance.ROUnitMap[UIBottomInfoStatusObjectId].GetROUnit() as GameObject);
|
||||
clone.transform.SetParent(_unitPreviewArea.transform);
|
||||
@ -516,10 +516,10 @@ public class BottomInfoUI// : MonoBehaviour
|
||||
|
||||
CommonActionId fakeActionId = clickedItem.GetComponent<ActionIdMono>().ActionId;
|
||||
//如果钱不够,退出
|
||||
if (Table.Instance.QueryActionCost(fakeActionId) > _main.MapData.PlayerMap.SelfPlayerData.PlayerWealth)
|
||||
if (Table.Instance.QueryActionCost(fakeActionId) > Main.MapData.PlayerMap.SelfPlayerData.PlayerWealth)
|
||||
return;
|
||||
//如果没科技,退出
|
||||
if (!_main.MapData.PlayerMap.SelfPlayerData.TechTree.CheckActionCan(fakeActionId))
|
||||
if (!Main.MapData.PlayerMap.SelfPlayerData.TechTree.CheckActionCan(fakeActionId))
|
||||
return;
|
||||
UnitData unitData = null;
|
||||
CityData cityData = null;
|
||||
@ -533,28 +533,28 @@ public class BottomInfoUI// : MonoBehaviour
|
||||
if (fakeActionId.ActionType == CommonActionType.TrainUnit)
|
||||
{
|
||||
//如果是城市训练单位
|
||||
if(_main.MapData.GetCityDataByGid(UIBottomInfoStatusObjectId,out cityData))
|
||||
if(Main.MapData.GetCityDataByGid(UIBottomInfoStatusObjectId,out cityData))
|
||||
{
|
||||
//城市满人口
|
||||
if (_main.MapData.CheckIfCityFullPopulation(cityData)) return;
|
||||
if (Main.MapData.CheckIfCityFullPopulation(cityData)) return;
|
||||
mainObjectType = MainObjectType.City;
|
||||
}
|
||||
else if (_main.MapData.GetCityDataByTerritoryGid(UIBottomInfoStatusObjectId, out cityData))
|
||||
else if (Main.MapData.GetCityDataByTerritoryGid(UIBottomInfoStatusObjectId, out cityData))
|
||||
{
|
||||
//城市满人口
|
||||
if (_main.MapData.CheckIfCityFullPopulation(cityData)) return;
|
||||
if (Main.MapData.CheckIfCityFullPopulation(cityData)) return;
|
||||
}
|
||||
}
|
||||
|
||||
_main.MapData.GridMap.GetGridDataByGid(UIBottomInfoStatusObjectId,out gridData);
|
||||
Main.MapData.GridMap.GetGridDataByGid(UIBottomInfoStatusObjectId,out gridData);
|
||||
}
|
||||
else
|
||||
{
|
||||
_main.MapData.UnitMap.GetUnitDataByUnitId(UIBottomInfoStatusObjectId,out unitData);
|
||||
Main.MapData.UnitMap.GetUnitDataByUnitId(UIBottomInfoStatusObjectId,out unitData);
|
||||
mainObjectType = MainObjectType.Unit;
|
||||
}
|
||||
CommonActionParams actionParams = new CommonActionParams(_mapData,
|
||||
_main.MapData.PlayerMap.SelfPlayerData,unitData,cityData,gridData,null,null,mainObjectType);
|
||||
Main.MapData.PlayerMap.SelfPlayerData,unitData,cityData,gridData,null,null,mainObjectType);
|
||||
|
||||
//Debug.Log($"{actionId.ActionType},{actionId.WonderType},{actionId.ResourceType},{actionId.FeatureType},{actionId.UnitType},{actionId.Vegetation}");
|
||||
//如果成功执行,隐藏当前面板
|
||||
@ -604,7 +604,7 @@ public class BottomInfoUI// : MonoBehaviour
|
||||
if (UIBottomInfoIsGrid)
|
||||
{
|
||||
//如果科技未解锁
|
||||
if (!_main.MapData.PlayerMap.SelfPlayerData.TechTree.CheckActionCan(tActionId))
|
||||
if (!Main.MapData.PlayerMap.SelfPlayerData.TechTree.CheckActionCan(tActionId))
|
||||
{
|
||||
starImage.gameObject.SetActive(false);
|
||||
textUIComponent.gameObject.SetActive(false);
|
||||
@ -613,9 +613,9 @@ public class BottomInfoUI// : MonoBehaviour
|
||||
|
||||
CityData cityData;
|
||||
//如果是一个满员城市在grid上生产单位,要额外判断一下这个是不是生产单位的行为
|
||||
if (!_main.MapData.GetCityDataByGid(UIBottomInfoStatusObjectId,out cityData)){
|
||||
if(_main.MapData.GetCityDataByTerritoryGid(UIBottomInfoStatusObjectId,out cityData)
|
||||
&& _main.MapData.CheckIfCityFullPopulation(cityData)
|
||||
if (!Main.MapData.GetCityDataByGid(UIBottomInfoStatusObjectId,out cityData)){
|
||||
if(Main.MapData.GetCityDataByTerritoryGid(UIBottomInfoStatusObjectId,out cityData)
|
||||
&& Main.MapData.CheckIfCityFullPopulation(cityData)
|
||||
&& tActionId.ActionType == CommonActionType.TrainUnit)
|
||||
{
|
||||
textUIComponent.color = Color.gray;
|
||||
@ -625,7 +625,7 @@ public class BottomInfoUI// : MonoBehaviour
|
||||
}
|
||||
}
|
||||
//如果是一个满员城市在市中心生产单位(不用在判断是不是生产单位了)
|
||||
else if (_main.MapData.CheckIfCityFullPopulation(cityData))
|
||||
else if (Main.MapData.CheckIfCityFullPopulation(cityData))
|
||||
{
|
||||
textUIComponent.color = Color.gray;
|
||||
backImage.sprite = ActionBGUnavailable;
|
||||
@ -633,7 +633,7 @@ public class BottomInfoUI// : MonoBehaviour
|
||||
textUIComponent.gameObject.SetActive(false);
|
||||
}
|
||||
//如果钱不够
|
||||
if (_main.MapData.PlayerMap.SelfPlayerData.PlayerWealth < actionLogic.GetCost())
|
||||
if (Main.MapData.PlayerMap.SelfPlayerData.PlayerWealth < actionLogic.GetCost())
|
||||
{
|
||||
textUIComponent.color = Color.red;
|
||||
backImage.sprite = ActionBGExpensive;
|
||||
@ -650,7 +650,7 @@ public class BottomInfoUI// : MonoBehaviour
|
||||
{
|
||||
starImage.gameObject.SetActive(true);
|
||||
textUIComponent.gameObject.SetActive(true);
|
||||
if (_main.MapData.PlayerMap.SelfPlayerData.PlayerWealth < actionLogic.GetCost())
|
||||
if (Main.MapData.PlayerMap.SelfPlayerData.PlayerWealth < actionLogic.GetCost())
|
||||
{
|
||||
textUIComponent.color = Color.red;
|
||||
backImage.sprite = ActionBGExpensive;
|
||||
@ -728,7 +728,7 @@ public class BottomInfoUI// : MonoBehaviour
|
||||
_debugGrid.SetActive(true);
|
||||
_debugUnit.SetActive(false);
|
||||
_debugCity.SetActive(false);
|
||||
if (!_main.MapData.GridMap.GetGridDataByGid(UIBottomInfoStatusObjectId, out var gridData))
|
||||
if (!Main.MapData.GridMap.GetGridDataByGid(UIBottomInfoStatusObjectId, out var gridData))
|
||||
return;
|
||||
_debugGrid.transform.Find("BuildingLevelValue").GetComponent<TextMeshProUGUI>().text = gridData.buildingLevel.ToString();
|
||||
|
||||
@ -740,7 +740,7 @@ public class BottomInfoUI// : MonoBehaviour
|
||||
_debugCity.SetActive(false);
|
||||
|
||||
// 获取单位数据
|
||||
if (!_main.MapData.UnitMap.GetUnitDataByUnitId(UIBottomInfoStatusObjectId, out var unitData))
|
||||
if (!Main.MapData.UnitMap.GetUnitDataByUnitId(UIBottomInfoStatusObjectId, out var unitData))
|
||||
return;
|
||||
|
||||
// 填充单位类型信息
|
||||
|
||||
@ -4,6 +4,11 @@ using RuntimeData;
|
||||
using Animancer;
|
||||
using UnityEngine.UI;
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using Logic.Multilingual;
|
||||
using TH1Resource;
|
||||
using TMPro;
|
||||
using YooAsset.Editor;
|
||||
|
||||
public enum LibraryTabType
|
||||
{
|
||||
@ -30,6 +35,9 @@ public class LibraryUI
|
||||
public Button WonderButton;
|
||||
public Button AchievementButton;
|
||||
|
||||
public Transform SelectedGiantListItem;
|
||||
public Transform DefaultGiantListItem;
|
||||
|
||||
private class LibraryTab
|
||||
{
|
||||
public LibraryTabType Type;
|
||||
@ -95,24 +103,184 @@ public class LibraryUI
|
||||
"Animations/UI/LibraryAchievementUIFadeIn",
|
||||
"Animations/UI/LibraryAchievementUIFadeOut");
|
||||
|
||||
ForceButton.onClick.AddListener(() => SwitchTab(LibraryTabType.Force));
|
||||
GiantButton.onClick.AddListener(() => SwitchTab(LibraryTabType.Giant));
|
||||
WonderButton.onClick.AddListener(() => SwitchTab(LibraryTabType.Wonder));
|
||||
AchievementButton.onClick.AddListener(() => SwitchTab(LibraryTabType.Achievement));
|
||||
|
||||
var fa = ROLibraryUI.transform.Find("Wonder").Find("WonderListPanel").Find("WonderList");
|
||||
for (int i = 0; i < 4; i++)
|
||||
for(int j = 0;j < 7; j++)
|
||||
{
|
||||
var p = fa.Find($"LibraryWonder{i}").Find($"LibraryWonderItem ({j})");
|
||||
/*p.Find("TribeIconMask").Find("GroundIcon").GetComponent<Image>().sprite
|
||||
= null;*/
|
||||
p.Find("Size/TribeIconMask/TribeIcon").GetComponent<Image>().sprite
|
||||
= Table.Instance.GridAndResourceDataAssets.WonderInfoList[i * 7 + j].Sprite;
|
||||
|
||||
}
|
||||
//ForceButton.onClick.AddListener(() => SwitchTab(LibraryTabType.Force));
|
||||
GiantButton.onClick.AddListener(() =>
|
||||
{
|
||||
|
||||
SwitchTab(LibraryTabType.Giant);
|
||||
});
|
||||
WonderButton.onClick.AddListener(() =>
|
||||
{
|
||||
UpdateWonderListData();
|
||||
SwitchTab(LibraryTabType.Wonder);
|
||||
});
|
||||
//AchievementButton.onClick.AddListener(() => SwitchTab(LibraryTabType.Achievement));
|
||||
|
||||
|
||||
//设置各种初始化值
|
||||
_currentTab = LibraryTabType.Giant;
|
||||
DefaultGiantListItem = ROLibraryUI.transform.Find("Giant/LibraryGiantListPanel/Scroll View/Viewport/Content")?.GetChild(0)?.GetChild(0);
|
||||
UpdateGiantListData();
|
||||
InitSubPanel(LibraryTabType.Giant);
|
||||
}
|
||||
|
||||
public void UpdateGiantListData()
|
||||
{
|
||||
var table = ROLibraryUI.transform.Find("Giant/LibraryGiantListPanel/Scroll View/Viewport/Content");
|
||||
|
||||
|
||||
//构造needList,需要展示的giant list
|
||||
int needCount = 5;
|
||||
var needList = new List<GiantType>();
|
||||
needList.Add(GiantType.EgyptianRemilia);
|
||||
needList.Add(GiantType.EgyptianPatchouli);
|
||||
needList.Add(GiantType.EgyptianSakuya);
|
||||
needList.Add(GiantType.EgyptianFlandre);
|
||||
needList.Add(GiantType.EgyptianMeiling);
|
||||
//根据需要展示的情况,确定table下的显示位置够不够,多的setactive false,少的clone
|
||||
int hasCount = table.childCount * 3;
|
||||
//如果坑位少于需要展示的数量,增加坑位
|
||||
var sampleRow = table.Find("SampleRow");
|
||||
while (hasCount < needCount)
|
||||
{
|
||||
GameObject.Instantiate(sampleRow, table);
|
||||
hasCount += 3;
|
||||
}
|
||||
//将最后一行多出来的坑位setactive false
|
||||
int lastCount = needCount;
|
||||
while (lastCount < hasCount)
|
||||
{
|
||||
table.GetChild(lastCount / 3).GetChild(lastCount % 3).gameObject.SetActive(false);
|
||||
lastCount++;
|
||||
}
|
||||
|
||||
|
||||
//设置每一个giant
|
||||
for(int i = 0;i < needList.Count; i++)
|
||||
{
|
||||
var giant = needList[i];
|
||||
if(!Table.Instance.UnitTypeDataAssets.GetUnitTypeInfo(UnitType.Giant, giant, out var unitInfo))continue;
|
||||
//更换sprite
|
||||
if (table.GetChild(i / 3) == null) continue;
|
||||
var slot = table.GetChild( i / 3).GetChild(i % 3);
|
||||
if (slot == null) continue;
|
||||
slot.Find("TribeIconMask/TribeIcon").GetComponent<Image>().sprite = unitInfo.Sprite;
|
||||
//如果是giantCivId !=0 默认锁角色
|
||||
if (unitInfo.GiantCivId != 0) continue;
|
||||
//处理remilia 阵营
|
||||
slot.Find("TribeIconMask").GetComponent<Image>().color = Color.white;
|
||||
slot.Find("TribeIconMask/TribeIcon").GetComponent<Image>().color = Color.white;
|
||||
slot.Find("TribeIconMask/Locked").gameObject.SetActive(false);
|
||||
|
||||
Button slotButton = slot.GetComponent<Button>();
|
||||
if (slotButton == null)
|
||||
slotButton = slot.gameObject.AddComponent<Button>();
|
||||
|
||||
// 移除旧的监听器,防止重复添加
|
||||
slotButton.onClick.RemoveAllListeners();
|
||||
// 添加新的监听器,使用 lambda 表达式捕获当前的 giant 变量
|
||||
Debug.Log(giant);
|
||||
slotButton.onClick.AddListener(() =>
|
||||
{
|
||||
// 当按钮被点击时,调用 UpdateGiantInfoData 并传入对应的 GiantType
|
||||
GiantListItemOnClick(table,slot,giant);
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void GiantListItemOnClick(Transform table, Transform selected, GiantType giant)
|
||||
{
|
||||
//消除之前选中对象的红圈,换成当前这个
|
||||
SelectedGiantListItem?.Find("TribeIconMask/Selected")?.gameObject.SetActive(false);
|
||||
selected.Find("TribeIconMask/Selected")?.gameObject.SetActive(true);
|
||||
SelectedGiantListItem = selected;
|
||||
|
||||
var infoPanel = ROLibraryUI.transform.Find("Giant/LibraryGiantInfoPanel");
|
||||
infoPanel.GetComponent<AnimancerComponent>()?.Play(ResourceCache.Instance.AnimCache.UICommonPanelFadeOut);
|
||||
|
||||
Timer.Instance.TimerRegister(this, () =>
|
||||
{
|
||||
UpdateGiantInfoData(giant);
|
||||
infoPanel.GetComponent<AnimancerComponent>()?.Play(ResourceCache.Instance.AnimCache.UICommonPanelFadeIn);
|
||||
},ResourceCache.Instance.AnimCache.UICommonPanelFadeOut.length);
|
||||
}
|
||||
|
||||
public void UpdateGiantInfoData(GiantType giant)
|
||||
{
|
||||
Debug.Log(giant);
|
||||
if (!Table.Instance.UnitTypeDataAssets.GetUnitTypeInfo(UnitType.Giant, giant, out var unitInfo)) return;
|
||||
if (!Table.Instance.LibraryDataAssets.GetLibraryInfoByGiant(giant, out var libraryInfo)) return;
|
||||
if (!Table.Instance.PlayerDataAssets.GetPlayerInfoByCivId(unitInfo.GiantCivId,unitInfo.GiantForceId, out var playerInfo)) return;
|
||||
var image = ROLibraryUI.transform.Find("Giant/LibraryGiantInfoPanel/GiantImage/Img");
|
||||
var info = ROLibraryUI.transform.Find("Giant/LibraryGiantInfoPanel/GiantInfo");
|
||||
//设置立绘
|
||||
image.GetComponent<Image>().sprite = libraryInfo.Illust;
|
||||
//设置英文名称装饰
|
||||
if(ROLibraryUI.transform.Find("Giant/LibraryGiantInfoPanel/TitleEN"))
|
||||
ROLibraryUI.transform.Find("Giant/LibraryGiantInfoPanel/TitleEN").GetComponent<TextMeshProUGUI>().text = libraryInfo.EnglishName.ToUpper();
|
||||
//设置角色名称
|
||||
Debug.Log(libraryInfo.Name);
|
||||
MultilingualManager.Instance.SetUIText(ROLibraryUI.transform.Find("Giant/LibraryGiantInfoPanel/Title")?.GetComponent<TextMeshProUGUI>(),libraryInfo.Name);
|
||||
//设置帝国名称
|
||||
//设置角色介绍
|
||||
MultilingualManager.Instance.SetUIText(info.Find("Info1/Desc")?.GetComponent<TextMeshProUGUI>(),libraryInfo.Desc);
|
||||
//设置角色读白
|
||||
MultilingualManager.Instance.SetUIText(info.Find("Info1/Diag/Text")?.GetComponent<TextMeshProUGUI>(),libraryInfo.Diag);
|
||||
//设置角色读白角色头像
|
||||
info.Find("Info1/Diag/AvatarCircle/Avatar").GetComponent<Image>().sprite = unitInfo.Sprite;
|
||||
//设置角色读白对话框背景颜色
|
||||
if(info.Find("Info1/Diag") != null)
|
||||
info.Find("Info1/Diag").GetComponent<Image>().color = libraryInfo.DiagColor;
|
||||
|
||||
|
||||
//处理成就
|
||||
uint bigid = 2;
|
||||
uint smallid = giant switch
|
||||
{
|
||||
GiantType.EgyptianMeiling => 5,
|
||||
GiantType.EgyptianFlandre => 4,
|
||||
GiantType.EgyptianSakuya => 3,
|
||||
GiantType.EgyptianPatchouli => 2,
|
||||
_ => 1
|
||||
};
|
||||
for (uint i = 0; i < 3; i++)
|
||||
{
|
||||
//star坑位
|
||||
var star = info.Find($"Info3/Star{i + 1}/Star")?.GetComponent<Image>();
|
||||
//成就标题star坑位
|
||||
var title = info.Find($"Info3/Star{i + 1}/Title")?.GetComponent<TextMeshProUGUI>();
|
||||
//成就描述star坑位
|
||||
var desc = info.Find($"Info3/Star{i + 1}/Desc")?.GetComponent<TextMeshProUGUI>();
|
||||
|
||||
var infoData = AchievementDataManager.Instance.Achievement.GetAchievementItem(bigid, smallid, i + 1);
|
||||
bool finished = AchievementDataManager.Instance.IsFinished(bigid, smallid, i);
|
||||
if (infoData == null) continue;
|
||||
MultilingualManager.Instance.SetUIText(title,infoData.Name);
|
||||
MultilingualManager.Instance.SetUIText(desc,infoData.Desc);
|
||||
if (star != null)
|
||||
star.sprite = finished ? ResourceCache.Instance.SpriteCache.AchievementStar : ResourceCache.Instance.SpriteCache.AchievementStarGray ;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void UpdateWonderListData()
|
||||
{
|
||||
return;
|
||||
var fa = ROLibraryUI.transform.Find("Wonder").Find("WonderListPanel").Find("WonderList");
|
||||
for (int i = 0; i < 4; i++)
|
||||
for(int j = 0;j < 7; j++)
|
||||
{
|
||||
var p = fa.Find($"LibraryWonder{i}").Find($"LibraryWonderItem ({j})");
|
||||
/*p.Find("TribeIconMask").Find("GroundIcon").GetComponent<Image>().sprite
|
||||
= null;*/
|
||||
p.Find("Size/TribeIconMask/TribeIcon").GetComponent<Image>().sprite
|
||||
= Table.Instance.GridAndResourceDataAssets.WonderInfoList[i * 7 + j].Sprite;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void Update()
|
||||
{
|
||||
if (_isAnimating) return;
|
||||
@ -136,15 +304,15 @@ public class LibraryUI
|
||||
ROLibraryUI.SetActive(true);
|
||||
|
||||
var animancer = ROLibraryUI.GetComponent<AnimancerComponent>();
|
||||
var fadeIn = Resources.Load<AnimationClip>("Animations/UI/LibraryUIFadeIn");
|
||||
if (fadeIn != null) animancer.Play(fadeIn);
|
||||
|
||||
var fadeIn = ResourceCache.Instance.AnimCache.UICommonPanelFadeIn;
|
||||
animancer.Play(fadeIn);
|
||||
if (_currentTab == LibraryTabType.Giant)
|
||||
UpdateGiantListData();
|
||||
SwitchTab(LibraryTabType.Giant);
|
||||
Timer.Instance.TimerRegister(ROLibraryUI, () =>
|
||||
{
|
||||
_isAnimating = false;
|
||||
// ✅ 显示主面板后,默认打开 Force 面板
|
||||
SwitchTab(LibraryTabType.Force);
|
||||
}, _fadeDuration);
|
||||
}, fadeIn.length);
|
||||
}
|
||||
|
||||
|
||||
@ -169,7 +337,7 @@ public class LibraryUI
|
||||
private void SwitchTab(LibraryTabType target)
|
||||
{
|
||||
if (_currentTab == target) return;
|
||||
|
||||
|
||||
if (_currentTab.HasValue)
|
||||
{
|
||||
var oldTab = _tabs[_currentTab.Value];
|
||||
@ -186,5 +354,19 @@ public class LibraryUI
|
||||
if (fadeIn != null) animancerIn.Play(fadeIn);
|
||||
|
||||
_currentTab = target;
|
||||
InitSubPanel(target);
|
||||
}
|
||||
|
||||
//每个subpanel都有一个初始化函数,如果切换到这个页面,要进行一次初始化选择(默认选择左上角的单位)
|
||||
private void InitSubPanel(LibraryTabType target)
|
||||
{
|
||||
if (target == LibraryTabType.Giant)
|
||||
{
|
||||
SelectedGiantListItem?.Find("TribeIconMask/Selected")?.gameObject.SetActive(false);
|
||||
DefaultGiantListItem?.Find("TribeIconMask/Selected")?.gameObject.SetActive(true);
|
||||
SelectedGiantListItem = DefaultGiantListItem;
|
||||
UpdateGiantInfoData(GiantType.EgyptianRemilia);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -133,7 +133,7 @@ public class TechTreeUI
|
||||
btn.onClick.AddListener(() => SetTechCheckPanelShowHide(true,techType));
|
||||
//Debug.Log(techType);
|
||||
//如果该科技已经学习
|
||||
if (_main.MapData.PlayerMap.SelfPlayerData.TechTree.CheckIfHasTech(techType))
|
||||
if (Main.MapData.PlayerMap.SelfPlayerData.TechTree.CheckIfHasTech(techType))
|
||||
{
|
||||
Image img = techNode.transform.Find("Background").GetComponent<Image>();
|
||||
img.sprite = ResourceCache.Instance.SpriteCache.TechCompleteBackground;
|
||||
@ -155,7 +155,7 @@ public class TechTreeUI
|
||||
}
|
||||
else
|
||||
//如果该科技未解锁
|
||||
if (_main.MapData.PlayerMap.SelfPlayerData.TechTree.CheckIfTechUnsee(techType))
|
||||
if (Main.MapData.PlayerMap.SelfPlayerData.TechTree.CheckIfTechUnsee(techType))
|
||||
{
|
||||
Image img = techNode.Find("Background").GetComponent<Image>();
|
||||
img.sprite = ResourceCache.Instance.SpriteCache.TechLockedBackground;
|
||||
@ -164,17 +164,17 @@ public class TechTreeUI
|
||||
for (int i = 1; i <= techInfo.techActions.Count; i++)
|
||||
techNode.transform.Find($"ImageGroup/Circle{i}")?.GetComponent<Image>().gameObject.SetActive(false);
|
||||
}
|
||||
else //if(_main.MapData.PlayerMap.SelfPlayerData.TechTree.CheckIfTechCanLearn(techType))
|
||||
else //if(Main.MapData.PlayerMap.SelfPlayerData.TechTree.CheckIfTechCanLearn(techType))
|
||||
//如果该科技可以学习
|
||||
{
|
||||
TextMeshProUGUI costTxt = techNode.Find("costNumber").GetComponent<TextMeshProUGUI>();
|
||||
//计算目前该tech的学习成本,=科技基础cost * 城市数 + 4
|
||||
var img = techNode.Find("Background").GetComponent<Image>();
|
||||
img.sprite = ResourceCache.Instance.SpriteCache.TechAvailableBackground;
|
||||
int tmpCost = (_main.MapData.GetCityCount(_main.MapData.PlayerMap.SelfPlayerData.Id)
|
||||
int tmpCost = (Main.MapData.GetCityCount(Main.MapData.PlayerMap.SelfPlayerData.Id)
|
||||
* techInfo.CostLevel + 4);
|
||||
costTxt.text = tmpCost.ToString();
|
||||
if (tmpCost > _main.MapData.PlayerMap.SelfPlayerData.PlayerWealth)
|
||||
if (tmpCost > Main.MapData.PlayerMap.SelfPlayerData.PlayerWealth)
|
||||
costTxt.color = Color.red;
|
||||
else costTxt.color = Color.white;
|
||||
costTxt.gameObject.SetActive(true);
|
||||
@ -219,10 +219,10 @@ public class TechTreeUI
|
||||
public void RenderUpdateTechCheckPanel(MapData mapData)
|
||||
{
|
||||
TechInfo techInfo = Table.Instance.TechDataAssets.GetTechInfo(_techTypeChoose);
|
||||
PlayerData selfPlayer = _main.MapData.PlayerMap.SelfPlayerData;
|
||||
PlayerData selfPlayer = Main.MapData.PlayerMap.SelfPlayerData;
|
||||
ROTechCheckPanel.SetActive(true);
|
||||
//记录一下目前点击的techNo和费用,以供点击Research时判断使用
|
||||
_techNoChooseCost = (_main.MapData.GetCityCount(selfPlayer.Id) * techInfo.CostLevel + 4);
|
||||
_techNoChooseCost = (Main.MapData.GetCityCount(selfPlayer.Id) * techInfo.CostLevel + 4);
|
||||
TextMeshProUGUI title = ROTechCheckPanel.transform.Find("Title").GetComponent<TextMeshProUGUI>();
|
||||
TextMeshProUGUI cost = ROTechCheckPanel.transform.Find("Title").transform.Find("costNumber").GetComponent<TextMeshProUGUI>();
|
||||
|
||||
@ -330,9 +330,9 @@ public class TechTreeUI
|
||||
{
|
||||
|
||||
//钱不够就不能研发。这种情况理应不会发生
|
||||
if (_main.MapData.PlayerMap.SelfPlayerData.PlayerWealth < _techNoChooseCost)
|
||||
if (Main.MapData.PlayerMap.SelfPlayerData.PlayerWealth < _techNoChooseCost)
|
||||
return;
|
||||
Main.PlayerLogic.ResearchTech(_main.MapData,_main.MapData.PlayerMap.SelfPlayerData,_techTypeChoose,_techNoChooseCost);
|
||||
Main.PlayerLogic.ResearchTech(Main.MapData,Main.MapData.PlayerMap.SelfPlayerData,_techTypeChoose,_techNoChooseCost);
|
||||
SetTechCheckPanelShowHide(false);
|
||||
RenderUpdateTechTreeData();
|
||||
UIManager.Instance.TopBarUI.RenderMark = true;
|
||||
|
||||
@ -73,9 +73,9 @@ public class TopBarUI
|
||||
_showTurnHint = false;
|
||||
ShowTurnHint();
|
||||
}
|
||||
_money.text = _main.MapData.PlayerMap.SelfPlayerData.PlayerWealth +
|
||||
" <color=yellow>+ " + Main.PlayerLogic.GetPlayerStarsPerTurn(_main.MapData, _main.MapData.PlayerMap.SelfPlayerData.Id) + "</color>";
|
||||
_faith.text = _main.MapData.PlayerMap.SelfPlayerData.PlayerScore.ToString();
|
||||
_turn.text = _main.MapData.PlayerMap.SelfPlayerData.Turn + "/30";
|
||||
_money.text = Main.MapData.PlayerMap.SelfPlayerData.PlayerWealth +
|
||||
" <color=yellow>+ " + Main.PlayerLogic.GetPlayerStarsPerTurn(Main.MapData, Main.MapData.PlayerMap.SelfPlayerData.Id) + "</color>";
|
||||
_faith.text = Main.MapData.PlayerMap.SelfPlayerData.PlayerScore.ToString();
|
||||
_turn.text = Main.MapData.PlayerMap.SelfPlayerData.Turn + "/30";
|
||||
}
|
||||
}
|
||||
|
||||
Binary file not shown.
@ -97,4 +97,6 @@ Tech:None
|
||||
---%$#@!%$#@!%$#@!%$#@!!@#$%1006%$#@!-------- ID=233, Civ=7, Force=7 --------
|
||||
Money = 5, Stratery = ???
|
||||
Tech:None
|
||||
---%$#@!%$#@!%$#@!%$#@!!@#$%1007%$#@!治疗提示%$#@!%$#@!%$#@!%$#@!!@#$%1008%$#@!1%$#@!%$#@!%$#@!%$#@!!@#$%1009%$#@!建设提示%$#@!%$#@!%$#@!%$#@!!@#$%1010%$#@!2%$#@!%$#@!%$#@!%$#@!!@#$%1011%$#@!需要恢复!%$#@!%$#@!%$#@!%$#@!!@#$%1012%$#@!生命值较低,防御攻击都会下降,可以使用<color=yellow>恢复</color>。领土内恢复翻倍。%$#@!%$#@!%$#@!%$#@!!@#$%1013%$#@!占领城市!%$#@!%$#@!%$#@!%$#@!!@#$%1014%$#@!<color=yellow>占领</color>他人城市或村庄,是发展壮大的必要步骤。%$#@!%$#@!%$#@!%$#@!!@#$%1015%$#@!挖掘宝藏!%$#@!%$#@!%$#@!%$#@!!@#$%1016%$#@!<color=yellow>挖掘</color>宝藏,将有概率获得巨额财富,强力单位,或者一个随机科技。%$#@!%$#@!%$#@!%$#@!!@#$%1017%$#@!训练单位!%$#@!%$#@!%$#@!%$#@!!@#$%1018%$#@!无论是应对潜在的敌人威胁,还是探索地图挖掘宝藏,训练单位都是第一步。%$#@!%$#@!%$#@!%$#@!!@#$%1019%$#@!可改造农田%$#@!%$#@!%$#@!%$#@!!@#$%1020%$#@!升级科技,将庄稼改造为农田吧!%$#@!%$#@!%$#@!%$#@!!@#$%1021%$#@!可捕获渔业%$#@!%$#@!%$#@!%$#@!!@#$%1022%$#@!升级科技,捕获渔业,升级城市吧!%$#@!%$#@!%$#@!%$#@!!@#$%1023%$#@!可狩猎%$#@!%$#@!%$#@!%$#@!!@#$%1024%$#@!升级科技,狩猎动物,升级城市吧!%$#@!%$#@!%$#@!%$#@!!@#$%1025%$#@!可改造矿场%$#@!%$#@!%$#@!%$#@!!@#$%1026%$#@!升级科技,将矿石改造为采矿场吧!%$#@!%$#@!%$#@!%$#@!!@#$%1027%$#@!可收获水果%$#@!%$#@!%$#@!%$#@!!@#$%1028%$#@!升级科技,收获水果,升级城市吧!%$#@!%$#@!%$#@!%$#@!!@#$%1029%$#@!学习<color=yellow>种田</color>科技,就能将庄稼改造为农田,并为城市提供2点经验。在学习<color=yellow>采集</color>科技前,无法发现庄稼。%$#@!%$#@!%$#@!%$#@!!@#$%1030%$#@!学习<color=yellow>捕鱼</color>科技,就能捕获渔业,并为城市提供1点经验。%$#@!%$#@!%$#@!%$#@!!@#$%1031%$#@!学习<color=yellow>狩猎</color>科技,就能捕获猎物,并为城市提供1点经验。%$#@!%$#@!%$#@!%$#@!!@#$%1032%$#@!学习<color=yellow>采矿</color>科技,就能将矿山改造为采矿场,并为城市提供2点经验。在学习<color=yellow>爬山</color>科技之前,无法发现矿山。%$#@!%$#@!%$#@!%$#@!!@#$%1033%$#@!学习<color=yellow>采集</color>科技,就能收获水果,并为城市提供1点经验。%$#@!%$#@!%$#@!%$#@!!@#$%1034%$#@!学习<color=yellow>耕种</color>科技,就能将庄稼改造为农田,并为城市提供2点经验。在学习<color=yellow>采集</color>科技前,无法发现庄稼。%$#@!%$#@!%$#@!%$#@!!@#$%1035%$#@!确认选择%$#@!%$#@!%$#@!%$#@!!@#$%1036%$#@!蕾米莉亚·斯卡雷特伫立于金字塔之巅。她率领红魔馆南征北讨,驱策妖精女仆开垦于尼罗河畔,筑起属于斯卡雷特王朝的辉煌帝国。%$#@!%$#@!%$#@!%$#@!!@#$%1037%$#@!开始游戏!%$#@!%$#@!%$#@!%$#@!!@#$%1038%$#@!游戏模式%$#@!%$#@!%$#@!%$#@!!@#$%1039%$#@!创造模式%$#@!%$#@!%$#@!%$#@!!@#$%1040%$#@!历史战绩%$#@!%$#@!%$#@!%$#@!!@#$%1041%$#@!城市%$#@!%$#@!%$#@!%$#@!!@#$%1042%$#@!地图设置%$#@!%$#@!%$#@!%$#@!!@#$%1043%$#@!第{param}回合%$#@!%$#@!%$#@!%$#@!!@#$%
|
||||
---%$#@!%$#@!%$#@!%$#@!!@#$%1007%$#@!治疗提示%$#@!%$#@!%$#@!%$#@!!@#$%1008%$#@!1%$#@!%$#@!%$#@!%$#@!!@#$%1009%$#@!建设提示%$#@!%$#@!%$#@!%$#@!!@#$%1010%$#@!2%$#@!%$#@!%$#@!%$#@!!@#$%1011%$#@!需要恢复!%$#@!%$#@!%$#@!%$#@!!@#$%1012%$#@!生命值较低,防御攻击都会下降,可以使用<color=yellow>恢复</color>。领土内恢复翻倍。%$#@!%$#@!%$#@!%$#@!!@#$%1013%$#@!占领城市!%$#@!%$#@!%$#@!%$#@!!@#$%1014%$#@!<color=yellow>占领</color>他人城市或村庄,是发展壮大的必要步骤。%$#@!%$#@!%$#@!%$#@!!@#$%1015%$#@!挖掘宝藏!%$#@!%$#@!%$#@!%$#@!!@#$%1016%$#@!<color=yellow>挖掘</color>宝藏,将有概率获得巨额财富,强力单位,或者一个随机科技。%$#@!%$#@!%$#@!%$#@!!@#$%1017%$#@!训练单位!%$#@!%$#@!%$#@!%$#@!!@#$%1018%$#@!无论是应对潜在的敌人威胁,还是探索地图挖掘宝藏,训练单位都是第一步。%$#@!%$#@!%$#@!%$#@!!@#$%1019%$#@!可改造农田%$#@!%$#@!%$#@!%$#@!!@#$%1020%$#@!升级科技,将庄稼改造为农田吧!%$#@!%$#@!%$#@!%$#@!!@#$%1021%$#@!可捕获渔业%$#@!%$#@!%$#@!%$#@!!@#$%1022%$#@!升级科技,捕获渔业,升级城市吧!%$#@!%$#@!%$#@!%$#@!!@#$%1023%$#@!可狩猎%$#@!%$#@!%$#@!%$#@!!@#$%1024%$#@!升级科技,狩猎动物,升级城市吧!%$#@!%$#@!%$#@!%$#@!!@#$%1025%$#@!可改造矿场%$#@!%$#@!%$#@!%$#@!!@#$%1026%$#@!升级科技,将矿石改造为采矿场吧!%$#@!%$#@!%$#@!%$#@!!@#$%1027%$#@!可收获水果%$#@!%$#@!%$#@!%$#@!!@#$%1028%$#@!升级科技,收获水果,升级城市吧!%$#@!%$#@!%$#@!%$#@!!@#$%1029%$#@!学习<color=yellow>种田</color>科技,就能将庄稼改造为农田,并为城市提供2点经验。在学习<color=yellow>采集</color>科技前,无法发现庄稼。%$#@!%$#@!%$#@!%$#@!!@#$%1030%$#@!学习<color=yellow>捕鱼</color>科技,就能捕获渔业,并为城市提供1点经验。%$#@!%$#@!%$#@!%$#@!!@#$%1031%$#@!学习<color=yellow>狩猎</color>科技,就能捕获猎物,并为城市提供1点经验。%$#@!%$#@!%$#@!%$#@!!@#$%1032%$#@!学习<color=yellow>采矿</color>科技,就能将矿山改造为采矿场,并为城市提供2点经验。在学习<color=yellow>爬山</color>科技之前,无法发现矿山。%$#@!%$#@!%$#@!%$#@!!@#$%1033%$#@!学习<color=yellow>采集</color>科技,就能收获水果,并为城市提供1点经验。%$#@!%$#@!%$#@!%$#@!!@#$%1034%$#@!学习<color=yellow>耕种</color>科技,就能将庄稼改造为农田,并为城市提供2点经验。在学习<color=yellow>采集</color>科技前,无法发现庄稼。%$#@!%$#@!%$#@!%$#@!!@#$%1035%$#@!确认选择%$#@!%$#@!%$#@!%$#@!!@#$%1036%$#@!蕾米莉亚·斯卡雷特伫立于金字塔之巅。她率领红魔馆南征北讨,驱策妖精女仆开垦于尼罗河畔,筑起属于斯卡雷特王朝的辉煌帝国。%$#@!%$#@!%$#@!%$#@!!@#$%1037%$#@!开始游戏!%$#@!%$#@!%$#@!%$#@!!@#$%1038%$#@!游戏模式%$#@!%$#@!%$#@!%$#@!!@#$%1039%$#@!创造模式%$#@!%$#@!%$#@!%$#@!!@#$%1040%$#@!历史战绩%$#@!%$#@!%$#@!%$#@!!@#$%1041%$#@!城市%$#@!%$#@!%$#@!%$#@!!@#$%1042%$#@!地图设置%$#@!%$#@!%$#@!%$#@!!@#$%1043%$#@!第{param}回合%$#@!%$#@!%$#@!%$#@!!@#$%1044%$#@!蕾米莉亚 · 斯卡雷特%$#@!%$#@!%$#@!%$#@!!@#$%1045%$#@!饰演<color=red>阿努比斯</color>的人类少女。她本是红魔馆服侍蕾米莉亚·斯卡雷特的女仆长,陪着任性的大小姐一同加入游戏。%$#@!%$#@!%$#@!%$#@!!@#$%1046%$#@!帕秋莉 · 诺蕾姬%$#@!%$#@!%$#@!%$#@!!@#$%1047%$#@!芙兰朵露 · 斯卡雷特%$#@!%$#@!%$#@!%$#@!!@#$%1048%$#@!返回%$#@!%$#@!%$#@!%$#@!!@#$%1049%$#@!古代世界最大、最著名的图书馆,建于托勒密王朝时期的埃及,旨在收藏天下所有知识。后因战火与政治动荡多次焚毁。
|
||||
|
||||
在游戏中,作为<color=red>知识类奇观</color>,解锁全部科后即可获得,提供3点城市经验。%$#@!%$#@!%$#@!%$#@!!@#$%1050%$#@!饰演<color=red>奥西里斯</color>的人类少女。她本是红魔馆服侍蕾米莉亚·斯卡雷特的女仆长,陪着任性的大小姐一同加入游戏。%$#@!%$#@!%$#@!%$#@!!@#$%1051%$#@!居然是……奥西里斯吗?不过大小姐是不会死的吧。我变得多余了呢。%$#@!%$#@!%$#@!%$#@!!@#$%1052%$#@!饰演<color=red>克里欧帕特拉</color>的人类少女。她本是红魔馆服侍蕾米莉亚·斯卡雷特的女仆长,陪着任性的大小姐一同加入游戏。%$#@!%$#@!%$#@!%$#@!!@#$%1053%$#@!居然是……艳后?不过大小姐是不会死的吧。我变得多余了呢。%$#@!%$#@!%$#@!%$#@!!@#$%1054%$#@!饰演<color=red>赛特</color>的人类少女。她本是红魔馆服侍蕾米莉亚·斯卡雷特的女仆长,陪着任性的大小姐一同加入游戏。%$#@!%$#@!%$#@!%$#@!!@#$%1055%$#@!居然是……赛特?不过大小姐是不会死的吧。我变得多余了呢。%$#@!%$#@!%$#@!%$#@!!@#$%1056%$#@!饰演<color=red>荷鲁斯</color>的人类少女。她本是红魔馆服侍蕾米莉亚·斯卡雷特的女仆长,陪着任性的大小姐一同加入游戏。%$#@!%$#@!%$#@!%$#@!!@#$%1057%$#@!居然是……荷鲁斯?不过大小姐是不会死的吧。我变得多余了呢。%$#@!%$#@!%$#@!%$#@!!@#$%1058%$#@!我要看到血流成河!%$#@!%$#@!%$#@!%$#@!!@#$%1059%$#@!猩红法庭%$#@!%$#@!%$#@!%$#@!!@#$%1060%$#@!累计召唤20次%$#@!%$#@!%$#@!%$#@!!@#$%1061%$#@!绯色冥河之主%$#@!%$#@!%$#@!%$#@!!@#$%1062%$#@!累计召唤30次%$#@!%$#@!%$#@!%$#@!!@#$%1063%$#@!咳咳,咳咳咳%$#@!%$#@!%$#@!%$#@!!@#$%1064%$#@!不动的大图书馆%$#@!%$#@!%$#@!%$#@!!@#$%1065%$#@!与毒蛇共眠%$#@!%$#@!%$#@!%$#@!!@#$%1066%$#@!又见面了,大小姐%$#@!%$#@!%$#@!%$#@!!@#$%1067%$#@!完美潇洒的从者%$#@!%$#@!%$#@!%$#@!!@#$%1068%$#@!于冥河守候%$#@!%$#@!%$#@!%$#@!!@#$%1069%$#@!毁灭是我仅剩的温柔%$#@!%$#@!%$#@!%$#@!!@#$%1070%$#@!四重存在%$#@!%$#@!%$#@!%$#@!!@#$%1071%$#@!奥西里斯之死%$#@!%$#@!%$#@!%$#@!!@#$%1072%$#@!我要打10个%$#@!%$#@!%$#@!%$#@!!@#$%1073%$#@!崩山彩极炮%$#@!%$#@!%$#@!%$#@!!@#$%1074%$#@!荷鲁斯的复仇%$#@!%$#@!%$#@!%$#@!!@#$%
|
||||
Loading…
x
Reference in New Issue
Block a user