美术资产替换

This commit is contained in:
daixiawu 2025-07-17 02:38:50 +08:00
parent 6651f28c56
commit 792f344247
83 changed files with 5846 additions and 12037 deletions

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8197ce460cbcd0340948d1701dcc9c32
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 8233623e70b406742946c722a6728649
guid: db8e5bdf50e54ed47ae7ea7ef00b8997
TextureImporter:
internalIDToNameTable: []
externalObjects: {}

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: e4c981a121050764db720ecb34da9c1b
guid: c128488a0c3d39d4e800dbd5e196ca40
TextureImporter:
internalIDToNameTable: []
externalObjects: {}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: cc169b4e21d5ad841b9ef9ecef8dbd62
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: e25dd578486e8164ebbbc8a0a968fbb1
guid: 6ada69251cb56044bb5fd681f4378bfb
TextureImporter:
internalIDToNameTable: []
externalObjects: {}

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: b128004be66085d4781cc8eb62007199
guid: ecfc0c7951d77c44f8f492f88611ed2e
TextureImporter:
internalIDToNameTable: []
externalObjects: {}

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

View File

@ -0,0 +1,114 @@
fileFormatVersion: 2
guid: f9230b68ed88f44489fdc698a370ab18
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: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 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: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f922f1d927ad2f1408dbec2084361f7e
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: e718364d92aa1be4d9f37b79d3b49d11
guid: 1a89268611d83bd40824ade09439cd93
TextureImporter:
internalIDToNameTable: []
externalObjects: {}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

View File

@ -1,114 +0,0 @@
fileFormatVersion: 2
guid: fe5c45910ee385f468a06d886d58fd19
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: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 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: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

View File

@ -1,114 +0,0 @@
fileFormatVersion: 2
guid: c409bc8be022a4c46a68ae116b66294e
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: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 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: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

View File

@ -1,114 +0,0 @@
fileFormatVersion: 2
guid: df74a49ab896f2b4bbafb8035a44e5d9
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: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 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: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

View File

@ -1,114 +0,0 @@
fileFormatVersion: 2
guid: 80fd5527fe6a129498df846a762bf0cb
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: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 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: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

View File

@ -1,114 +0,0 @@
fileFormatVersion: 2
guid: a9908733422b07d4fad6832deaceccbf
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: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 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: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -49,7 +49,7 @@ TextureImporter:
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteBorder: {x: 83, y: 0, z: 71, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
@ -100,7 +100,7 @@ TextureImporter:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
internalID: 1537655665
vertices: []
indices:
edges: []

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,16 @@
%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: 2e6227138b3626a419cba5ba5414c1d6, type: 3}
m_Name: ColorDataAssets
m_EditorClassIdentifier:
CommonUITextColor: {r: 0.21960784, g: 0.3019608, b: 0.007843138, a: 1}
CommonUITextColorGray: {r: 0.79607844, g: 0.79607844, b: 0.79607844, a: 1}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ef1d800534e516b4f83b6bf949d6c5c6
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -55,6 +55,8 @@ MonoBehaviour:
AchivePreId: 205
LibraryWonderList:
- WonderLibraryID: 0
Name: "\u5362\u514B\u7D22\u795E\u5E99"
Desc: peace
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"
@ -74,6 +76,9 @@ MonoBehaviour:
Giant: 0200000005000000
AchivePreId: 301
- WonderLibraryID: 1
Name: "\u4E9A\u5386\u5C71\u5927\u56FE\u4E66\u9986"
Desc: "\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
\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"
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"
@ -93,6 +98,8 @@ MonoBehaviour:
Giant: 0200000005000000
AchivePreId: 302
- WonderLibraryID: 2
Name: "\u5B5F\u83F2\u65AF\u8001\u57CE"
Desc: trade
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"
@ -112,6 +119,8 @@ MonoBehaviour:
Giant: 0200000005000000
AchivePreId: 303
- WonderLibraryID: 3
Name: "\u5409\u8428\u5927\u91D1\u5B57\u5854"
Desc: wealth
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"
@ -131,6 +140,8 @@ MonoBehaviour:
Giant: 0200000005000000
AchivePreId: 304
- WonderLibraryID: 4
Name: "\u963F\u5E03\u8F9B\u8D1D\u5927\u795E\u5E99"
Desc: power
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"
@ -150,6 +161,8 @@ MonoBehaviour:
Giant: 0200000005000000
AchivePreId: 305
- WonderLibraryID: 5
Name: "\u72EE\u8EAB\u4EBA\u9762\u50CF"
Desc: park
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"
@ -169,6 +182,8 @@ MonoBehaviour:
Giant: 0200000005000000
AchivePreId: 306
- WonderLibraryID: 6
Name: "\u5965\u91CC\u897F\u65AF\u795E\u5E99"
Desc: eye
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"

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,16 @@
%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: 2e6227138b3626a419cba5ba5414c1d6, type: 3}
m_Name: ColorDataAssets
m_EditorClassIdentifier:
CommonUITextColor: {r: 0.21960784, g: 0.3019608, b: 0.007843138, a: 1}
CommonUITextColorGray: {r: 0.79607844, g: 0.79607844, b: 0.79607844, a: 1}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b9a69c8cd4d11844dadd4d5aac2367c1
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -55,6 +55,8 @@ MonoBehaviour:
AchivePreId: 205
LibraryWonderList:
- WonderLibraryID: 0
Name: 302
Desc: 1100
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"
@ -74,6 +76,8 @@ MonoBehaviour:
Giant: 0200000005000000
AchivePreId: 301
- WonderLibraryID: 1
Name: 268
Desc: 1101
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"
@ -93,6 +97,8 @@ MonoBehaviour:
Giant: 0200000005000000
AchivePreId: 302
- WonderLibraryID: 2
Name: 303
Desc: 1102
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"
@ -112,6 +118,8 @@ MonoBehaviour:
Giant: 0200000005000000
AchivePreId: 303
- WonderLibraryID: 3
Name: 304
Desc: 1103
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"
@ -131,6 +139,8 @@ MonoBehaviour:
Giant: 0200000005000000
AchivePreId: 304
- WonderLibraryID: 4
Name: 305
Desc: 1104
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"
@ -150,6 +160,8 @@ MonoBehaviour:
Giant: 0200000005000000
AchivePreId: 305
- WonderLibraryID: 5
Name: 306
Desc: 1105
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"
@ -169,6 +181,8 @@ MonoBehaviour:
Giant: 0200000005000000
AchivePreId: 306
- WonderLibraryID: 6
Name: 307
Desc: 1106
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"

View File

@ -6673,3 +6673,202 @@ MonoBehaviour:
EN:
JP:
KR:
- ID: 1075
ZH: "\u786E\u8BA4\u56DE\u5230\u4E3B\u83DC\u5355\uFF1F"
TDZH:
EN:
JP:
KR:
- ID: 1076
ZH: "\u6E38\u620F\u5C06\u4F1A\u81EA\u52A8\u4FDD\u5B58"
TDZH:
EN:
JP:
KR:
- ID: 1077
ZH: "\u62C9\u7F8E\u897F\u65AF\u5341\u4E16"
TDZH:
EN:
JP:
KR:
- ID: 1078
ZH: "\u767E\u95E8\u4E4B\u90FD"
TDZH:
EN:
JP:
KR:
- ID: 1079
ZH: "\u7D2F\u8BA1\u5EFA\u902020\u6B21"
TDZH:
EN:
JP:
KR:
- ID: 1080
ZH: "\u534F\u548C\u5E7F\u573A\u51FA\u5DEE"
TDZH:
EN:
JP:
KR:
- ID: 1081
ZH: "\u7D2F\u8BA1\u5EFA\u902030\u6B21"
TDZH:
EN:
JP:
KR:
- ID: 1082
ZH: "\u96C5\u5178\u5A1C\u7684\u5C45\u6240"
TDZH:
EN:
JP:
KR:
- ID: 1083
ZH: "\u4EBA\u53EF\u4EE5\u8D70,\u4E66\u7559\u4E0B"
TDZH:
EN:
JP:
KR:
- ID: 1084
ZH: "70\u4E07\u5377\u85CF\u4E66"
TDZH:
EN:
JP:
KR:
- ID: 1085
ZH: "\u666E\u5854\u521B\u4E16"
TDZH:
EN:
JP:
KR:
- ID: 1086
ZH: "\u4E16\u754C\u4E4B\u95E8"
TDZH:
EN:
JP:
KR:
- ID: 1087
ZH: "\u62FF\u7834\u4ED1\u7684\u9057\u61BE"
TDZH:
EN:
JP:
KR:
- ID: 1088
ZH: "\u4E03\u5927\u5947\u8FF9\u7684\u552F\u4E00"
TDZH:
EN:
JP:
KR:
- ID: 1089
ZH: "\u5DE5\u7A0B\u5947\u8FF9"
TDZH:
EN:
JP:
KR:
- ID: 1090
ZH: "\u661F\u8FB0\u56DB\u65B9"
TDZH:
EN:
JP:
KR:
- ID: 1091
ZH: "\u52AA\u6BD4\u4E9A\u4F60\u6015\u4E0D\u6015?"
TDZH:
EN:
JP:
KR:
- ID: 1092
ZH: "\u5C71\u95F4\u795E\u50CF"
TDZH:
EN:
JP:
KR:
- ID: 1093
ZH: "\u4E16\u754C\u9057\u4EA7\u4E4B\u6BCD"
TDZH:
EN:
JP:
KR:
- ID: 1094
ZH: "\u5C81\u6708\u892A\u8272"
TDZH:
EN:
JP:
KR:
- ID: 1095
ZH: "\u8C1C\u8BED\u5B88\u62A4\u8005"
TDZH:
EN:
JP:
KR:
- ID: 1096
ZH: "\u56FE\u7279\u6469\u65AF\u56DB\u4E16\u4E4B\u68A6"
TDZH:
EN:
JP:
KR:
- ID: 1097
ZH: "\u6C38\u6052\u7EFF\u6D32"
TDZH:
EN:
JP:
KR:
- ID: 1098
ZH: "\u51A5\u6CB3\u5165\u53E3"
TDZH:
EN:
JP:
KR:
- ID: 1099
ZH: "\u5F02\u661F\u7A7F\u8D8A"
TDZH:
EN:
JP:
KR:
- ID: 1100
ZH: peace
TDZH:
EN:
JP:
KR:
- ID: 1101
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
\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: 1102
ZH: trade
TDZH:
EN:
JP:
KR:
- ID: 1103
ZH: wealth
TDZH:
EN:
JP:
KR:
- ID: 1104
ZH: power
TDZH:
EN:
JP:
KR:
- ID: 1105
ZH: park
TDZH:
EN:
JP:
KR:
- ID: 1106
ZH: eye
TDZH:
EN:
JP:
KR:
- ID: 1107
ZH: "\u5962\u4F88\u54C1"
TDZH:
EN:
JP:
KR:

View File

@ -9,6 +9,9 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 2418492711324149947}
- component: {fileID: 945467194625107411}
- component: {fileID: 294528820017412964}
- component: {fileID: 569421918815314142}
m_Layer: 5
m_Name: LibraryWonderItem
m_TagString: Untagged
@ -33,9 +36,91 @@ RectTransform:
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: 120, y: 100}
m_AnchoredPosition: {x: -1.4022217, y: -45.6344}
m_SizeDelta: {x: 117.1957, y: 191.2688}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &945467194625107411
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1358657279424193719}
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: 0}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!222 &294528820017412964
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1358657279424193719}
m_CullTransparentMesh: 1
--- !u!114 &569421918815314142
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1358657279424193719}
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 &1579749780297409886
GameObject:
m_ObjectHideFlags: 0
@ -95,7 +180,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
@ -235,7 +320,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
@ -251,140 +336,6 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &3798604079713007527
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1725093818341520726}
- component: {fileID: 1737413961197624801}
- component: {fileID: 8179010872290916654}
m_Layer: 5
m_Name: TribeText
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &1725093818341520726
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3798604079713007527}
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: 429213986256340611}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: -8}
m_SizeDelta: {x: 200, y: 50}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1737413961197624801
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3798604079713007527}
m_CullTransparentMesh: 1
--- !u!114 &8179010872290916654
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3798604079713007527}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "\u7EA2\u9B54\u9986"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f74d73acde897024090a352531df919f, type: 2}
m_sharedMaterial: {fileID: -5194638153132371293, guid: f74d73acde897024090a352531df919f, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4278190080
m_fontColor: {r: 0, g: 0, b: 0, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 36
m_fontSizeBase: 36
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &3861679088023107081
GameObject:
m_ObjectHideFlags: 0
@ -444,7 +395,82 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.73333335, g: 0.85882354, b: 0.050980393, a: 1}
m_RaycastTarget: 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: 456df2002119cef408d4f82287de1f2a, type: 3}
m_Type: 1
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 &4399475162893967311
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7806753131093912857}
- component: {fileID: 1286948791293575240}
- component: {fileID: 4101326504220166424}
m_Layer: 5
m_Name: Selected
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &7806753131093912857
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4399475162893967311}
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: 429213986256340611}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -0.874, y: 11.2}
m_SizeDelta: {x: 160, y: 250}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1286948791293575240
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4399475162893967311}
m_CullTransparentMesh: 1
--- !u!114 &4101326504220166424
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4399475162893967311}
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.73333335, g: 0.39607844, b: 0.2509804, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
@ -489,15 +515,14 @@ RectTransform:
m_ConstrainProportionsScale: 1
m_Children:
- {fileID: 1861279282037163987}
- {fileID: 7806753131093912857}
- {fileID: 283681964489439944}
- {fileID: 2024029073030110900}
- {fileID: 1725093818341520726}
- {fileID: 5822195677756778337}
m_Father: {fileID: 2418492711324149947}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: -59}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 60, y: -109}
m_SizeDelta: {x: 200, y: 250}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &5575581158553697703
@ -559,7 +584,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
@ -575,81 +600,6 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &5955487474364089732
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2024029073030110900}
- component: {fileID: 4206939938797994488}
- component: {fileID: 7607812678011314858}
m_Layer: 5
m_Name: TextBack
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &2024029073030110900
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5955487474364089732}
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: 429213986256340611}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: -8.999992}
m_SizeDelta: {x: 150, y: 50}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4206939938797994488
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5955487474364089732}
m_CullTransparentMesh: 1
--- !u!114 &7607812678011314858
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5955487474364089732}
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.6666667}
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 &6934297123711287960
GameObject:
m_ObjectHideFlags: 0
@ -709,7 +659,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
@ -787,7 +737,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
@ -875,7 +825,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:

View File

@ -216,7 +216,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.073765405, g: 0.4867924, b: 0, a: 0.69803923}
m_Color: {r: 0.7056604, g: 0, b: 0.026079278, a: 0.69803923}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
@ -224,15 +224,15 @@ MonoBehaviour:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_Type: 1
m_PreserveAspect: 1
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
m_PixelsPerUnitMultiplier: 50
--- !u!114 &8185149114500021324
MonoBehaviour:
m_ObjectHideFlags: 0
@ -2963,15 +2963,15 @@ RectTransform:
m_GameObject: {fileID: 3370873084743634896}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1.5, y: 1.5, z: 1.5}
m_LocalScale: {x: 0.4, y: 0.4, z: 0.4}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 3648716934447262115}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 2.25, y: -0.7}
m_SizeDelta: {x: 1.5, y: 1}
m_AnchoredPosition: {x: 3.649994, y: -0.7}
m_SizeDelta: {x: 2.5, y: 1}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!212 &8997937389926168422
SpriteRenderer:
@ -3014,15 +3014,15 @@ SpriteRenderer:
m_SortingLayerID: -1091627757
m_SortingLayer: 4
m_SortingOrder: 1
m_Sprite: {fileID: 4959908839700188340, guid: 1a4fda8320cc2734ebf6392595a3f711, type: 3}
m_Sprite: {fileID: 21300000, guid: c128488a0c3d39d4e800dbd5e196ca40, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1.04, y: 0.4}
m_Size: {x: 4.88, y: 4.76}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &3598485619821367844
@ -6183,14 +6183,14 @@ RectTransform:
m_GameObject: {fileID: 7642051867991972412}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1.5, y: 1.5, z: 1.5}
m_LocalScale: {x: 0.4, y: 0.4, z: 0.4}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 3648716934447262115}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 0.75, y: -0.7}
m_AnchoredPosition: {x: 1.75, y: -0.7}
m_SizeDelta: {x: 1.5, y: 1}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!212 &6277866612769231561
@ -6234,15 +6234,15 @@ SpriteRenderer:
m_SortingLayerID: -1091627757
m_SortingLayer: 4
m_SortingOrder: 1
m_Sprite: {fileID: 21300000, guid: c86167faaf5000a46a9a56905e02aff8, type: 3}
m_Sprite: {fileID: 21300000, guid: db8e5bdf50e54ed47ae7ea7ef00b8997, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1.04, y: 0.4}
m_Size: {x: 4.88, y: 4.76}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &7700832997934716087

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using Logic.Action;
using UnityEngine;
[Serializable]
[CreateAssetMenu(fileName = "ColorDataAssets", menuName = "TH1 Game Data/Color Data Asset")]
public class ColorDataAssets : ScriptableObject
{
public Color CommonUITextColor;
public Color CommonUITextColorGray;
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 2e6227138b3626a419cba5ba5414c1d6
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -81,6 +81,8 @@ public class LibraryGiantData
public class LibraryWonderData
{
public WonderLibrary WonderLibraryID;
[MultilingualField] public string Name;
[MultilingualField] public string Desc;
[MultilingualField] public List<DiagList> Diags;
public int AchivePreId;//成就的前缀id
}

View File

@ -118,6 +118,8 @@ public class Table
public SkillDataAssets SkillDataAssets;
public HintDataAssets HintDataAssets;
public LibraryDataAssets LibraryDataAssets;
public ColorDataAssets ColorDataAssets;
//public AchievementAsset AchievementAsset;
@ -158,18 +160,23 @@ public class Table
{
Instance = this;
//加载assetsData
//多语言导表
TechDataAssets = Resources.Load<TechDataAssets>("Export/TechDataAssets");
ActionDataAssets = Resources.Load<ActionDataAssets>("Export/ActionDataAssets");
UnitTypeDataAssets = Resources.Load<UnitTypeDataAssets>("Export/UnitTypeDataAssets");
GridAndResourceDataAssets = Resources.Load<GridAndResourceDataAssets>("Export/GridAndResourceDataAssets");
GridAndResourceDataAssets.Init();
AnimDataAssets = Resources.Load<AnimDataAssets>("Export/AnimDataAssets");
UICenterMessageDataAssets = Resources.Load<UICenterMessageDataAssets>("Export/UICenterMessageDataAssets");
PlayerDataAssets = Resources.Load<PlayerDataAssets>("Export/PlayerDataAssets");
CivDataAssets = Resources.Load<CivDataAssets>("Export/CivDataAssets");
SkillDataAssets = Resources.Load<SkillDataAssets>("Export/SkillDataAssets");
HintDataAssets = Resources.Load<HintDataAssets>("Export/HintDataAssets");
LibraryDataAssets = Resources.Load<LibraryDataAssets>("Export/LibraryDataAssets");
//不用导表
AnimDataAssets = Resources.Load<AnimDataAssets>("DataAssets/AnimDataAssets");
ColorDataAssets = Resources.Load<ColorDataAssets>("DataAssets/ColorDataAssets");
//AchievementAsset = Resources.Load<AchievementAsset>("Export/AchievementAsset");
}
@ -314,7 +321,7 @@ public class Table
if (t.Resource == ResourceType.CityCenter)
ret[0] = "村庄";
if (t.Resource == ResourceType.Metal)
ret[0] = "山脉(矿石)";
ret[0] = "山脉";
if (t.Resource == ResourceType.Crop)
ret[0] = "庄稼";
if (t.Resource == ResourceType.Mine)

View File

@ -80,7 +80,8 @@ namespace Logic.Achievement
public abstract AchievementConditionType GetConditionType();
public abstract void ClearCache();
public abstract bool CheckCondition(AchievementItem item, MapData map);
public virtual void ClearUserData() { }
public virtual void OnTurnStart(MapData map, PlayerData player)
{
@ -143,6 +144,11 @@ namespace Logic.Achievement
}
public override void ClearUserData()
{
TrainCount = 0;
}
public override bool CheckCondition(AchievementItem item, MapData map)
{
return TrainCount >= TargetCount;

View File

@ -7,7 +7,9 @@
using System.Collections.Generic;
using System.IO;
using Logic.Achievement;
using Logic.Multilingual;
using NUnit.Framework;
using RuntimeData;
using UnityEditor;
@ -92,17 +94,27 @@ namespace Logic.Editor
AssetDatabase.Refresh();
}
if (InspectorUtils.InspectorButtonWithTextWidth("清空"))
/*if (InspectorUtils.InspectorButtonWithTextWidth("清空"))
{
foreach (var item in _itemList)
{
_asset.Data.AchievementList.Remove(item);
}
}
if (Application.isPlaying && InspectorUtils.InspectorButtonWithTextWidth("清空成就完成情况(运行时)"))
}*/
/*
1 2 ,json数据33json存玩家的成就完成情况3json污染了1的json1json
if (InspectorUtils.InspectorButtonWithTextWidth("玩家成就情况清零"))
{
AchievementDataManager.Instance.Achievement.ClearAchievementFinishedInfo();
AchievementDataManager.Instance.SaveAchievementData();
foreach (var item in _asset.Data.AchievementList)
{
foreach(var cond in item.Conditions)
cond.ClearUserData();
}
}*/
if (InspectorUtils.InspectorButtonWithTextWidth("清空成就完成情况"))
{
string path = Application.persistentDataPath + "/achievement.json";
if (File.Exists(path))File.Delete(path);
}
if (_bigID != 0 && _smallID != 0)
{
@ -115,6 +127,17 @@ namespace Logic.Editor
{
_asset.Data.AchievementList.Sort((a, b) => a.ID.CompareTo(b.ID));
}
/*
json信息导回1用的使1json数据被3污染
if (Application.isPlaying && InspectorUtils.InspectorButtonWithTextWidth("json导回本地"))
{
_asset.Data = AchievementDataManager.Instance.Achievement;
foreach (var item in _asset.Data.AchievementList)
{
item.Name = MultilingualManager.Instance.GetMultilingualText(uint.Parse(item.Name));
item.Desc = MultilingualManager.Instance.GetMultilingualText(uint.Parse(item.Desc));
}
}*/
if (InspectorUtils.InspectorButtonWithTextWidth("全选"))
{
var keys = new List<uint>();

View File

@ -1,6 +1,8 @@
using UnityEngine;
using Animancer;
using UnityEngine;
using Logic;
using RuntimeData;
using TH1Resource;
using UnityEngine.UI;
using Unity.VisualScripting;
using UnityEditor;
@ -14,6 +16,7 @@ public class BottomBarUI
public Button TechTreeButton;
public Button NextTurnButton;
public Button MessageButton; // ← 新增按钮字段
public Transform QuitHint;
private Main _main;
private MapData _mapData;
@ -36,6 +39,7 @@ public class BottomBarUI
SettingsButton = ROBottomBarUI.transform.Find("SettingsButton").GetComponent<Button>();
QuitButton = ROBottomBarUI.transform.Find("QuitButton").GetComponent<Button>();
QuitHint = ROBottomBarUI.transform.Find("QuitHint");
GameStatsButton = ROBottomBarUI.transform.Find("GameStatsButton").GetComponent<Button>();
TechTreeButton = ROBottomBarUI.transform.Find("TechTreeButton").GetComponent<Button>();
NextTurnButton = ROBottomBarUI.transform.Find("NextTurnButton").GetComponent<Button>();
@ -43,6 +47,7 @@ public class BottomBarUI
SettingsButton.onClick.AddListener(OnSettingsClicked);
QuitButton.onClick.AddListener(OnQuitClicked);
QuitHintInit();
GameStatsButton.onClick.AddListener(OnRankingClicked);
TechTreeButton.onClick.AddListener(OnTechTreeClicked);
NextTurnButton.onClick.AddListener(OnNextTurnClicked);
@ -101,6 +106,28 @@ public class BottomBarUI
UIBottomBarStatus = status;
}
//quithint的初始化
private void QuitHintInit()
{
QuitHint.gameObject.SetActive(false);
QuitHint.Find("YesButton").GetComponent<Button>()?.onClick.AddListener(() =>
{
UIManager.Instance.GameUI.MainUI.NeedShow = true;
_main.GameLogic.ChangeState(GameState.Menu);
});
QuitHint.Find("NoButton").GetComponent<Button>()?.onClick.AddListener(() =>
{
var anim = QuitHint.GetComponent<AnimancerComponent>();
if (anim != null)
anim.Play(ResourceCache.Instance.AnimCache.UICommonPanelFadeOut);
Timer.Instance.TimerRegister(this, () =>
{
QuitHint.gameObject.SetActive(false);
},ResourceCache.Instance.AnimCache.UICommonPanelFadeOut.length);
});
}
// 按钮点击事件
private void OnSettingsClicked()
{
@ -109,8 +136,10 @@ public class BottomBarUI
private void OnQuitClicked()
{
UIManager.Instance.GameUI.MainUI.NeedShow = true;
_main.GameLogic.ChangeState(GameState.Menu);
var anim = QuitHint.GetComponent<AnimancerComponent>();
if (!anim) return;
QuitHint.gameObject.SetActive(true);
anim.Play(ResourceCache.Instance.AnimCache.UICommonPanelFadeIn);
}
private void OnRankingClicked()

View File

@ -0,0 +1,14 @@
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using System.Collections;
using Logic.CrashSight;
namespace UI.Common
{
public abstract class CommonUI
{
public Transform UI;
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 91686b38358103242910c9302e0b47f5
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -15,12 +15,12 @@ namespace UI.LibraryUI
public class LibraryGiantUI : LibrarySubUIBase
{
public GiantType GiantSelected;
public LibraryGiantUI(LibrarySubUIType type,Button enterButton, GameObject panel) : base(type,enterButton,panel)
public LibraryGiantUI(LibrarySubUIType type,Button enterButton, GameObject panel,LibraryUI libraryUI) : base(type,enterButton,panel,libraryUI)
{
}
//更新listpanel的信息
public override void UpdateListPanel()
protected override void UpdateListPanel()
{
var table = ListPanel.transform.Find("Scroll View/Viewport/Content");
@ -94,10 +94,10 @@ namespace UI.LibraryUI
GiantType.EgyptianPatchouli => 2,
_ => 1
};
for (uint k = 0; k < 3; k++)
for (uint k = 1; k <= 3; k++)
{
//star坑位
var star = slot.Find($"Stars/Star{k + 1}")?.GetComponent<Image>();
var star = slot.Find($"Stars/Star{k}")?.GetComponent<Image>();
bool finished = AchievementDataManager.Instance.IsFinished(2, smallid, k);
if (star != null)
star.sprite = finished ? ResourceCache.Instance.SpriteCache.AchievementStar : ResourceCache.Instance.SpriteCache.AchievementStarGray ;
@ -114,7 +114,7 @@ namespace UI.LibraryUI
}
public void GiantListItemOnClick(Transform selected, GiantType giant)
private void GiantListItemOnClick(Transform selected, GiantType giant)
{
//消除之前选中对象的红圈,换成当前这个
SelectedListItem?.Find("TribeIconMask/Selected")?.gameObject.SetActive(false);
@ -132,7 +132,7 @@ namespace UI.LibraryUI
}
//更新infopanel的信息
public override void UpdateInfoPanel()
protected override void UpdateInfoPanel()
{
var giant = GiantSelected;
@ -171,20 +171,24 @@ namespace UI.LibraryUI
GiantType.EgyptianPatchouli => 2,
_ => 1
};
for (uint i = 0; i < 3; i++)
for (uint i = 1; i <= 3; i++)
{
//star坑位
var star = info.Find($"Info3/Star{i + 1}/Star")?.GetComponent<Image>();
var star = info.Find($"Info3/Star{i}/Star")?.GetComponent<Image>();
//成就标题star坑位
var title = info.Find($"Info3/Star{i + 1}/Title")?.GetComponent<TextMeshProUGUI>();
var title = info.Find($"Info3/Star{i}/Title")?.GetComponent<TextMeshProUGUI>();
//成就描述star坑位
var desc = info.Find($"Info3/Star{i + 1}/Desc")?.GetComponent<TextMeshProUGUI>();
var desc = info.Find($"Info3/Star{i}/Desc")?.GetComponent<TextMeshProUGUI>();
var infoData = AchievementDataManager.Instance.Achievement.GetAchievementItem(bigid, smallid, i + 1);
var infoData = AchievementDataManager.Instance.Achievement.GetAchievementItem(bigid, smallid, i);
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(title != null)
title.color = finished ? Table.Instance.ColorDataAssets.CommonUITextColor : Table.Instance.ColorDataAssets.CommonUITextColorGray ;
if(desc != null)
desc.color = finished ? Table.Instance.ColorDataAssets.CommonUITextColor : Table.Instance.ColorDataAssets.CommonUITextColorGray ;
if (star != null)
star.sprite = finished ? ResourceCache.Instance.SpriteCache.AchievementStar : ResourceCache.Instance.SpriteCache.AchievementStarGray ;
@ -192,28 +196,22 @@ namespace UI.LibraryUI
}
public override void SwitchTo(LibraryUI libraryUI)
//SwitchTo
public override void Show()
{
if (IsShowing) return;
var dict = libraryUI.SubUIDict;
foreach (var otherPanelPair in dict)
if(otherPanelPair.Value.IsShowing)
otherPanelPair.Value.ClosePanel(libraryUI);
UpdateListPanel();
SetDefaultItem();
UpdateInfoPanel();
OpenPanel();
}
InitBeforeSwitchTo();
Timer.Instance.TimerRegister(Panel, () =>
{
OpenPanel(libraryUI);
}, ResourceCache.Instance.AnimCache.UICommonPanelFadeOut.length);
public override void Hide()
{
ClosePanel();
}
//每个subpanel都有一个初始化函数如果切换到这个页面要进行一次初始化选择默认选择左上角的单位)
public override void InitBeforeSwitchTo()
protected override void SetDefaultItem()
{
if (ListTable == null) return;
DefaultListItem = ListTable.transform.GetChild(0).GetChild(0);
@ -221,7 +219,6 @@ namespace UI.LibraryUI
DefaultListItem?.Find("TribeIconMask/Selected")?.gameObject.SetActive(true);
SelectedListItem = DefaultListItem;
GiantSelected = GiantType.EgyptianRemilia;
UpdateInfoPanel();
}
}

View File

@ -5,6 +5,7 @@ using Logic.Multilingual;
using RuntimeData;
using TH1Resource;
using TMPro;
using TMPro.Examples;
using UnityEngine;
using UnityEngine.UI;
@ -13,10 +14,12 @@ namespace UI.LibraryUI
public enum LibrarySubUIType
{
None,
Force,
Giant,
Wonder,
Achievement
}
public abstract class LibrarySubUIBase
@ -31,60 +34,74 @@ namespace UI.LibraryUI
public GameObject InfoPanel;
public GameObject ListTable;
public GameObject ListDefault;
public LibraryUI LibraryUI;
//进入该panel的总开关
public Button EnterButton;
//记录当前是否正在展示
public bool IsShowing;
public bool IsSelectPanel;
//默认list选择的目标
public Transform SelectedListItem;
public Transform DefaultListItem;
protected LibrarySubUIBase(LibrarySubUIType type, Button enterButton,GameObject panel)
protected LibrarySubUIBase(LibrarySubUIType type, Button enterButton,GameObject panel,LibraryUI libraryUI)
{
LibraryUI = libraryUI;
EnterButton = enterButton;
Type = type;
Panel = panel;
ListPanel = panel.transform.Find("ListPanel").gameObject;
InfoPanel = panel.transform.Find("InfoPanel").gameObject;
ListTable = ListPanel.transform.Find("Scroll View/Viewport/Content").gameObject;
//EnterButton.onClick.AddListener(() => { UpdateListData();SwitchTo(LibrarySubUIDict); });
EnterButton.onClick.AddListener(() => { LibraryUI.SwitchToPanel(Type); });
}
//对外只有两个函数Show和Hide
public abstract void Show();
public abstract void Hide();
//更新listpanel的信息
public abstract void UpdateListPanel();
protected abstract void UpdateListPanel();
//更新infopanel的信息
public abstract void UpdateInfoPanel();
protected abstract void UpdateInfoPanel();
//switch到这个panel之前要做的初始化函数
public abstract void InitBeforeSwitchTo();
protected abstract void SetDefaultItem();
public abstract void SwitchTo(LibraryUI libraryUI);
public virtual void DeselectButton()
protected virtual void DeselectButton()
{
//设置文字alpha=64
var text = EnterButton.gameObject.transform.Find("Text")?.GetComponent<TextMeshProUGUI>();
if (text != null)
{
Color color = text.color;
color.a = 64;
color.a = 64 / 255f;
text.color = color;
}
//设置button颜色
var button = EnterButton.GetComponent<Image>();
if (button != null)
button.color = new Color(136/255f, 136/255f, 136/255f, 93 / 255f);
}
public virtual void SelectButton()
protected virtual void SelectButton()
{
//设置文字alpha=255
var text = EnterButton.gameObject.transform.Find("Text")?.GetComponent<TextMeshProUGUI>();
if (text != null)
{
Color color = text.color;
color.a = 255;
color.a = 1f;
text.color = color;
}
//设置button颜色
var button = EnterButton.GetComponent<Image>();
if (button != null)
button.color = new Color(1f, 1f, 1f, 1f);
}
public virtual void ClosePanel(LibraryUI libraryUI)
protected virtual void ClosePanel()
{
//topbar 的button要改为熄灭
DeselectButton();
@ -93,19 +110,21 @@ namespace UI.LibraryUI
var anim = Panel.GetComponent<AnimancerComponent>();
if (anim != null)
anim.Play(ResourceCache.Instance.AnimCache.UICommonPanelFadeOut);
IsShowing = false;
Timer.Instance.TimerRegister(this,()=>{Panel.SetActive(false);},ResourceCache.Instance.AnimCache.UICommonPanelFadeOut.length);
IsSelectPanel = false;
}
public virtual void OpenPanel(LibraryUI libraryUI)
protected virtual void OpenPanel()
{
//topbar的button要改为选中
SelectButton();
Panel.SetActive(true);
//panel要显示
var anim = Panel.GetComponent<AnimancerComponent>();
if (anim != null)
anim.Play(ResourceCache.Instance.AnimCache.UICommonPanelFadeIn);
libraryUI.SelectedSubUIType = Type;
IsShowing = true;
IsSelectPanel = true;
}
}
@ -121,12 +140,11 @@ namespace UI.LibraryUI
private bool _isShowing = false;
private bool _isAnimating = false;
//记录当前的panel之间是否正在互相切换
private bool _isSwitching = false;
public Dictionary<LibrarySubUIType, LibrarySubUIBase> SubUIDict = new();
public LibrarySubUIType SelectedSubUIType;
public LibrarySubUIType SelectedSubUIType = LibrarySubUIType.None;
public LibraryUI(Main main, MapData mapData)
{
@ -146,19 +164,47 @@ namespace UI.LibraryUI
public void Init()
{
//新建四个tabs对象
SubUIDict[LibrarySubUIType.Giant] = new LibraryGiantUI(LibrarySubUIType.Giant,ROLibraryUI.transform.Find("TopBar/Giant").GetComponent<Button>(), ROLibraryUI.transform.Find("Giant").gameObject);
SubUIDict[LibrarySubUIType.Giant] = new LibraryGiantUI(
LibrarySubUIType.Giant,ROLibraryUI.transform.Find("TopBar/Giant").GetComponent<Button>(),
ROLibraryUI.transform.Find("Giant").gameObject,this);
SubUIDict[LibrarySubUIType.Wonder] = new LibraryWonderUI(
LibrarySubUIType.Wonder,ROLibraryUI.transform.Find("TopBar/Wonder").GetComponent<Button>(),
ROLibraryUI.transform.Find("Wonder").gameObject,this);
//全部SetActiveFalse
ROLibraryUI.transform.Find("Giant").gameObject.SetActive(false);
ROLibraryUI.transform.Find("Wonder").gameObject.SetActive(false);
}
public void DataPrepareBeforeShow()
public void SwitchToPanel(LibrarySubUIType type)
{
//设置各种初始化值
SelectedSubUIType = LibrarySubUIType.Giant;
//更新默认panel giant页面的list情况
SubUIDict[LibrarySubUIType.Giant].UpdateListPanel();
//设置default选项
SubUIDict[LibrarySubUIType.Giant].InitBeforeSwitchTo();
//更新基于default的infopanel
SubUIDict[LibrarySubUIType.Giant].UpdateInfoPanel();
//如果正在切换中return
if (_isSwitching) return;
//如果点击的就是当前展示的return
if (SelectedSubUIType == type) return;
_isSwitching = true;
//如果不是首次打开library
if (SelectedSubUIType != LibrarySubUIType.None)
{
//先关闭目前打开的panel
SubUIDict[SelectedSubUIType].Hide();
//再打开当前选中的panel
Timer.Instance.TimerRegister(this, () =>
{
SubUIDict[type].Show();
SelectedSubUIType = type;
_isSwitching = false;
},ResourceCache.Instance.AnimCache.UICommonPanelFadeIn.length);
}
//如果是首次打开library
else
{
SubUIDict[type].Show();
SelectedSubUIType = type;
_isSwitching = false;
}
}
public void Update()
@ -185,7 +231,10 @@ namespace UI.LibraryUI
var animancer = ROLibraryUI.GetComponent<AnimancerComponent>();
var fadeIn = ResourceCache.Instance.AnimCache.UICommonPanelFadeIn;
DataPrepareBeforeShow();
//初始默认打开giant界面
SwitchToPanel(LibrarySubUIType.Giant);
animancer.Play(fadeIn);
Timer.Instance.TimerRegister(ROLibraryUI, () =>

View File

@ -0,0 +1,225 @@
using UnityEngine;
using Logic;
using RuntimeData;
using Animancer;
using UnityEngine.UI;
using System.Collections.Generic;
using System.Net;
using Logic.Multilingual;
using TH1Resource;
using TMPro;
using Unity.VisualScripting;
namespace UI.LibraryUI
{
public class LibraryWonderUI : LibrarySubUIBase
{
public WonderLibrary WonderSelected;
public LibraryWonderUI(LibrarySubUIType type,Button enterButton, GameObject panel,LibraryUI libraryUI) : base(type,enterButton,panel,libraryUI)
{
}
//更新listpanel的信息
protected override void UpdateListPanel()
{
var table = ListPanel.transform.Find("Scroll View/Viewport/Content");
//构造needList需要展示的giant list
int needCount = 7;
var needList = new List<WonderLibrary>();
needList.Add(WonderLibrary.EgyptianRemiliaPEACE);
needList.Add(WonderLibrary.EgyptianRemiliaKNOWLEDGE);
needList.Add(WonderLibrary.EgyptianRemiliaTRADE);
needList.Add(WonderLibrary.EgyptianRemiliaWEALTH);
needList.Add(WonderLibrary.EgyptianRemiliaPOWER);
needList.Add(WonderLibrary.EgyptianRemiliaPARK);
needList.Add(WonderLibrary.EgyptianRemiliaEYE);
//col=4 一行有4个item
int col = 4;
//根据需要展示的情况确定table下的显示位置够不够多的setactive false少的clone
int hasCount = table.childCount * col;
//如果坑位少于需要展示的数量,增加坑位
var sampleRow = table.Find("SampleRow");
while (hasCount < needCount)
{
GameObject.Instantiate(sampleRow, table);
hasCount += col;
}
//将最后一行多出来的坑位setactive false
int lastCount = needCount;
while (lastCount < hasCount)
{
table.GetChild(lastCount / col).GetChild(lastCount % col).gameObject.SetActive(false);
lastCount++;
}
//总计的成就星星数量
int allStar = 0;
//设置每一个wonder
for(int i = 0;i < needList.Count; i++)
{
var wonder = needList[i];
if(!Table.Instance.GridAndResourceDataAssets.GetWonderInfo( wonder, out var wonderInfo))continue;
//更换sprite
if (table.GetChild(i / col) == null) continue;
var slot = table.GetChild( i / col).GetChild(i % col);
if (slot == null) continue;
slot.Find("Size/TribeIconMask/TribeIcon").GetComponent<Image>().sprite = wonderInfo.Sprite;
Button slotButton = slot.GetComponent<Button>();
if (slotButton == null)
slotButton = slot.gameObject.AddComponent<Button>();
// 移除旧的监听器,防止重复添加
slotButton.onClick.RemoveAllListeners();
// 添加新的监听器,使用 lambda 表达式捕获当前的 giant 变量
slotButton.onClick.AddListener(() =>
{
// 当按钮被点击时,调用 UpdateGiantInfoData 并传入对应的 GiantType
WonderListItemOnClick(slot,wonder);
});
//处理成就星星的显示
uint bigid = 3;
uint smallid = wonder switch
{
WonderLibrary.EgyptianRemiliaPEACE => 1,
WonderLibrary.EgyptianRemiliaKNOWLEDGE => 2,
WonderLibrary.EgyptianRemiliaTRADE => 3,
WonderLibrary.EgyptianRemiliaWEALTH => 4,
WonderLibrary.EgyptianRemiliaPOWER => 5,
WonderLibrary.EgyptianRemiliaPARK => 6,
_ => 7
};
for (uint k = 1; k <= 3; k++)
{
//star坑位
var star = slot.Find($"Stars/Star{k}")?.GetComponent<Image>();
bool finished = AchievementDataManager.Instance.IsFinished(2, smallid, k);
if (star != null)
star.sprite = finished ? ResourceCache.Instance.SpriteCache.AchievementStar : ResourceCache.Instance.SpriteCache.AchievementStarGray ;
if (finished) allStar++;
}
}
//设置总成就星星数量的显示
var textUI = ListPanel.transform.Find("TitleBar/StarCount/Text")?.GetComponent<TextMeshProUGUI>();
if (textUI != null)
textUI.text = allStar.ToString() + " / " + (needCount * 3).ToString();
}
private void WonderListItemOnClick(Transform selected, WonderLibrary wonder)
{
//消除之前选中对象的红圈,换成当前这个
SelectedListItem?.Find("Size/Selected")?.gameObject.SetActive(false);
selected.Find("Size/Selected")?.gameObject.SetActive(true);
SelectedListItem = selected;
WonderSelected = wonder;
InfoPanel.GetComponent<AnimancerComponent>()?.Play(ResourceCache.Instance.AnimCache.UICommonPanelFadeOut);
Timer.Instance.TimerRegister(this, () =>
{
UpdateInfoPanel();
InfoPanel.GetComponent<AnimancerComponent>()?.Play(ResourceCache.Instance.AnimCache.UICommonPanelFadeIn);
},ResourceCache.Instance.AnimCache.UICommonPanelFadeOut.length);
}
//更新infopanel的信息
protected override void UpdateInfoPanel()
{
var wonder = WonderSelected;
if (!Table.Instance.GridAndResourceDataAssets.GetWonderInfo(wonder, out var wonderInfo)) return;
if (!Table.Instance.LibraryDataAssets.GetLibraryInfoByWonder(wonder, out var libraryInfo)) return;
if (!Table.Instance.PlayerDataAssets.GetPlayerInfoByCivId(wonderInfo.CivId,wonderInfo.ForceId, out var playerInfo)) return;
var image = InfoPanel.transform.Find("WonderImage/Wonder");
var info = InfoPanel.transform.Find("WonderInfo");
//设置立绘
image.GetComponent<Image>().sprite = wonderInfo.Sprite;
//设置角色名称
MultilingualManager.Instance.SetUIText(InfoPanel.transform.Find("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 = 3;
uint smallid = wonder switch
{
WonderLibrary.EgyptianRemiliaPEACE => 1,
WonderLibrary.EgyptianRemiliaKNOWLEDGE => 2,
WonderLibrary.EgyptianRemiliaTRADE => 3,
WonderLibrary.EgyptianRemiliaWEALTH => 4,
WonderLibrary.EgyptianRemiliaPOWER => 5,
WonderLibrary.EgyptianRemiliaPARK => 6,
_ => 7
};
for (uint i = 1; i <= 3; i++)
{
//star坑位
var star = info.Find($"Info3/Star{i}/Star")?.GetComponent<Image>();
//成就标题star坑位
var title = info.Find($"Info3/Star{i}/Title")?.GetComponent<TextMeshProUGUI>();
//成就描述star坑位
var desc = info.Find($"Info3/Star{i}/Desc")?.GetComponent<TextMeshProUGUI>();
var infoData = AchievementDataManager.Instance.Achievement.GetAchievementItem(bigid, smallid, i);
Debug.Log(bigid + " " + smallid + " " +i);
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(title != null)
title.color = finished ? Table.Instance.ColorDataAssets.CommonUITextColor : Table.Instance.ColorDataAssets.CommonUITextColorGray ;
if(desc != null)
desc.color = finished ? Table.Instance.ColorDataAssets.CommonUITextColor : Table.Instance.ColorDataAssets.CommonUITextColorGray ;
if (star != null)
star.sprite = finished ? ResourceCache.Instance.SpriteCache.AchievementStar : ResourceCache.Instance.SpriteCache.AchievementStarGray ;
}
}
//SwitchTo
public override void Show()
{
UpdateListPanel();
SetDefaultItem();
UpdateInfoPanel();
OpenPanel();
}
public override void Hide()
{
ClosePanel();
}
//每个subpanel都有一个初始化函数如果切换到这个页面要进行一次初始化选择默认选择左上角的单位)
protected override void SetDefaultItem()
{
if (ListTable == null) return;
DefaultListItem = ListTable.transform.GetChild(0).GetChild(0);
SelectedListItem?.Find("Size/Selected")?.gameObject.SetActive(false);
DefaultListItem?.Find("Size/Selected")?.gameObject.SetActive(true);
SelectedListItem = DefaultListItem;
WonderSelected = WonderLibrary.EgyptianRemiliaPEACE;
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 5789a75dd5e380e4bb5ab3913b157cdc
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -41,7 +41,7 @@ public class TopBarUI
public void ShowTurnHint()
{
var anim = ROTurnHint.GetComponent<AnimancerComponent>();
var anim = ROTurnHint.transform.Find("Text").GetComponent<AnimancerComponent>();
if (anim == null) return;
ROTurnHint.SetActive(true);
anim.Play(ResourceCache.Instance.AnimCache.UICommonPanelFadeIn);

Binary file not shown.

View File

@ -99,4 +99,4 @@ 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}回合%$#@!%$#@!%$#@!%$#@!!@#$%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%$#@!荷鲁斯的复仇%$#@!%$#@!%$#@!%$#@!!@#$%
在游戏中,作为<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%$#@!荷鲁斯的复仇%$#@!%$#@!%$#@!%$#@!!@#$%1075%$#@!确认回到主菜单?%$#@!%$#@!%$#@!%$#@!!@#$%1076%$#@!游戏将会自动保存%$#@!%$#@!%$#@!%$#@!!@#$%1077%$#@!拉美西斯十世%$#@!%$#@!%$#@!%$#@!!@#$%1078%$#@!百门之都%$#@!%$#@!%$#@!%$#@!!@#$%1079%$#@!累计建造20次%$#@!%$#@!%$#@!%$#@!!@#$%1080%$#@!协和广场出差%$#@!%$#@!%$#@!%$#@!!@#$%1081%$#@!累计建造30次%$#@!%$#@!%$#@!%$#@!!@#$%1082%$#@!雅典娜的居所%$#@!%$#@!%$#@!%$#@!!@#$%1083%$#@!人可以走,书留下%$#@!%$#@!%$#@!%$#@!!@#$%1084%$#@!70万卷藏书%$#@!%$#@!%$#@!%$#@!!@#$%1085%$#@!普塔创世%$#@!%$#@!%$#@!%$#@!!@#$%1086%$#@!世界之门%$#@!%$#@!%$#@!%$#@!!@#$%1087%$#@!拿破仑的遗憾%$#@!%$#@!%$#@!%$#@!!@#$%1088%$#@!七大奇迹的唯一%$#@!%$#@!%$#@!%$#@!!@#$%1089%$#@!工程奇迹%$#@!%$#@!%$#@!%$#@!!@#$%1090%$#@!星辰四方%$#@!%$#@!%$#@!%$#@!!@#$%1091%$#@!努比亚你怕不怕?%$#@!%$#@!%$#@!%$#@!!@#$%1092%$#@!山间神像%$#@!%$#@!%$#@!%$#@!!@#$%1093%$#@!世界遗产之母%$#@!%$#@!%$#@!%$#@!!@#$%1094%$#@!岁月褪色%$#@!%$#@!%$#@!%$#@!!@#$%1095%$#@!谜语守护者%$#@!%$#@!%$#@!%$#@!!@#$%1096%$#@!图特摩斯四世之梦%$#@!%$#@!%$#@!%$#@!!@#$%1097%$#@!永恒绿洲%$#@!%$#@!%$#@!%$#@!!@#$%1098%$#@!冥河入口%$#@!%$#@!%$#@!%$#@!!@#$%1099%$#@!异星穿越%$#@!%$#@!%$#@!%$#@!!@#$%1100%$#@!peace%$#@!%$#@!%$#@!%$#@!!@#$%1101%$#@!古代世界最大、最著名的图书馆,建于托勒密王朝时期的埃及,旨在收藏天下所有知识。后因战火与政治动荡多次焚毁。 在游戏中,作为<color=red>知识类奇观</color>解锁全部科后即可获得提供3点城市经验。%$#@!%$#@!%$#@!%$#@!!@#$%1102%$#@!trade%$#@!%$#@!%$#@!%$#@!!@#$%1103%$#@!wealth%$#@!%$#@!%$#@!%$#@!!@#$%1104%$#@!power%$#@!%$#@!%$#@!%$#@!!@#$%1105%$#@!park%$#@!%$#@!%$#@!%$#@!!@#$%1106%$#@!eye%$#@!%$#@!%$#@!%$#@!!@#$%1107%$#@!奢侈品%$#@!%$#@!%$#@!%$#@!!@#$%