V1.4基本完成

This commit is contained in:
kawagiri 2025-09-19 03:51:31 +08:00
parent b9419ca425
commit 20e56e6126
85 changed files with 7327 additions and 1832 deletions

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 144 KiB

After

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

View File

@ -0,0 +1,114 @@
fileFormatVersion: 2
guid: 34d4466f228db71468e4b219ae135625
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: 67 KiB

View File

@ -0,0 +1,114 @@
fileFormatVersion: 2
guid: 3754071631085024cb3c23a0e374a7cb
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: 39 KiB

View File

@ -0,0 +1,114 @@
fileFormatVersion: 2
guid: 4f5b433db23aa404684b226748ab887b
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: 54 KiB

View File

@ -0,0 +1,114 @@
fileFormatVersion: 2
guid: 927e8b816c6b3fa4db1fc3db86e740d7
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: 50 KiB

View File

@ -0,0 +1,114 @@
fileFormatVersion: 2
guid: da7aaea26e665b94ea16adafc771cdc4
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: 52 KiB

View File

@ -0,0 +1,114 @@
fileFormatVersion: 2
guid: 8e3befabad1643048a23922671d569a8
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: 46 KiB

View File

@ -0,0 +1,114 @@
fileFormatVersion: 2
guid: 2f22b2c7acb8aa141a91546c38f09789
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: 43 KiB

View File

@ -0,0 +1,114 @@
fileFormatVersion: 2
guid: 109ec6092f7a99f44b0470e2b156461f
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: 48 KiB

View File

@ -0,0 +1,114 @@
fileFormatVersion: 2
guid: 2604385a9abedac4dba420a479ca28ee
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: 72 KiB

View File

@ -0,0 +1,114 @@
fileFormatVersion: 2
guid: 3a4b87fcc77759747856a6839ad10c5f
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: 158 KiB

View File

@ -0,0 +1,114 @@
fileFormatVersion: 2
guid: 5c7c1475d54f2b8498986fb8e659771b
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: 9
spritePivot: {x: 0.5, y: 0.4}
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:

View File

@ -5779,3 +5779,33 @@ MonoBehaviour:
NoNeedTech: 0
SpriteSize: {x: 90, y: 90}
SpritePos: {x: 0, y: 15}
- ActionId:
ActionType: 6
WonderType: 0
ResourceType: 0
FeatureType: 0
TerrainType: 0
UnitType: 0
GiantType: 0
UnitLevel: 0
Vegetation: 0
UnitActionType: 12
CityLevelUpActionType: 0
GridMiscActionType: 0
SkillType: 0
TechType: 0
PlayerActionType: 0
ActionName: "\u84EC\u83B1\u6811\u6D77"
Desc: "\u4F7F\u5468\u56F41\u683C\u5185\u7684\u6240\u6709\u53CB\u519B\u83B7\u5F971\u5C42<color=yellow>\u6C38\u6052</color>\uFF0C\u6301\u7EED1\u56DE\u5408\u3002"
NeedTechDesc: 0
TechDesc:
NeedLockDesc: 0
LockDesc:
Icon: {fileID: 21300000, guid: eeebd9e7b8141594f8a0d22aebac543b, type: 3}
VarientIcon: 0
IconList: []
Cost: 0
CityExp: 0
NoNeedTech: 0
SpriteSize: {x: 90, y: 90}
SpritePos: {x: 0, y: 15}

View File

@ -1638,7 +1638,7 @@ MonoBehaviour:
- {fileID: 21300000, guid: 113b04d2344ed434fb16f4976603b63b, type: 3}
- {fileID: 21300000, guid: 113b04d2344ed434fb16f4976603b63b, type: 3}
- Resource: 29
Sprite: {fileID: 21300000, guid: b54f840b3fda45d4ebf73feb37505619, type: 3}
Sprite: {fileID: 21300000, guid: 7895455a857041843b93e9386e215067, type: 3}
ResourceName: "\u4F18\u6619\u534E\u5EAD\u9662{param}"
ResourceDesc: "\u6BCF2\u56DE\u5408\u5728\u9644\u8FD1\u7AF9\u6797\u4E2D\u5438\u5F15\u4E00\u53EA<color=yellow>\u5996\u602A\u5154</color>\u3002\u9644\u8FD1\u7684\u6BCF\u53EA<color=yellow>\u5996\u602A\u5154</color>\u63D0\u4F9B1\u56DE\u5408\u91D1\u5E01\u3002\u6BCF\u4E2A\u57CE\u5E02\u4EC5\u80FD\u5EFA\u9020\u4E00\u5EA7\u3002"
Exp: 0

View File

@ -19,6 +19,7 @@ MonoBehaviour:
ForceName: "\u65AF\u5361\u96F7\u7279\u5E1D\u56FD"
LeaderName: "\u857E\u7C73\u8389\u4E9A"
LeaderIllustration: {fileID: 21300000, guid: d4661e5af1f33b94ea56ac7d7b30b512, type: 3}
PopulationSprite: {fileID: 21300000, guid: 3754071631085024cb3c23a0e374a7cb, type: 3}
TechPool: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f000000100000001100000012000000130000001400000015000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e000000
TechStart: 0000000008000000
Color: {r: 0.7019608, g: 0.61960787, b: 0, a: 1}
@ -39,6 +40,7 @@ MonoBehaviour:
ForceName: "\u84EC\u83B1\u5C71\u5E1D\u56FD"
LeaderName: "\u84EC\u83B1\u5C71\u8F89\u591C"
LeaderIllustration: {fileID: 21300000, guid: e1ef5c5c40488ae40bbd2ed4cf35b89e, type: 3}
PopulationSprite: {fileID: 21300000, guid: 34d4466f228db71468e4b219ae135625, type: 3}
TechPool: 00000000010000000200000003000000040000000500000006000000070000000800000026000000090000000b0000000c0000000d00000025000000240000001f000000220000002000000023000000210000001500000016000000170000001800000019000000
TechStart: 000000001f000000
Color: {r: 0.050980393, g: 0.12941177, b: 0.41568628, a: 1}
@ -60,6 +62,7 @@ MonoBehaviour:
ForceName: "\u5B88\u77E2\u5E1D\u56FD"
LeaderName: "\u516B\u5742\u795E\u5948\u5B50"
LeaderIllustration: {fileID: 21300000, guid: 7b419554ffed25f4fa94a867715388e6, type: 3}
PopulationSprite: {fileID: 0}
TechPool: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f00000010000000110000001200000013000000140000001500000016000000170000001800000019000000
TechStart: 0000000010000000
Color: {r: 0.4686918, g: 0.48300567, b: 0.51572317, a: 1}
@ -87,6 +90,7 @@ MonoBehaviour:
ForceName: "\u53E4\u660E\u5730\u5E1D\u56FD"
LeaderName: "\u53E4\u660E\u5730\u89C9"
LeaderIllustration: {fileID: 21300000, guid: c31b7225b784dca488b6376ef5fe77d5, type: 3}
PopulationSprite: {fileID: 0}
TechPool: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f00000010000000110000001200000013000000140000001500000016000000170000001800000019000000
TechStart: 0000000012000000
Color: {r: 0, g: 0.47058824, b: 0.050980393, a: 1}
@ -106,6 +110,7 @@ MonoBehaviour:
ForceName: "\u535A\u4E3D\u5E1D\u56FD"
LeaderName: "\u535A\u4E3D\u7075\u68A6"
LeaderIllustration: {fileID: 21300000, guid: 8ef14f9211c1e5540b080b7d8f9cb6e9, type: 3}
PopulationSprite: {fileID: 0}
TechPool: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f00000010000000110000001200000013000000140000001500000016000000170000001800000019000000
TechStart: 0000000015000000
Color: {r: 0.5254902, g: 0.25882354, b: 0, a: 1}
@ -126,6 +131,7 @@ MonoBehaviour:
ForceName: "\u547D\u83B2\u5E1D\u56FD"
LeaderName: "\u5723\u767D\u83B2"
LeaderIllustration: {fileID: 21300000, guid: a6e968e60b79bbe40b49db7943b966cb, type: 3}
PopulationSprite: {fileID: 0}
TechPool: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f00000010000000110000001200000013000000140000001500000016000000170000001800000019000000
TechStart: 0000000012000000
Color: {r: 0.3019608, g: 0.5568628, b: 0.05490196, a: 1}
@ -151,6 +157,7 @@ MonoBehaviour:
ForceName: "\u4E30\u806A\u8033\u5E1D\u56FD"
LeaderName: "\u4E30\u806A\u8033\u795E\u5B50"
LeaderIllustration: {fileID: 21300000, guid: 5249c10ddd2faaf4cb799d1e53191a4b, type: 3}
PopulationSprite: {fileID: 0}
TechPool: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f00000010000000110000001200000013000000140000001500000016000000170000001800000019000000
TechStart: 0000000005000000
Color: {r: 0.62352943, g: 0.003921569, b: 0.7137255, a: 1}
@ -173,6 +180,7 @@ MonoBehaviour:
ForceName: "\u65E5\u767D\u5E1D\u56FD"
LeaderName: "\u65E5\u767D\u6B8B\u65E0"
LeaderIllustration: {fileID: 21300000, guid: d3cd7a4b168e60c4e91fd4abf02ebd9d, type: 3}
PopulationSprite: {fileID: 0}
TechPool: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f00000010000000110000001200000013000000140000001500000016000000170000001800000019000000
TechStart: 0000000013000000
Color: {r: 0, g: 0.61960787, b: 0.65882355, a: 1}

View File

@ -109,11 +109,11 @@ MonoBehaviour:
- SkillType: 12
SkillName:
SkillDesc: "<color=yellow>\u5DE1\u6D0B</color>:\u88AB\u52A8\u6280\u80FD\u3002\u62E5\u67092\u683C\u8DDD\u79BB\u89C6\u91CE\u3002"
HasShowList: 0
HasShowList: 1
SkillShowList:
- UnitFullType:
UnitType: 0
GiantType: 0
UnitType: 14
GiantType: 8
UnitLevel: 0
UnitType: 14
GiantType: 8
@ -121,7 +121,7 @@ MonoBehaviour:
IgnoreUnitGiantType: 0
IgnoreUnitLevel: 1
SkillDesc: "<color=yellow>\u77AD\u671B</color>\uFF1A\u62E5\u67092\u683C\u8DDD\u79BB\u7684\u89C6\u91CE"
SkillName:
SkillName: "\u77AD\u671B"
- SkillType: 13
SkillName:
SkillDesc: "<color=yellow>\u65E0\u6CD5\u5347\u7EA7</color>:\u88AB\u52A8\u6280\u80FD\u3002\u65E0\u6CD5\u901A\u8FC7\u51FB\u6740\u5355\u4F4D\u83B7\u5F97\u7ECF\u9A8C\u5E76\u5347\u7EA7\u3002"
@ -136,7 +136,7 @@ MonoBehaviour:
UnitLevel: 0
IgnoreUnitGiantType: 1
IgnoreUnitLevel: 1
SkillDesc: "<color=yellow>\u82F1\u96C4\u5347\u7EA7\u7CFB\u7EDF</color>\u9700\u901A\u8FC7\u5EFA\u9020<color=yellow>\u82F1\u96C4\u795E\u50CF</color>\u63D0\u5347<color=yellow>\u82F1\u96C4\u7ECF\u9A8C</color>\uFF0C\u4ECE\u800C\u63D0\u5347<color=yellow>\u82F1\u96C4\u7B49\u7EA7</color>\u3002"
SkillDesc: "<color=yellow>\u82F1\u96C4\u5347\u7EA7\u7CFB\u7EDF</color>\u4E0D\u9002\u7528\u666E\u901A\u7684\u5347\u7EA7\u6A21\u5F0F\uFF0C\u9700\u901A\u8FC7\u5B8C\u6210\u7279\u5B9A\u4EFB\u52A1\u5347\u7EA7\u82F1\u96C4\u3002"
SkillName:
- SkillType: 14
SkillName:
@ -599,3 +599,173 @@ MonoBehaviour:
IgnoreUnitLevel: 0
SkillDesc: "\u51E4\u7FFC\u5929\u7FD4"
SkillName: "<color=yellow>\u51E4\u7FFC\u5929\u7FD4</color>\u51B7\u5374\u65F6\u95F4\u7ED3\u675F\u540E\uFF0C\u82E5\u706B\u7130\u5B58\u6D3B\uFF0C\u5219\u59B9\u7EA2\u5728\u706B\u7130\u4F4D\u7F6E\u5904\u590D\u6D3B\uFF0C\u79FB\u901F+1\uFF0C\u653B\u51FB\u8303\u56F4+1\uFF0C\u6BCF\u56DE\u5408\u9996\u6B21\u51FB\u6740\u540E\u53EF\u518D\u8FDB\u884C\u4E00\u6B21\u653B\u51FB\u3002"
- SkillType: 98
SkillName: "\u6C38\u6052"
SkillDesc: "<color=yellow>\u4E0D\u6B7B\u9E1F\u91CD\u751F</color>\uFF1A\u51B7\u5374\u65F6\u95F4\u7ED3\u675F\u540E\uFF0C\u82E5\u706B\u7130\u5B58\u6D3B\uFF0C\u5219\u59B9\u7EA2\u5728\u706B\u7130\u4F4D\u7F6E\u5904\u590D\u6D3B\u3002"
HasShowList: 0
SkillShowList:
- UnitFullType:
UnitType: 0
GiantType: 0
UnitLevel: 0
UnitType: 14
GiantType: 10
UnitLevel: 2
IgnoreUnitGiantType: 0
IgnoreUnitLevel: 0
SkillDesc: "\u51E4\u7FFC\u5929\u7FD4"
SkillName: "<color=yellow>\u51E4\u7FFC\u5929\u7FD4</color>\u51B7\u5374\u65F6\u95F4\u7ED3\u675F\u540E\uFF0C\u82E5\u706B\u7130\u5B58\u6D3B\uFF0C\u5219\u59B9\u7EA2\u5728\u706B\u7130\u4F4D\u7F6E\u5904\u590D\u6D3B\uFF0C\u79FB\u901F+1\uFF0C\u653B\u51FB\u8303\u56F4+1\uFF0C\u6BCF\u56DE\u5408\u9996\u6B21\u51FB\u6740\u540E\u53EF\u518D\u8FDB\u884C\u4E00\u6B21\u653B\u51FB\u3002"
- UnitFullType:
UnitType: 0
GiantType: 0
UnitLevel: 0
UnitType: 14
GiantType: 10
UnitLevel: 3
IgnoreUnitGiantType: 0
IgnoreUnitLevel: 0
SkillDesc: "\u51E4\u7FFC\u5929\u7FD4"
SkillName: "<color=yellow>\u51E4\u7FFC\u5929\u7FD4</color>\u51B7\u5374\u65F6\u95F4\u7ED3\u675F\u540E\uFF0C\u82E5\u706B\u7130\u5B58\u6D3B\uFF0C\u5219\u59B9\u7EA2\u5728\u706B\u7130\u4F4D\u7F6E\u5904\u590D\u6D3B\uFF0C\u79FB\u901F+1\uFF0C\u653B\u51FB\u8303\u56F4+1\uFF0C\u6BCF\u56DE\u5408\u9996\u6B21\u51FB\u6740\u540E\u53EF\u518D\u8FDB\u884C\u4E00\u6B21\u653B\u51FB\u3002"
- SkillType: 93
SkillName: "\u4E0D\u6B7B\u9E1F\u91CD\u751F"
SkillDesc: "<color=yellow>\u4E0D\u6B7B\u9E1F\u91CD\u751F</color>\uFF1A\u51B7\u5374\u65F6\u95F4\u7ED3\u675F\u540E\uFF0C\u82E5\u706B\u7130\u5B58\u6D3B\uFF0C\u5219\u59B9\u7EA2\u5728\u706B\u7130\u4F4D\u7F6E\u5904\u590D\u6D3B\u3002"
HasShowList: 0
SkillShowList:
- UnitFullType:
UnitType: 0
GiantType: 0
UnitLevel: 0
UnitType: 14
GiantType: 10
UnitLevel: 2
IgnoreUnitGiantType: 0
IgnoreUnitLevel: 0
SkillDesc: "\u51E4\u7FFC\u5929\u7FD4"
SkillName: "<color=yellow>\u51E4\u7FFC\u5929\u7FD4</color>\u51B7\u5374\u65F6\u95F4\u7ED3\u675F\u540E\uFF0C\u82E5\u706B\u7130\u5B58\u6D3B\uFF0C\u5219\u59B9\u7EA2\u5728\u706B\u7130\u4F4D\u7F6E\u5904\u590D\u6D3B\uFF0C\u79FB\u901F+1\uFF0C\u653B\u51FB\u8303\u56F4+1\uFF0C\u6BCF\u56DE\u5408\u9996\u6B21\u51FB\u6740\u540E\u53EF\u518D\u8FDB\u884C\u4E00\u6B21\u653B\u51FB\u3002"
- UnitFullType:
UnitType: 0
GiantType: 0
UnitLevel: 0
UnitType: 14
GiantType: 10
UnitLevel: 3
IgnoreUnitGiantType: 0
IgnoreUnitLevel: 0
SkillDesc: "\u51E4\u7FFC\u5929\u7FD4"
SkillName: "<color=yellow>\u51E4\u7FFC\u5929\u7FD4</color>\u51B7\u5374\u65F6\u95F4\u7ED3\u675F\u540E\uFF0C\u82E5\u706B\u7130\u5B58\u6D3B\uFF0C\u5219\u59B9\u7EA2\u5728\u706B\u7130\u4F4D\u7F6E\u5904\u590D\u6D3B\uFF0C\u79FB\u901F+1\uFF0C\u653B\u51FB\u8303\u56F4+1\uFF0C\u6BCF\u56DE\u5408\u9996\u6B21\u51FB\u6740\u540E\u53EF\u518D\u8FDB\u884C\u4E00\u6B21\u653B\u51FB\u3002"
- SkillType: 102
SkillName: "\u5E7B\u89C6\u8C03\u7387"
SkillDesc: "\u88AB\u653B\u51FB\u540E\u7ACB\u523B\u6D88\u5931\u3002\u653B\u51FB\u65F6\u53EF\u4EE5\u89E6\u53D1\u88AB\u52A8\u6548\u679C\uFF0C\u4F46\u65E0\u6CD5\u9020\u6210\u5B9E\u9645\u4F24\u5BB3\u3002"
HasShowList: 0
SkillShowList: []
- SkillType: 105
SkillName: "\u72C2\u89C6\u8C03\u7387"
SkillDesc: "\u88AB\u653B\u51FB\u540E\u7ACB\u523B\u6D88\u5931\u3002\u653B\u51FB\u65F6\u53EF\u4EE5\u89E6\u53D1\u88AB\u52A8\u6548\u679C\uFF0C\u5B9E\u9645\u653B\u51FB\u529B\u51CF\u534A\u3002"
HasShowList: 0
SkillShowList: []
- SkillType: 103
SkillName: "\u5E7B\u89C6\u8C03\u7387"
SkillDesc: "\u51FB\u6740\u9646\u5730\u5355\u4F4D\u540E\u521B\u9020\u4E00\u4E2A<color=yellow>\u6708\u5154\u5E7B\u8C61</color>"
HasShowList: 0
SkillShowList: []
- SkillType: 104
SkillName: "\u5E7B\u60F3\u89C6\u5DEE"
SkillDesc: "\u5411\u76EE\u6807\u53D1\u8D77\u653B\u51FB\u524D\uFF0C\u6240\u6709\u9644\u8FD1\u7684\u6708\u5154\u5E7B\u8C61\u4F1A\u81EA\u52A8\u8FDB\u884C\u4E00\u8F6E\u5C04\u51FB\u3002"
HasShowList: 0
SkillShowList: []
- SkillType: 108
SkillName: "\u68EE\u6797\u51B2\u950B"
SkillDesc: "\u56DE\u5408\u5F00\u59CB\u65F6\u82E5\u5904\u68EE\u6797\u4E2D\uFF0C\u672C\u56DE\u5408\u9996\u6B21\u79FB\u52A8\u540E\u53EF\u989D\u5916\u8FDB\u884C\u4E00\u6B21\u653B\u51FB"
HasShowList: 1
SkillShowList:
- UnitFullType:
UnitType: 25
GiantType: 0
UnitLevel: 0
UnitType: 25
GiantType: 0
UnitLevel: 0
IgnoreUnitGiantType: 0
IgnoreUnitLevel: 0
SkillDesc: "\u72FC\u5F71"
SkillName: "\u56DE\u5408\u5F00\u59CB\u65F6\u82E5\u5904\u68EE\u6797\u4E2D\uFF0C\u672C\u56DE\u5408\u9996\u6B21\u79FB\u52A8\u540E\u53EF\u989D\u5916\u8FDB\u884C\u4E00\u6B21\u653B\u51FB"
- SkillType: 109
SkillName: "\u4EC5\u9646\u5730\u901A\u884C"
SkillDesc: "\u4EC5\u80FD\u5728\u9646\u5730\u901A\u884C\uFF0C\u4E0D\u53EF\u4E0B\u6E2F\u53E3"
HasShowList: 0
SkillShowList:
- UnitFullType:
UnitType: 25
GiantType: 0
UnitLevel: 0
UnitType: 25
GiantType: 0
UnitLevel: 0
IgnoreUnitGiantType: 0
IgnoreUnitLevel: 0
SkillDesc: "\u72FC\u5F71"
SkillName: "\u56DE\u5408\u5F00\u59CB\u65F6\u82E5\u5904\u68EE\u6797\u4E2D\uFF0C\u672C\u56DE\u5408\u9996\u6B21\u79FB\u52A8\u540E\u53EF\u989D\u5916\u8FDB\u884C\u4E00\u6B21\u653B\u51FB"
- SkillType: 85
SkillName: "\u7AF9\u6797\u6B3A\u8BC8\u5E08-\u9694\u5CB8\u89C2\u706B"
SkillDesc: "2\u683C\u8303\u56F4\u5185\u6709\u5355\u4F4D\u9635\u4EA1\u65F6\uFF0C\u83B7\u5F97\u7B49\u540C\u4E8E\u8BE5\u5355\u4F4D\u9020\u4EF7\u4E00\u534A\u7684\u91D1\u5E01"
HasShowList: 0
SkillShowList:
- UnitFullType:
UnitType: 25
GiantType: 0
UnitLevel: 0
UnitType: 25
GiantType: 0
UnitLevel: 0
IgnoreUnitGiantType: 0
IgnoreUnitLevel: 0
SkillDesc: "\u72FC\u5F71"
SkillName: "\u56DE\u5408\u5F00\u59CB\u65F6\u82E5\u5904\u68EE\u6797\u4E2D\uFF0C\u672C\u56DE\u5408\u9996\u6B21\u79FB\u52A8\u540E\u53EF\u989D\u5916\u8FDB\u884C\u4E00\u6B21\u653B\u51FB"
- SkillType: 86
SkillName: "\u7AF9\u6797\u6B3A\u8BC8\u5E08-\u8D81\u706B\u6253\u52AB"
SkillDesc: "1\u683C\u8303\u56F4\u5185\u6709\u5355\u4F4D\u53D7\u5230\u653B\u51FB\u65F6\u83B7\u5F971\u91D1\u5E01"
HasShowList: 0
SkillShowList:
- UnitFullType:
UnitType: 25
GiantType: 0
UnitLevel: 0
UnitType: 25
GiantType: 0
UnitLevel: 0
IgnoreUnitGiantType: 0
IgnoreUnitLevel: 0
SkillDesc: "\u72FC\u5F71"
SkillName: "\u56DE\u5408\u5F00\u59CB\u65F6\u82E5\u5904\u68EE\u6797\u4E2D\uFF0C\u672C\u56DE\u5408\u9996\u6B21\u79FB\u52A8\u540E\u53EF\u989D\u5916\u8FDB\u884C\u4E00\u6B21\u653B\u51FB"
- SkillType: 87
SkillName: "\u7AF9\u6797\u6B3A\u8BC8\u5E08-\u843D\u4E95\u4E0B\u77F3"
SkillDesc: "\u5B8C\u6210\u51FB\u6740\u65F6\u83B7\u5F97\u7B49\u540C\u4E8E\u8BE5\u5355\u4F4D\u9020\u4EF7\u7684\u91D1\u5E01"
HasShowList: 0
SkillShowList:
- UnitFullType:
UnitType: 25
GiantType: 0
UnitLevel: 0
UnitType: 25
GiantType: 0
UnitLevel: 0
IgnoreUnitGiantType: 0
IgnoreUnitLevel: 0
SkillDesc: "\u72FC\u5F71"
SkillName: "\u56DE\u5408\u5F00\u59CB\u65F6\u82E5\u5904\u68EE\u6797\u4E2D\uFF0C\u672C\u56DE\u5408\u9996\u6B21\u79FB\u52A8\u540E\u53EF\u989D\u5916\u8FDB\u884C\u4E00\u6B21\u653B\u51FB"
- SkillType: 84
SkillName: "\u5E78\u8FD0\u7684\u767D\u5154"
SkillDesc: "\u81EA\u52A8\u83B7\u5F974\u683C\u8303\u56F4\u5185\u7684\u6240\u6709\u5B9D\u85CF\u7684\u89C6\u91CE"
HasShowList: 0
SkillShowList:
- UnitFullType:
UnitType: 25
GiantType: 0
UnitLevel: 0
UnitType: 25
GiantType: 0
UnitLevel: 0
IgnoreUnitGiantType: 0
IgnoreUnitLevel: 0
SkillDesc: "\u72FC\u5F71"
SkillName: "\u56DE\u5408\u5F00\u59CB\u65F6\u82E5\u5904\u68EE\u6797\u4E2D\uFF0C\u672C\u56DE\u5408\u9996\u6B21\u79FB\u52A8\u540E\u53EF\u989D\u5916\u8FDB\u884C\u4E00\u6B21\u653B\u51FB"

View File

@ -16,6 +16,7 @@ MonoBehaviour:
WinUILoseText: "\u5931\u8D25..."
BottomInfoUnitDesc:
AIPlayingHint: "\u8BF7\u7B49\u5F85<color=yellow>{param}</color>\u884C\u52A8..."
HeroForceFinishHint: "\u82B1\u8D39\u91D1\u5E01\u7ACB\u523B\u5B8C\u6210\u5F53\u524D\u5347\u7EA7\u4EFB\u52A1\u3002<color=yellow>\u6CE8\u610F</color>\uFF1A\u5347\u7EA7\u884C\u4E3A\u4ECD\u9700\u8981\u7531\u5355\u4F4D\u81EA\u8EAB\u6765\u5B8C\u6210\u3002"
BottomInfoGridNoPlayerGridSubTitle1: "\u65E0\u4E3B\u9886\u571F"
HintUIDefaultText:
GiantUpgradeTextList:
@ -60,42 +61,12 @@ MonoBehaviour:
<color=yellow>Lv.4</color>\u5347\u7EA7\u8981\u6C42\uFF1A60\u82F1\u96C4\u7ECF\u9A8C\u3002\u5C04\u7A0B\u63D0\u5347\uFF0C\u65B0\u589E\u6280\u80FD<color=yellow>\u7687\u5BB6\u94BB\u6212</color><br>
<color=yellow>Lv.5</color>\u5347\u7EA7\u8981\u6C42\uFF1A160\u82F1\u96C4\u7ECF\u9A8C\u3002\u5404\u5C5E\u6027\u5168\u9762\u63D0\u5347\uFF0C\u65B0\u589E\u6280\u80FD<color=yellow>\u8D24\u8005\u4E4B\u77F3</color>\u3002<br>"
- GiantType: 6
UpgradeText: "<color=yellow>\u5E15\u79CB\u8389\xB7\u8BFA\u857E\u59EC</color>\u5404\u7B49\u7EA7\u5C5E\u6027<br>
<color=yellow>Lv.0</color>\u9996\u53D1\u82F1\u96C4\uFF1A10\u8840/2\u653B/2\u9632/2\u5C04\u7A0B\uFF0C\u62E5\u6709\u6280\u80FD<color=yellow>\u5723\u827E\u5C14\u6469\u4E4B\u67F1</color><br>
<color=yellow>Lv.1</color>\u5347\u7EA7\u8981\u6C42\uFF1A\u7814\u53D1\u82F1\u96C4\u79D1\u6280\u3002\u5404\u5C5E\u6027\u5168\u9762\u63D0\u5347\u3002<br>
<color=yellow>Lv.2</color>\u5347\u7EA7\u8981\u6C42\uFF1A5\u82F1\u96C4\u7ECF\u9A8C\u3002\u751F\u547D\u8FDB\u4E00\u6B65\u63D0\u5347\u3002<br>
<color=yellow>Lv.3</color>\u5347\u7EA7\u8981\u6C42\uFF1A20\u82F1\u96C4\u7ECF\u9A8C\u3002\u653B\u51FB\u8FDB\u4E00\u6B65\u63D0\u5347\u3002<br>
<color=yellow>Lv.4</color>\u5347\u7EA7\u8981\u6C42\uFF1A60\u82F1\u96C4\u7ECF\u9A8C\u3002\u5C04\u7A0B\u63D0\u5347\uFF0C\u65B0\u589E\u6280\u80FD<color=yellow>\u7687\u5BB6\u94BB\u6212</color><br>
<color=yellow>Lv.5</color>\u5347\u7EA7\u8981\u6C42\uFF1A160\u82F1\u96C4\u7ECF\u9A8C\u3002\u5404\u5C5E\u6027\u5168\u9762\u63D0\u5347\uFF0C\u65B0\u589E\u6280\u80FD<color=yellow>\u8D24\u8005\u4E4B\u77F3</color>\u3002<br>"
UpgradeText: "\u6682\u672A\u586B\u5199"
- GiantType: 7
UpgradeText: "<color=yellow>\u5E15\u79CB\u8389\xB7\u8BFA\u857E\u59EC</color>\u5404\u7B49\u7EA7\u5C5E\u6027<br>
<color=yellow>Lv.0</color>\u9996\u53D1\u82F1\u96C4\uFF1A10\u8840/2\u653B/2\u9632/2\u5C04\u7A0B\uFF0C\u62E5\u6709\u6280\u80FD<color=yellow>\u5723\u827E\u5C14\u6469\u4E4B\u67F1</color><br>
<color=yellow>Lv.1</color>\u5347\u7EA7\u8981\u6C42\uFF1A\u7814\u53D1\u82F1\u96C4\u79D1\u6280\u3002\u5404\u5C5E\u6027\u5168\u9762\u63D0\u5347\u3002<br>
<color=yellow>Lv.2</color>\u5347\u7EA7\u8981\u6C42\uFF1A5\u82F1\u96C4\u7ECF\u9A8C\u3002\u751F\u547D\u8FDB\u4E00\u6B65\u63D0\u5347\u3002<br>
<color=yellow>Lv.3</color>\u5347\u7EA7\u8981\u6C42\uFF1A20\u82F1\u96C4\u7ECF\u9A8C\u3002\u653B\u51FB\u8FDB\u4E00\u6B65\u63D0\u5347\u3002<br>
<color=yellow>Lv.4</color>\u5347\u7EA7\u8981\u6C42\uFF1A60\u82F1\u96C4\u7ECF\u9A8C\u3002\u5C04\u7A0B\u63D0\u5347\uFF0C\u65B0\u589E\u6280\u80FD<color=yellow>\u7687\u5BB6\u94BB\u6212</color><br>
<color=yellow>Lv.5</color>\u5347\u7EA7\u8981\u6C42\uFF1A160\u82F1\u96C4\u7ECF\u9A8C\u3002\u5404\u5C5E\u6027\u5168\u9762\u63D0\u5347\uFF0C\u65B0\u589E\u6280\u80FD<color=yellow>\u8D24\u8005\u4E4B\u77F3</color>\u3002<br>"
UpgradeText: "\u6682\u672A\u586B\u5199"
- GiantType: 8
UpgradeText: "<color=yellow>\u5E15\u79CB\u8389\xB7\u8BFA\u857E\u59EC</color>\u5404\u7B49\u7EA7\u5C5E\u6027<br>
<color=yellow>Lv.0</color>\u9996\u53D1\u82F1\u96C4\uFF1A10\u8840/2\u653B/2\u9632/2\u5C04\u7A0B\uFF0C\u62E5\u6709\u6280\u80FD<color=yellow>\u5723\u827E\u5C14\u6469\u4E4B\u67F1</color><br>
<color=yellow>Lv.1</color>\u5347\u7EA7\u8981\u6C42\uFF1A\u7814\u53D1\u82F1\u96C4\u79D1\u6280\u3002\u5404\u5C5E\u6027\u5168\u9762\u63D0\u5347\u3002<br>
<color=yellow>Lv.2</color>\u5347\u7EA7\u8981\u6C42\uFF1A5\u82F1\u96C4\u7ECF\u9A8C\u3002\u751F\u547D\u8FDB\u4E00\u6B65\u63D0\u5347\u3002<br>
<color=yellow>Lv.3</color>\u5347\u7EA7\u8981\u6C42\uFF1A20\u82F1\u96C4\u7ECF\u9A8C\u3002\u653B\u51FB\u8FDB\u4E00\u6B65\u63D0\u5347\u3002<br>
<color=yellow>Lv.4</color>\u5347\u7EA7\u8981\u6C42\uFF1A60\u82F1\u96C4\u7ECF\u9A8C\u3002\u5C04\u7A0B\u63D0\u5347\uFF0C\u65B0\u589E\u6280\u80FD<color=yellow>\u7687\u5BB6\u94BB\u6212</color><br>
<color=yellow>Lv.5</color>\u5347\u7EA7\u8981\u6C42\uFF1A160\u82F1\u96C4\u7ECF\u9A8C\u3002\u5404\u5C5E\u6027\u5168\u9762\u63D0\u5347\uFF0C\u65B0\u589E\u6280\u80FD<color=yellow>\u8D24\u8005\u4E4B\u77F3</color>\u3002<br>"
UpgradeText: "\u6682\u672A\u586B\u5199"
- GiantType: 9
UpgradeText: "<color=yellow>\u5E15\u79CB\u8389\xB7\u8BFA\u857E\u59EC</color>\u5404\u7B49\u7EA7\u5C5E\u6027<br>
<color=yellow>Lv.0</color>\u9996\u53D1\u82F1\u96C4\uFF1A10\u8840/2\u653B/2\u9632/2\u5C04\u7A0B\uFF0C\u62E5\u6709\u6280\u80FD<color=yellow>\u5723\u827E\u5C14\u6469\u4E4B\u67F1</color><br>
<color=yellow>Lv.1</color>\u5347\u7EA7\u8981\u6C42\uFF1A\u7814\u53D1\u82F1\u96C4\u79D1\u6280\u3002\u5404\u5C5E\u6027\u5168\u9762\u63D0\u5347\u3002<br>
<color=yellow>Lv.2</color>\u5347\u7EA7\u8981\u6C42\uFF1A5\u82F1\u96C4\u7ECF\u9A8C\u3002\u751F\u547D\u8FDB\u4E00\u6B65\u63D0\u5347\u3002<br>
<color=yellow>Lv.3</color>\u5347\u7EA7\u8981\u6C42\uFF1A20\u82F1\u96C4\u7ECF\u9A8C\u3002\u653B\u51FB\u8FDB\u4E00\u6B65\u63D0\u5347\u3002<br>
<color=yellow>Lv.4</color>\u5347\u7EA7\u8981\u6C42\uFF1A60\u82F1\u96C4\u7ECF\u9A8C\u3002\u5C04\u7A0B\u63D0\u5347\uFF0C\u65B0\u589E\u6280\u80FD<color=yellow>\u7687\u5BB6\u94BB\u6212</color><br>
<color=yellow>Lv.5</color>\u5347\u7EA7\u8981\u6C42\uFF1A160\u82F1\u96C4\u7ECF\u9A8C\u3002\u5404\u5C5E\u6027\u5168\u9762\u63D0\u5347\uFF0C\u65B0\u589E\u6280\u80FD<color=yellow>\u8D24\u8005\u4E4B\u77F3</color>\u3002<br>"
UpgradeText: "\u6682\u672A\u586B\u5199"
- GiantType: 10
UpgradeText: "<color=yellow>\u5E15\u79CB\u8389\xB7\u8BFA\u857E\u59EC</color>\u5404\u7B49\u7EA7\u5C5E\u6027<br>
<color=yellow>Lv.0</color>\u9996\u53D1\u82F1\u96C4\uFF1A10\u8840/2\u653B/2\u9632/2\u5C04\u7A0B\uFF0C\u62E5\u6709\u6280\u80FD<color=yellow>\u5723\u827E\u5C14\u6469\u4E4B\u67F1</color><br>
<color=yellow>Lv.1</color>\u5347\u7EA7\u8981\u6C42\uFF1A\u7814\u53D1\u82F1\u96C4\u79D1\u6280\u3002\u5404\u5C5E\u6027\u5168\u9762\u63D0\u5347\u3002<br>
<color=yellow>Lv.2</color>\u5347\u7EA7\u8981\u6C42\uFF1A5\u82F1\u96C4\u7ECF\u9A8C\u3002\u751F\u547D\u8FDB\u4E00\u6B65\u63D0\u5347\u3002<br>
<color=yellow>Lv.3</color>\u5347\u7EA7\u8981\u6C42\uFF1A20\u82F1\u96C4\u7ECF\u9A8C\u3002\u653B\u51FB\u8FDB\u4E00\u6B65\u63D0\u5347\u3002<br>
<color=yellow>Lv.4</color>\u5347\u7EA7\u8981\u6C42\uFF1A60\u82F1\u96C4\u7ECF\u9A8C\u3002\u5C04\u7A0B\u63D0\u5347\uFF0C\u65B0\u589E\u6280\u80FD<color=yellow>\u7687\u5BB6\u94BB\u6212</color><br>
<color=yellow>Lv.5</color>\u5347\u7EA7\u8981\u6C42\uFF1A160\u82F1\u96C4\u7ECF\u9A8C\u3002\u5404\u5C5E\u6027\u5168\u9762\u63D0\u5347\uFF0C\u65B0\u589E\u6280\u80FD<color=yellow>\u8D24\u8005\u4E4B\u77F3</color>\u3002<br>"
UpgradeText: "\u6682\u672A\u586B\u5199"

View File

@ -3177,7 +3177,7 @@ MonoBehaviour:
MoveRange: 2
AttackRange: 2
Cost: 0
Skills: 02000000510000006a000000680000000d00000020000000
Skills: 020000005100000067000000680000000d00000020000000
Sprite: {fileID: 21300000, guid: 523c2b2d5f317d649939a184e79b9d5e, type: 3}
IsSpriteVarient: 0
SpriteList: []
@ -3269,7 +3269,7 @@ MonoBehaviour:
GiantForceId: 1
Name: "\u706B\u7130 Lv.1"
Desc:
LandType: 1
LandType: 3
NoMaxHealth: 0
MaxHealth: 15
Attack: 4
@ -3289,7 +3289,7 @@ MonoBehaviour:
GiantForceId: 1
Name: "\u706B\u7130 Lv.2"
Desc:
LandType: 1
LandType: 3
NoMaxHealth: 0
MaxHealth: 20
Attack: 4
@ -3309,7 +3309,7 @@ MonoBehaviour:
GiantForceId: 1
Name: "\u706B\u7130 Lv.3"
Desc:
LandType: 1
LandType: 3
NoMaxHealth: 0
MaxHealth: 25
Attack: 5
@ -3337,7 +3337,7 @@ MonoBehaviour:
MoveRange: 2
AttackRange: 2
Cost: 0
Skills: 02000000660000000d00000051000000
Skills: 02000000660000000d000000510000006d000000
Sprite: {fileID: 21300000, guid: 1f47e26fbd7a1a54ebcd89c6d630e38c, type: 3}
IsSpriteVarient: 0
SpriteList: []
@ -3357,7 +3357,7 @@ MonoBehaviour:
MoveRange: 2
AttackRange: 2
Cost: 0
Skills: 02000000660000000d00000051000000
Skills: 02000000660000000d000000510000006d000000
Sprite: {fileID: 21300000, guid: 1f47e26fbd7a1a54ebcd89c6d630e38c, type: 3}
IsSpriteVarient: 0
SpriteList: []
@ -3377,7 +3377,27 @@ MonoBehaviour:
MoveRange: 2
AttackRange: 2
Cost: 0
Skills: 02000000690000000d00000051000000
Skills: 02000000690000000d00000051000000670000006d000000
Sprite: {fileID: 21300000, guid: 1f47e26fbd7a1a54ebcd89c6d630e38c, type: 3}
IsSpriteVarient: 0
SpriteList: []
- UnitType: 25
GiantType: 0
UnitLevel: 0
ChessType: 0
GiantCivId: 1
GiantForceId: 1
Name: "\u7AF9\u6797\u72FC\u4E0A\u6821"
Desc: "\u6708\u8F6E\u672A\u6EE1\u4E4B\u65F6\uFF0C\u5979\u4EEC\u662F\u8FF7\u9014\u7AF9\u6797\u4E2D\u7684\u7EAA\u5F8B\u5316\u8EAB\uFF1B\u94F6\u76D8\u9AD8\u60AC\u4E4B\u65F6\uFF0C\u5979\u4EEC\u662F\u5E1D\u56FD\u5A01\u4EEA\u7684\u51B0\u51B7\u6CD5\u5178\u3002"
LandType: 3
NoMaxHealth: 0
MaxHealth: 30
Attack: 5
Defense: 3
MoveRange: 1
AttackRange: 1
Cost: 10
Skills: 0d0000006c0000006d000000
Sprite: {fileID: 21300000, guid: 5c7c1475d54f2b8498986fb8e659771b, type: 3}
IsSpriteVarient: 0
SpriteList: []

View File

@ -12,7 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: c659b850b20e460f866ed3f696be406b, type: 3}
m_Name: VersionConfig
m_EditorClassIdentifier:
CurVersionId: 10000
CurVersionId: 10400
Versions:
- MajorVersion: 1
MinorVersion: 0

View File

@ -5779,3 +5779,33 @@ MonoBehaviour:
NoNeedTech: 0
SpriteSize: {x: 90, y: 90}
SpritePos: {x: 0, y: 15}
- ActionId:
ActionType: 6
WonderType: 0
ResourceType: 0
FeatureType: 0
TerrainType: 0
UnitType: 0
GiantType: 0
UnitLevel: 0
Vegetation: 0
UnitActionType: 12
CityLevelUpActionType: 0
GridMiscActionType: 0
SkillType: 0
TechType: 0
PlayerActionType: 0
ActionName: 2054
Desc: 2055
NeedTechDesc: 0
TechDesc:
NeedLockDesc: 0
LockDesc:
Icon: {fileID: 21300000, guid: eeebd9e7b8141594f8a0d22aebac543b, type: 3}
VarientIcon: 0
IconList: []
Cost: 0
CityExp: 0
NoNeedTech: 0
SpriteSize: {x: 90, y: 90}
SpritePos: {x: 0, y: 15}

View File

@ -1638,7 +1638,7 @@ MonoBehaviour:
- {fileID: 21300000, guid: 113b04d2344ed434fb16f4976603b63b, type: 3}
- {fileID: 21300000, guid: 113b04d2344ed434fb16f4976603b63b, type: 3}
- Resource: 29
Sprite: {fileID: 21300000, guid: b54f840b3fda45d4ebf73feb37505619, type: 3}
Sprite: {fileID: 21300000, guid: 7895455a857041843b93e9386e215067, type: 3}
ResourceName: 1950
ResourceDesc: 1975
Exp: 0

File diff suppressed because one or more lines are too long

View File

@ -19,6 +19,7 @@ MonoBehaviour:
ForceName: 1634
LeaderName: 36
LeaderIllustration: {fileID: 21300000, guid: d4661e5af1f33b94ea56ac7d7b30b512, type: 3}
PopulationSprite: {fileID: 21300000, guid: 3754071631085024cb3c23a0e374a7cb, type: 3}
TechPool: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f000000100000001100000012000000130000001400000015000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e000000
TechStart: 0000000008000000
Color: {r: 0.7019608, g: 0.61960787, b: 0, a: 1}
@ -39,6 +40,7 @@ MonoBehaviour:
ForceName: 1635
LeaderName: 171
LeaderIllustration: {fileID: 21300000, guid: e1ef5c5c40488ae40bbd2ed4cf35b89e, type: 3}
PopulationSprite: {fileID: 21300000, guid: 34d4466f228db71468e4b219ae135625, type: 3}
TechPool: 00000000010000000200000003000000040000000500000006000000070000000800000026000000090000000b0000000c0000000d00000025000000240000001f000000220000002000000023000000210000001500000016000000170000001800000019000000
TechStart: 000000001f000000
Color: {r: 0.050980393, g: 0.12941177, b: 0.41568628, a: 1}
@ -60,6 +62,7 @@ MonoBehaviour:
ForceName: 1637
LeaderName: 190
LeaderIllustration: {fileID: 21300000, guid: 7b419554ffed25f4fa94a867715388e6, type: 3}
PopulationSprite: {fileID: 0}
TechPool: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f00000010000000110000001200000013000000140000001500000016000000170000001800000019000000
TechStart: 0000000010000000
Color: {r: 0.4686918, g: 0.48300567, b: 0.51572317, a: 1}
@ -87,6 +90,7 @@ MonoBehaviour:
ForceName: 1639
LeaderName: 94
LeaderIllustration: {fileID: 21300000, guid: c31b7225b784dca488b6376ef5fe77d5, type: 3}
PopulationSprite: {fileID: 0}
TechPool: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f00000010000000110000001200000013000000140000001500000016000000170000001800000019000000
TechStart: 0000000012000000
Color: {r: 0, g: 0.47058824, b: 0.050980393, a: 1}
@ -106,6 +110,7 @@ MonoBehaviour:
ForceName: 1641
LeaderName: 476
LeaderIllustration: {fileID: 21300000, guid: 8ef14f9211c1e5540b080b7d8f9cb6e9, type: 3}
PopulationSprite: {fileID: 0}
TechPool: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f00000010000000110000001200000013000000140000001500000016000000170000001800000019000000
TechStart: 0000000015000000
Color: {r: 0.5254902, g: 0.25882354, b: 0, a: 1}
@ -126,6 +131,7 @@ MonoBehaviour:
ForceName: 1643
LeaderName: 478
LeaderIllustration: {fileID: 21300000, guid: a6e968e60b79bbe40b49db7943b966cb, type: 3}
PopulationSprite: {fileID: 0}
TechPool: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f00000010000000110000001200000013000000140000001500000016000000170000001800000019000000
TechStart: 0000000012000000
Color: {r: 0.3019608, g: 0.5568628, b: 0.05490196, a: 1}
@ -151,6 +157,7 @@ MonoBehaviour:
ForceName: 1645
LeaderName: 480
LeaderIllustration: {fileID: 21300000, guid: 5249c10ddd2faaf4cb799d1e53191a4b, type: 3}
PopulationSprite: {fileID: 0}
TechPool: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f00000010000000110000001200000013000000140000001500000016000000170000001800000019000000
TechStart: 0000000005000000
Color: {r: 0.62352943, g: 0.003921569, b: 0.7137255, a: 1}
@ -173,6 +180,7 @@ MonoBehaviour:
ForceName: 1647
LeaderName: 482
LeaderIllustration: {fileID: 21300000, guid: d3cd7a4b168e60c4e91fd4abf02ebd9d, type: 3}
PopulationSprite: {fileID: 0}
TechPool: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f00000010000000110000001200000013000000140000001500000016000000170000001800000019000000
TechStart: 0000000013000000
Color: {r: 0, g: 0.61960787, b: 0.65882355, a: 1}

View File

@ -109,11 +109,11 @@ MonoBehaviour:
- SkillType: 12
SkillName:
SkillDesc: 898
HasShowList: 0
HasShowList: 1
SkillShowList:
- UnitFullType:
UnitType: 0
GiantType: 0
UnitType: 14
GiantType: 8
UnitLevel: 0
UnitType: 14
GiantType: 8
@ -121,7 +121,7 @@ MonoBehaviour:
IgnoreUnitGiantType: 0
IgnoreUnitLevel: 1
SkillDesc: 2011
SkillName:
SkillName: 2058
- SkillType: 13
SkillName:
SkillDesc: 899
@ -136,7 +136,7 @@ MonoBehaviour:
UnitLevel: 0
IgnoreUnitGiantType: 1
IgnoreUnitLevel: 1
SkillDesc: 1590
SkillDesc: 2051
SkillName:
- SkillType: 14
SkillName:
@ -599,3 +599,173 @@ MonoBehaviour:
IgnoreUnitLevel: 0
SkillDesc: 2026
SkillName: 2027
- SkillType: 98
SkillName: 2033
SkillDesc: 2025
HasShowList: 0
SkillShowList:
- UnitFullType:
UnitType: 0
GiantType: 0
UnitLevel: 0
UnitType: 14
GiantType: 10
UnitLevel: 2
IgnoreUnitGiantType: 0
IgnoreUnitLevel: 0
SkillDesc: 2026
SkillName: 2027
- UnitFullType:
UnitType: 0
GiantType: 0
UnitLevel: 0
UnitType: 14
GiantType: 10
UnitLevel: 3
IgnoreUnitGiantType: 0
IgnoreUnitLevel: 0
SkillDesc: 2026
SkillName: 2027
- SkillType: 93
SkillName: 2023
SkillDesc: 2025
HasShowList: 0
SkillShowList:
- UnitFullType:
UnitType: 0
GiantType: 0
UnitLevel: 0
UnitType: 14
GiantType: 10
UnitLevel: 2
IgnoreUnitGiantType: 0
IgnoreUnitLevel: 0
SkillDesc: 2026
SkillName: 2027
- UnitFullType:
UnitType: 0
GiantType: 0
UnitLevel: 0
UnitType: 14
GiantType: 10
UnitLevel: 3
IgnoreUnitGiantType: 0
IgnoreUnitLevel: 0
SkillDesc: 2026
SkillName: 2027
- SkillType: 102
SkillName: 2034
SkillDesc: 2035
HasShowList: 0
SkillShowList: []
- SkillType: 105
SkillName: 2036
SkillDesc: 2037
HasShowList: 0
SkillShowList: []
- SkillType: 103
SkillName: 2034
SkillDesc: 2038
HasShowList: 0
SkillShowList: []
- SkillType: 104
SkillName: 2039
SkillDesc: 2040
HasShowList: 0
SkillShowList: []
- SkillType: 108
SkillName: 2043
SkillDesc: 2044
HasShowList: 1
SkillShowList:
- UnitFullType:
UnitType: 25
GiantType: 0
UnitLevel: 0
UnitType: 25
GiantType: 0
UnitLevel: 0
IgnoreUnitGiantType: 0
IgnoreUnitLevel: 0
SkillDesc: 2045
SkillName: 2044
- SkillType: 109
SkillName: 2052
SkillDesc: 2053
HasShowList: 0
SkillShowList:
- UnitFullType:
UnitType: 25
GiantType: 0
UnitLevel: 0
UnitType: 25
GiantType: 0
UnitLevel: 0
IgnoreUnitGiantType: 0
IgnoreUnitLevel: 0
SkillDesc: 2045
SkillName: 2044
- SkillType: 85
SkillName: 2059
SkillDesc: 2060
HasShowList: 0
SkillShowList:
- UnitFullType:
UnitType: 25
GiantType: 0
UnitLevel: 0
UnitType: 25
GiantType: 0
UnitLevel: 0
IgnoreUnitGiantType: 0
IgnoreUnitLevel: 0
SkillDesc: 2045
SkillName: 2044
- SkillType: 86
SkillName: 2061
SkillDesc: 2062
HasShowList: 0
SkillShowList:
- UnitFullType:
UnitType: 25
GiantType: 0
UnitLevel: 0
UnitType: 25
GiantType: 0
UnitLevel: 0
IgnoreUnitGiantType: 0
IgnoreUnitLevel: 0
SkillDesc: 2045
SkillName: 2044
- SkillType: 87
SkillName: 2063
SkillDesc: 2064
HasShowList: 0
SkillShowList:
- UnitFullType:
UnitType: 25
GiantType: 0
UnitLevel: 0
UnitType: 25
GiantType: 0
UnitLevel: 0
IgnoreUnitGiantType: 0
IgnoreUnitLevel: 0
SkillDesc: 2045
SkillName: 2044
- SkillType: 84
SkillName: 2065
SkillDesc: 2066
HasShowList: 0
SkillShowList:
- UnitFullType:
UnitType: 25
GiantType: 0
UnitLevel: 0
UnitType: 25
GiantType: 0
UnitLevel: 0
IgnoreUnitGiantType: 0
IgnoreUnitLevel: 0
SkillDesc: 2045
SkillName: 2044

View File

@ -16,6 +16,7 @@ MonoBehaviour:
WinUILoseText: 1109
BottomInfoUnitDesc:
AIPlayingHint: 1718
HeroForceFinishHint: 2050
BottomInfoGridNoPlayerGridSubTitle1: 1457
HintUIDefaultText:
GiantUpgradeTextList:
@ -30,12 +31,12 @@ MonoBehaviour:
- GiantType: 5
UpgradeText: 1600
- GiantType: 6
UpgradeText: 1600
UpgradeText: 2056
- GiantType: 7
UpgradeText: 1600
UpgradeText: 2056
- GiantType: 8
UpgradeText: 1600
UpgradeText: 2056
- GiantType: 9
UpgradeText: 1600
UpgradeText: 2056
- GiantType: 10
UpgradeText: 1600
UpgradeText: 2056

View File

@ -3177,7 +3177,7 @@ MonoBehaviour:
MoveRange: 2
AttackRange: 2
Cost: 0
Skills: 02000000510000006a000000680000000d00000020000000
Skills: 020000005100000067000000680000000d00000020000000
Sprite: {fileID: 21300000, guid: 523c2b2d5f317d649939a184e79b9d5e, type: 3}
IsSpriteVarient: 0
SpriteList: []
@ -3269,7 +3269,7 @@ MonoBehaviour:
GiantForceId: 1
Name: 2030
Desc:
LandType: 1
LandType: 3
NoMaxHealth: 0
MaxHealth: 15
Attack: 4
@ -3289,7 +3289,7 @@ MonoBehaviour:
GiantForceId: 1
Name: 2031
Desc:
LandType: 1
LandType: 3
NoMaxHealth: 0
MaxHealth: 20
Attack: 4
@ -3309,7 +3309,7 @@ MonoBehaviour:
GiantForceId: 1
Name: 2032
Desc:
LandType: 1
LandType: 3
NoMaxHealth: 0
MaxHealth: 25
Attack: 5
@ -3337,7 +3337,7 @@ MonoBehaviour:
MoveRange: 2
AttackRange: 2
Cost: 0
Skills: 02000000660000000d00000051000000
Skills: 02000000660000000d000000510000006d000000
Sprite: {fileID: 21300000, guid: 1f47e26fbd7a1a54ebcd89c6d630e38c, type: 3}
IsSpriteVarient: 0
SpriteList: []
@ -3357,7 +3357,7 @@ MonoBehaviour:
MoveRange: 2
AttackRange: 2
Cost: 0
Skills: 02000000660000000d00000051000000
Skills: 02000000660000000d000000510000006d000000
Sprite: {fileID: 21300000, guid: 1f47e26fbd7a1a54ebcd89c6d630e38c, type: 3}
IsSpriteVarient: 0
SpriteList: []
@ -3377,7 +3377,27 @@ MonoBehaviour:
MoveRange: 2
AttackRange: 2
Cost: 0
Skills: 02000000690000000d00000051000000
Skills: 02000000690000000d00000051000000670000006d000000
Sprite: {fileID: 21300000, guid: 1f47e26fbd7a1a54ebcd89c6d630e38c, type: 3}
IsSpriteVarient: 0
SpriteList: []
- UnitType: 25
GiantType: 0
UnitLevel: 0
ChessType: 0
GiantCivId: 1
GiantForceId: 1
Name: 2041
Desc: 2042
LandType: 3
NoMaxHealth: 0
MaxHealth: 30
Attack: 5
Defense: 3
MoveRange: 1
AttackRange: 1
Cost: 10
Skills: 0d0000006c0000006d000000
Sprite: {fileID: 21300000, guid: 5c7c1475d54f2b8498986fb8e659771b, type: 3}
IsSpriteVarient: 0
SpriteList: []

View File

@ -28,6 +28,8 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4174313277035645892}
- {fileID: 7347743593944222562}
- {fileID: 6899915688323978179}
- {fileID: 2381067443255011359}
m_Father: {fileID: 1937094061063432054}
@ -232,11 +234,14 @@ MonoBehaviour:
BlankDesc: {fileID: 2976100416343459051}
GiantName: {fileID: 5786112018111052743}
GiantMissionGroup: {fileID: 760629518588697276}
GoUpgradeHint: {fileID: 2053990499139447348}
GiantNameText: {fileID: 2177364425618100361}
GiantLevelText: {fileID: 7968832148615627763}
HintTrigger: {fileID: 8230947186156135969}
MissionDesc: {fileID: 2129124080950285310}
ForceFinishCost: {fileID: 1711046902937089967}
ClickButton: {fileID: 5479570637214289476}
ForceFinishButton: {fileID: 2176387570512410000}
InPool: 0
--- !u!1 &1993228056830566568
GameObject:
@ -401,6 +406,169 @@ MonoBehaviour:
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &2053990499139447348
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4174313277035645892}
- component: {fileID: 1087503954324727433}
- component: {fileID: 7053508064737991141}
- component: {fileID: 617871310789840603}
m_Layer: 5
m_Name: GoUpgradeHint
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &4174313277035645892
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2053990499139447348}
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: 6710414118763067156}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 1.3788986, y: 262.5037}
m_SizeDelta: {x: -53.4741, y: -6.6968}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1087503954324727433
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2053990499139447348}
m_CullTransparentMesh: 1
--- !u!114 &7053508064737991141
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2053990499139447348}
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: "\u82F1\u96C4\u53EF\u5347\u7EA7<br>\u8BF7\u524D\u5F80\u5347\u7EA7\u82F1\u96C4"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: ca3ea612c29dc5f49a32dffc195e45fe, type: 2}
m_sharedMaterial: {fileID: -8836383360333263746, guid: ca3ea612c29dc5f49a32dffc195e45fe, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, 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: 13.5
m_fontSizeBase: 36
m_fontWeight: 400
m_enableAutoSizing: 1
m_fontSizeMin: 8
m_fontSizeMax: 36
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: 0
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: 9.803188, y: 0, z: 7.7607574, 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!114 &617871310789840603
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2053990499139447348}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6b27f832d22e4a8d916272b644937774, type: 3}
m_Name:
m_EditorClassIdentifier:
Ban: 0
ID: 2048
FontID: 2
TextCfg:
- Type: 0
FontSize: 36
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
- Type: 1
FontSize: 32.35
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &2114572569349014238
GameObject:
m_ObjectHideFlags: 0
@ -1039,7 +1207,7 @@ MonoBehaviour:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3089624397884591327}
m_Enabled: 1
m_Enabled: 0
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 877da1f2a753cba41a4ae5bf9e3a37bd, type: 3}
m_Name:
@ -1085,6 +1253,169 @@ MonoBehaviour:
UnitType: 0
GiantType: 3
UnitLevel: 0
--- !u!1 &3301810612185279154
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6433844385426473801}
- component: {fileID: 6019683049541942190}
- component: {fileID: 1253191261755245950}
- component: {fileID: 1922244520755255685}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6433844385426473801
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3301810612185279154}
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: 7347743593944222562}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6019683049541942190
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3301810612185279154}
m_CullTransparentMesh: 1
--- !u!114 &1253191261755245950
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3301810612185279154}
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: "\u5F3A\u5236\u5B8C\u6210\u4EFB\u52A1"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: ca3ea612c29dc5f49a32dffc195e45fe, type: 2}
m_sharedMaterial: {fileID: -8836383360333263746, guid: ca3ea612c29dc5f49a32dffc195e45fe, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, 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: 16.15
m_fontSizeBase: 36
m_fontWeight: 400
m_enableAutoSizing: 1
m_fontSizeMin: 8
m_fontSizeMax: 18
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: 0
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: 9.803188, y: 0, z: 7.7607574, 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!114 &1922244520755255685
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3301810612185279154}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6b27f832d22e4a8d916272b644937774, type: 3}
m_Name:
m_EditorClassIdentifier:
Ban: 0
ID: 2049
FontID: 2
TextCfg:
- Type: 0
FontSize: 36
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
- Type: 1
FontSize: 32.35
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &3627750378331699172
GameObject:
m_ObjectHideFlags: 0
@ -1888,6 +2219,140 @@ MonoBehaviour:
UnitType: 0
GiantType: 3
UnitLevel: 0
--- !u!1 &6553726672384746641
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3877172661102671090}
- component: {fileID: 8919772800887181214}
- component: {fileID: 1711046902937089967}
m_Layer: 5
m_Name: cost
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3877172661102671090
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6553726672384746641}
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: 7347743593944222562}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 23.900002, y: -8.1564}
m_SizeDelta: {x: 19.4077, y: 20.9321}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8919772800887181214
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6553726672384746641}
m_CullTransparentMesh: 1
--- !u!114 &1711046902937089967
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6553726672384746641}
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: 60
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 0161d805a3764c089bef00bfe00793f5, type: 2}
m_sharedMaterial: {fileID: 2147374, guid: 0161d805a3764c089bef00bfe00793f5, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, 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: 14.1
m_fontSizeBase: 36
m_fontWeight: 400
m_enableAutoSizing: 1
m_fontSizeMin: 12
m_fontSizeMax: 18
m_fontStyle: 0
m_HorizontalAlignment: 1
m_VerticalAlignment: 256
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 &7247339942132607559
GameObject:
m_ObjectHideFlags: 0
@ -2259,6 +2724,258 @@ MonoBehaviour:
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &8244897832984845164
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7347743593944222562}
- component: {fileID: 5576038371261864928}
- component: {fileID: 2572347052087223948}
- component: {fileID: 836435651419544195}
- component: {fileID: 2176387570512410000}
m_Layer: 5
m_Name: ForceFinish
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7347743593944222562
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8244897832984845164}
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: 6433844385426473801}
- {fileID: 5897624345183374694}
- {fileID: 3877172661102671090}
m_Father: {fileID: 6710414118763067156}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 1}
m_AnchorMax: {x: 0.5, y: 1}
m_AnchoredPosition: {x: 0.07857, y: 240.8447}
m_SizeDelta: {x: 114.76, y: 29.8791}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5576038371261864928
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8244897832984845164}
m_CullTransparentMesh: 1
--- !u!114 &2572347052087223948
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8244897832984845164}
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.70440245, g: 0.21929504, b: 0.43407658, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 05131dbd1591b474db1db809270a1208, 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.5
--- !u!114 &836435651419544195
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8244897832984845164}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 877da1f2a753cba41a4ae5bf9e3a37bd, type: 3}
m_Name:
m_EditorClassIdentifier:
positionOffset: {x: 15, y: -15}
DataProvider:
HintDataType: 5
Text: "\u9ED8\u8BA4\u9759\u6001\u6587\u672C..."
TechTypeData: 0
SkillTypeData: 0
ActionIdData:
ActionType: 0
WonderType: 0
ResourceType: 0
FeatureType: 0
TerrainType: 0
UnitType: 0
GiantType: 0
UnitLevel: 0
Vegetation: 0
UnitActionType: 0
CityLevelUpActionType: 0
GridMiscActionType: 0
SkillType: 0
TechType: 0
PlayerActionType: 0
TextData:
ActionType: 12
WonderType: 0
ResourceType: 0
FeatureType: 0
TerrainType: 0
UnitType: 0
GiantType: 0
UnitLevel: 0
Vegetation: 0
UnitActionType: 0
CityLevelUpActionType: 0
GridMiscActionType: 0
SkillType: 0
TechType: 0
PlayerActionType: 7
UnitType: 0
GiantType: 0
UnitLevel: 0
--- !u!114 &2176387570512410000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8244897832984845164}
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: 2572347052087223948}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!1 &8429441330141090309
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5897624345183374694}
- component: {fileID: 9091828402843439737}
- component: {fileID: 1180477328887282582}
m_Layer: 5
m_Name: coin
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5897624345183374694
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8429441330141090309}
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: 7347743593944222562}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0.6710777, y: -7.9407043}
m_SizeDelta: {x: 22.686401, y: 20.501}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &9091828402843439737
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8429441330141090309}
m_CullTransparentMesh: 1
--- !u!114 &1180477328887282582
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8429441330141090309}
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: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 4fda428a9a88d12419e1c95388e2c8a5, 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 &8722066943611942908
GameObject:
m_ObjectHideFlags: 0
@ -2387,7 +3104,7 @@ MonoBehaviour:
TechType: 0
PlayerActionType: 0
UnitType: 14
GiantType: 3
GiantType: 6
UnitLevel: 0
--- !u!114 &5479570637214289476
MonoBehaviour:

View File

@ -551,6 +551,81 @@ MonoBehaviour:
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &1063668113266822137
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 139257851268557583}
- component: {fileID: 4329254318969126821}
- component: {fileID: 6094057950945196901}
m_Layer: 5
m_Name: Image3
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &139257851268557583
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1063668113266822137}
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: 1344831907128454237}
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: -27.5, y: -15.8}
m_SizeDelta: {x: 80, y: 80}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4329254318969126821
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1063668113266822137}
m_CullTransparentMesh: 1
--- !u!114 &6094057950945196901
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1063668113266822137}
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: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 3754071631085024cb3c23a0e374a7cb, 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 &1329489431156854884
GameObject:
m_ObjectHideFlags: 0
@ -1350,7 +1425,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 40}
m_AnchoredPosition: {x: 8, y: 40}
m_SizeDelta: {x: 1134, y: 1984}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1468095754271857011
@ -1428,6 +1503,9 @@ RectTransform:
m_Children:
- {fileID: 7941357777244239496}
- {fileID: 6758492612031130633}
- {fileID: 2698713665963746422}
- {fileID: 6896852868806568942}
- {fileID: 5816561599435955595}
m_Father: {fileID: 1602262009084493556}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
@ -1600,6 +1678,81 @@ MonoBehaviour:
TechType: 0
PlayerActionType: 0
DescriptionText: {fileID: 0}
--- !u!1 &3117093454884545874
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3509212348314940317}
- component: {fileID: 8961685291550722982}
- component: {fileID: 1041261881272004962}
m_Layer: 5
m_Name: Image2
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3509212348314940317
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3117093454884545874}
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: 1344831907128454237}
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: 33.6, y: -10.6}
m_SizeDelta: {x: 80, y: 80}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8961685291550722982
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3117093454884545874}
m_CullTransparentMesh: 1
--- !u!114 &1041261881272004962
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3117093454884545874}
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: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 3754071631085024cb3c23a0e374a7cb, 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 &3807881421756270137
GameObject:
m_ObjectHideFlags: 0
@ -1850,7 +2003,7 @@ GameObject:
- component: {fileID: 1944948835863471432}
- component: {fileID: 6474682247332825573}
m_Layer: 5
m_Name: Image
m_Name: Image1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -1865,15 +2018,15 @@ RectTransform:
m_GameObject: {fileID: 4151130012462813463}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.25, y: 0.25, z: 0.25}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 1575518655051826935}
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: 1, y: 50}
m_SizeDelta: {x: 1134, y: 1984}
m_AnchoredPosition: {x: 1, y: 56}
m_SizeDelta: {x: 130, y: 130}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1944948835863471432
CanvasRenderer:
@ -1903,9 +2056,84 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: bf2256c3f16ea7b4e81477248a622069, type: 3}
m_Sprite: {fileID: 21300000, guid: 3cbabce4061702e47baa58831c5204e5, type: 3}
m_Type: 0
m_PreserveAspect: 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 &4435476611978338539
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2698713665963746422}
- component: {fileID: 3480873969964015732}
- component: {fileID: 6655608563136284176}
m_Layer: 5
m_Name: Image2
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2698713665963746422
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4435476611978338539}
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: 1575518655051826935}
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: 43.4, y: 30.299957}
m_SizeDelta: {x: 130, y: 130}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3480873969964015732
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4435476611978338539}
m_CullTransparentMesh: 1
--- !u!114 &6655608563136284176
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4435476611978338539}
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: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 3cbabce4061702e47baa58831c5204e5, type: 3}
m_Type: 0
m_PreserveAspect: 1
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
@ -3777,6 +4005,81 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_HorizontalFit: 0
m_VerticalFit: 2
--- !u!1 &6664124755744340624
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5816561599435955595}
- component: {fileID: 947318089157633094}
- component: {fileID: 7294132348602354960}
m_Layer: 5
m_Name: Image4
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5816561599435955595
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6664124755744340624}
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: 1575518655051826935}
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: 1, y: 4.699959}
m_SizeDelta: {x: 130, y: 130}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &947318089157633094
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6664124755744340624}
m_CullTransparentMesh: 1
--- !u!114 &7294132348602354960
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6664124755744340624}
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: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 3cbabce4061702e47baa58831c5204e5, 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 &6689385488639753312
GameObject:
m_ObjectHideFlags: 0
@ -3852,6 +4155,81 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &6731053356875375488
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6896852868806568942}
- component: {fileID: 3470997616629996951}
- component: {fileID: 6372909542360816013}
m_Layer: 5
m_Name: Image3
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6896852868806568942
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6731053356875375488}
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: 1575518655051826935}
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: -42.5, y: 30.89996}
m_SizeDelta: {x: 130, y: 130}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3470997616629996951
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6731053356875375488}
m_CullTransparentMesh: 1
--- !u!114 &6372909542360816013
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6731053356875375488}
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: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 3cbabce4061702e47baa58831c5204e5, 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 &6856249948862058663
GameObject:
m_ObjectHideFlags: 0
@ -4238,7 +4616,7 @@ GameObject:
- component: {fileID: 1122240879051741744}
- component: {fileID: 8805423008612380501}
m_Layer: 5
m_Name: Image
m_Name: Image1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -4253,7 +4631,7 @@ RectTransform:
m_GameObject: {fileID: 7214737690192846478}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.25, y: 0.25, z: 0.25}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 1344831907128454237}
@ -4261,7 +4639,7 @@ RectTransform:
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 40}
m_SizeDelta: {x: 1134, y: 1984}
m_SizeDelta: {x: 80, y: 80}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1122240879051741744
CanvasRenderer:
@ -4291,9 +4669,9 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 60e0fb48d107e0d40800dc640145ce68, type: 3}
m_Sprite: {fileID: 21300000, guid: 3754071631085024cb3c23a0e374a7cb, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_PreserveAspect: 1
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
@ -4546,6 +4924,8 @@ RectTransform:
m_ConstrainProportionsScale: 1
m_Children:
- {fileID: 9030916699804330956}
- {fileID: 139257851268557583}
- {fileID: 3509212348314940317}
- {fileID: 502460467587478868}
m_Father: {fileID: 1602262009084493556}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

File diff suppressed because it is too large Load Diff

View File

@ -42,7 +42,6 @@ namespace TH1_Core.Managers
public BottomBarUI BottomBarUI;
public BottomInfoUI BottomInfoUI;
public TechTreeUI TechTreeUI;
public CityUpgradeActionUI CityUpgradeActionUI;
public GameUI GameUI;
public BoardingUI BoardingUI;

View File

@ -225,6 +225,18 @@ namespace RuntimeData
}
}
public PlayerData Player(MapData map)
{
map.GetPlayerDataByCityId(Id, out var player);
return player;
}
public GridData Grid(MapData map)
{
map.GetGridDataByCityId(Id, out var grid);
return grid;
}
// 初始化数据
private void InitData(List<uint> gidList, CityLibrary name)
{

View File

@ -241,6 +241,11 @@ namespace RuntimeData
return Mathf.Max(Mathf.Abs(gridDataA.Pos.X - gridDataB.Pos.X),Mathf.Abs(gridDataA.Pos.Y - gridDataB.Pos.Y));
}
public int CalcManhattanDistance(GridData gridDataA, GridData gridDataB)
{
return Mathf.Abs(gridDataA.Pos.X - gridDataB.Pos.X) + Mathf.Abs(gridDataA.Pos.Y - gridDataB.Pos.Y);
}
public void RefreshConnectInfo()
{

View File

@ -559,7 +559,7 @@ namespace RuntimeData
return dipInfo.DiplomacyState is DiplomacyState.League or DiplomacyState.LeagueRupture ;
}
//-------------- 查询格子方法 -------------------//
//-------------- 查询方法方法 -------------------//
// 通过小兵 uid 找格子 gid
public bool GetGridIdByUnitId(uint uid, out uint gid)
{
@ -583,6 +583,29 @@ namespace RuntimeData
{
return CityToGridDict.TryGetValue(cid, out gid);
}
//根据曼哈顿距离返回最近的城市
public bool GetNearestCity(UnitData unit,out CityData outCity)
{
outCity = null;
int score = -1;
var unitPlayer = unit.Player(this);
var unitGrid = unit.Grid(this);
if (unitPlayer == null || unitGrid == null) return false;
foreach (var city in CityMap.CityList)
{
var cityPlayer = city.Player(this);
var cityGrid = city.Grid(this);
if (cityPlayer == null || cityGrid == null || cityPlayer != unitPlayer) continue;
if (score == -1 || GridMap.CalcManhattanDistance(cityGrid, unitGrid) < score)
{
outCity = city;
score = GridMap.CalcManhattanDistance(cityGrid, unitGrid);
}
}
return score != -1;
}
// 通过城市 cid 找格子数据 data
public bool GetGridDataByCityId(uint cid, out GridData data)
@ -774,17 +797,38 @@ namespace RuntimeData
}
// 新建小兵数据
public UnitData AddUnitData(uint gid, uint cid, UnitType unitType,GiantType giantType = GiantType.None,uint unitLevel = 0)
public bool AddUnitData(uint gid, uint cid, UnitFullType unitFullType,out UnitData newUnit)
{
UnitData unitData = UnitMap.AddUnitData(unitType,giantType,unitLevel, _idGenerator);
UnitToCityDict[unitData.Id] = cid;
UnitToGridDict[unitData.Id] = gid;
_gridToUnitDict[gid] = unitData.Id;
UnitMap.UnitMapRenderMark = true;
unitData.RenderMark = true;
//Step #1 先检查是否能生成比如在水上生成landOnly的单位就不行)
newUnit = null;
if (!GridMap.GetGridDataByGid(gid, out GridData grid)) return false;
if(!CheckLandTypeForGrid(unitFullType, grid))
return false;
AddUnitSkill(unitData);
return unitData;
//Step #2 再生成单位
newUnit = UnitMap.AddUnitData(unitFullType, _idGenerator);
UnitToCityDict[newUnit.Id] = cid;
UnitToGridDict[newUnit.Id] = gid;
_gridToUnitDict[gid] = newUnit.Id;
UnitMap.UnitMapRenderMark = true;
newUnit.RenderMark = true;
AddUnitSkill(newUnit);
return true;
}
//
public bool CheckLandTypeForGrid(UnitFullType unitFullType, GridData grid)
{
if (!Table.Instance.UnitTypeDataAssets.GetUnitTypeInfo(unitFullType, out var info)) return false;
if (grid.Terrain is TerrainType.Land)
return info.LandType is LandType.Fly or LandType.LandAndWater or LandType.LandAndPort
or LandType.LandOnly;
if (grid.Terrain is TerrainType.ShallowSea or TerrainType.DeepSea)
return info.LandType is LandType.Fly or LandType.WaterAndAshore or LandType.WaterOnly
or LandType.LandAndWater;
return true;
}
//给Unit增加skill ,通用类TODO 将来给techlist 加入tech类tech类再关联action类会比较好

View File

@ -13,6 +13,7 @@ using Logic.Action;
using Logic.AI;
using Logic.Skill;
using MemoryPack;
using TH1_Core.Managers;
using TH1_Logic.Core;
using TH1_Logic.HeroTask;
using TH1Renderer;
@ -358,6 +359,7 @@ namespace RuntimeData
Wonder = new WonderData(copyData.Wonder);
DiplomacyData = new DiplomacyData(copyData.DiplomacyData);
PlayerHeroData = new PlayerHeroData(copyData.PlayerHeroData);
PlayerNamerData = new PlayerNamerData(copyData.PlayerNamerData);
CurAttackPlayers = new List<uint>();
foreach (var id in copyData.CurAttackPlayers) CurAttackPlayers.Add(id);
@ -396,6 +398,7 @@ namespace RuntimeData
Wonder.DeepCopy(copyData.Wonder);
DiplomacyData.DeepCopy(copyData.DiplomacyData);
PlayerHeroData.DeepCopy(copyData.PlayerHeroData);
PlayerNamerData.DeepCopy(copyData.PlayerNamerData);
CurAttackPlayers.Clear();
foreach (var id in copyData.CurAttackPlayers) CurAttackPlayers.Add(id);
@ -1195,13 +1198,21 @@ namespace RuntimeData
public bool UpdateHero(UnitFullType newType)
{
if (!HasHero(newType.GiantType)) return false;
//TODO 临时写法
if (this == Main.MapData.PlayerMap.SelfPlayerData.PlayerHeroData)
{
UIManager.Instance.BottomBarUI.UpdateHeroButtonSprite();
}
for(int i =0;i < HeroCount;i++)
if (HeroList[i].GiantType == newType.GiantType)
{
HeroTaskDict.Remove(HeroList[i]);
HeroList[i] = newType;
if (!HeroTaskManager.Instance.GetHeroTaskContent(newType, out var task)) return false;
HeroTaskDict.Add(newType,task);
//如果不是满级,要更新新的任务
if(newType.UnitLevel < 3){
if (!HeroTaskManager.Instance.GetHeroTaskContent(newType, out var task)) return false;
HeroTaskDict.Add(newType,task);
}
return true;
}
return false;
@ -1232,6 +1243,42 @@ namespace RuntimeData
if (unitLevel + 1 > MaxHeroCount)
MaxHeroCount = Mathf.Min(3, (int)unitLevel + 1);
}
public int GetHeroFinishTaskCost(GiantType giant)
{
foreach (var heroType in HeroList)
if (heroType.GiantType == giant)
return (int)heroType.UnitLevel * 20 + 20;
return 0;
}
public uint GetHeroLevel(GiantType giant)
{
foreach (var heroType in HeroList)
if (heroType.GiantType == giant)
return heroType.UnitLevel;
return 0;
}
//返回现在外部的herobutton应该显示谁的头像
public Sprite GetHeroButtonSprite()
{
var giant = GetLeaderGiantType();
if (HeroCount > 0)
giant = HeroList[HeroCount - 1].GiantType;
if (!Table.Instance.UnitTypeDataAssets.GetUnitTypeInfo(new UnitFullType(UnitType.Giant, giant, 0),
out var info))
return null;
if (!Table.Instance.UnitTypeDataAssets.GetUnitSpriteByInfo(info,Main.MapData.PlayerMap.SelfPlayerData,out var sprite))
return null;
return sprite;
}
//返回现在外部的herobutton是否应该显示提示符号
public bool GetHeroButtonHint()
{
return HeroCount < MaxHeroCount;
}
}
// 命名器的数据
@ -1241,6 +1288,7 @@ namespace RuntimeData
//City命名
[MemoryPackInclude]
private List<CityLibrary> _cityNamer;
[MemoryPackInclude]
private int _cityNamerPointer;
[MemoryPackConstructor]

View File

@ -104,9 +104,9 @@ namespace RuntimeData
}
// 新建小兵
public UnitData AddUnitData(UnitType unitType,GiantType giantType,uint unitLevel, MapIdGenerator idGenerator)
public UnitData AddUnitData(UnitFullType unitFullType, MapIdGenerator idGenerator)
{
var unit = new UnitData(unitType, giantType,unitLevel ,idGenerator);
var unit = new UnitData(unitFullType ,idGenerator);
UnitList.Add(unit);
_unitDict[unit.Id] = unit;
return unit;
@ -391,12 +391,13 @@ namespace RuntimeData
}
// 无参数初始化
public UnitData(UnitType unitType,GiantType giantType,uint unitLevel, MapIdGenerator idGenerator)
public UnitData(UnitFullType unitFullType, MapIdGenerator idGenerator)
{
Id = idGenerator.GeneratorId();
UnitType = unitType;
GiantType = giantType;
UnitLevel = unitLevel;
UnitFullType = unitFullType;
UnitType = unitFullType.UnitType;
GiantType = unitFullType.GiantType;
UnitLevel = unitFullType.UnitLevel;
InitData();
}

View File

@ -170,7 +170,8 @@ public class PlayerInfo
public string ForceName;
[MultilingualField]
public string LeaderName;
public Sprite LeaderIllustration;
public Sprite LeaderIllustration;
public Sprite PopulationSprite;
public List<TechType> TechPool = new List<TechType>();
public List<TechType> TechStart = new List<TechType>();
public Color Color;

View File

@ -13,6 +13,7 @@ public class TextDataAssets : ScriptableObject
[MultilingualField]public string WinUILoseText;
[MultilingualField]public string BottomInfoUnitDesc;
[MultilingualField]public string AIPlayingHint;
[MultilingualField]public string HeroForceFinishHint;
//bottominfo使用的 - 无主领土
[MultilingualField]public string BottomInfoGridNoPlayerGridSubTitle1;

View File

@ -33,7 +33,8 @@ public enum UnitType
KaguyaFrenchWarrior,
KaguyaFrenchCatapult,
KaguyaFrenchMokouEgg,
KaguyaFrenchReisenIllusion
KaguyaFrenchReisenIllusion,
KaguyaFrenchWolf
};
@ -51,7 +52,7 @@ public class UnitTypeDataAssets : ScriptableObject
//private Dictionary<UnitType,UnitTypeInfo> _unitTypeDict = new Dictionary<UnitType, UnitTypeInfo>();
//giant+level构成string然后做成dict映射
//private Dictionary<string,UnitTypeInfo> _giantTypeDict = new Dictionary<string, UnitTypeInfo>();
private Dictionary<UnitTypeKey, UnitTypeInfo> _unitTypeDict = new Dictionary<UnitTypeKey, UnitTypeInfo>();
private Dictionary<UnitFullType, UnitTypeInfo> _unitTypeDict = new Dictionary<UnitFullType, UnitTypeInfo>();
[NonSerialized]
private bool _initialized = false;
@ -62,7 +63,7 @@ public class UnitTypeDataAssets : ScriptableObject
return;
foreach (var t in UnitTypeList)
{
var key = new UnitTypeKey(t.UnitType, t.GiantType, t.UnitLevel);
var key = new UnitFullType(t.UnitType, t.GiantType, t.UnitLevel);
_unitTypeDict[key] = t;
}
_initialized = true;
@ -72,7 +73,7 @@ public class UnitTypeDataAssets : ScriptableObject
{
Init();
var key = new UnitTypeKey(unitType,giantType, unitLevel);
var key = new UnitFullType(unitType,giantType, unitLevel);
if (!_unitTypeDict.TryGetValue(key, out unitTypeInfo))
{
unitTypeInfo = new UnitTypeInfo();
@ -81,6 +82,19 @@ public class UnitTypeDataAssets : ScriptableObject
}
return true;
}
public bool GetUnitTypeInfo(UnitFullType unitType,out UnitTypeInfo unitTypeInfo)
{
Init();
if (!_unitTypeDict.TryGetValue(unitType, out unitTypeInfo))
{
unitTypeInfo = new UnitTypeInfo();
//LogSystem.LogError($"GetUnitTypeInfo cant Find unitTypeKey{key.UnitType} - {key.GiantType} - {key.UnitLevel}");
return false;
}
return true;
}
public GiantType GetGiantType(CivEnum civ, ForceEnum force, ChessType chess)
{

View File

@ -167,6 +167,8 @@ public enum SkillType
REISENILLUSIONPRO,
REISENFRENCHKILLPRO,
FLY,
FORESTSTARTDASH,
LANDONLY,
Max,
}

View File

@ -557,6 +557,9 @@ namespace Logic.Action
case UnitActionType.MOKOUFRENCHBOOM:
ActionLogicDict [commonActionId] = new UnitActionMOKOUFRENCHBOOM(commonActionId);
continue;
case UnitActionType.KAGUYAFRENCHAROUND:
ActionLogicDict [commonActionId] = new UnitActionKAGUYAFRENCHAROUND(commonActionId);
continue;
default:
ActionLogicDict[commonActionId] = new UnitActionAction(commonActionId);
continue;
@ -1223,7 +1226,11 @@ namespace Logic.Action
{
if(actionParams.MapData.GetUnitDataByGid(gridData.Id,out var unitData))
Main.UnitLogic.PassiveMoveAway(actionParams.MapData, unitData);
actionParams.MapData.AddUnitData(gridData.Id,actionParams.CityData.Id,UnitType.BigGuy);
var fullType = new UnitFullType(UnitType.BigGuy, GiantType.None, 0);
if(actionParams.PlayerData.PlayerCivId == 1 && actionParams.PlayerData.PlayerForceId == 1)
fullType = new UnitFullType(UnitType.KaguyaFrenchWolf, GiantType.None, 0);
if (!actionParams.MapData.AddUnitData(gridData.Id, actionParams.CityData.Id,fullType ,out var _))
return false;
actionParams.CityData.CityInfoRenderMark = true;
return true;
}

View File

@ -507,7 +507,18 @@ namespace TH1_Logic.Action
{
var player = actionParams.PlayerData;
var heroD = player.PlayerHeroData;
return heroD.FinishHeroTask(_actionId.GiantType);
var can = heroD.FinishHeroTask(_actionId.GiantType);
if (can)
{
//如果是玩家,拿钱扣款
if (actionParams.PlayerData == actionParams.MapData.PlayerMap.SelfPlayerData)
{
var cost = heroD.GetHeroFinishTaskCost(_actionId.GiantType);
actionParams.MapData.PlayerMap.SelfPlayerData.PlayerWealth -= cost;
}
}
return can;
}
public override bool CheckCan(CommonActionParams actionParams)
@ -526,6 +537,13 @@ namespace TH1_Logic.Action
//Step #3 检查player是否拥有该英雄
if (!heroD.HasHero(_actionId.GiantType)) return false;
//Step #4 如果是玩家,检查金钱是否够,决定扣款,TODO AI目前不扣款后面要扣款
if (actionParams.PlayerData == actionParams.MapData.PlayerMap.SelfPlayerData)
{
var cost = heroD.GetHeroFinishTaskCost(_actionId.GiantType);
if (cost > actionParams.MapData.PlayerMap.SelfPlayerData.PlayerWealth)
return false;
}
return true;
}
}

View File

@ -159,7 +159,8 @@ namespace Logic.Action
actionParams.PlayerData.PlayerWealth -= GetCost();
//生产新单位
var newUnit = actionParams.MapData.AddUnitData(gridData.Id,cityData.Id,_actionId.UnitType,_actionId.GiantType);
if(!actionParams.MapData.AddUnitData(gridData.Id,cityData.Id,new UnitFullType(_actionId.UnitType,_actionId.GiantType,0),out var newUnit))
return false;
cityData.CityInfoRenderMark = true;
//更新视野
@ -441,11 +442,11 @@ namespace Logic.Action
if (_finalGrid == null) return false;
//step #2 确定giant的真实level
var realLv = actionParams.MapData.GetGiantRealLv(_actionId.GiantType,actionParams.PlayerData);
//如果还没拥有科技那只能是lv0
if (!TrainUnitActionCheckHasTech(actionParams)) realLv = 0;
var realLv = actionParams.PlayerData.PlayerHeroData.GetHeroLevel(_actionId.GiantType);
//step #3 生产新单位
_newUnit = actionParams.MapData.AddUnitData(_finalGrid.Id,_finalCity.Id,_actionId.UnitType,_actionId.GiantType,realLv);
if (!actionParams.MapData.AddUnitData(_finalGrid.Id, _finalCity.Id,
new UnitFullType(_actionId.UnitType, _actionId.GiantType, realLv), out _newUnit))
return false;
//step #4 更新新单位周围的视野
Main.PlayerLogic.UpdateSight(actionParams.MapData,actionParams.PlayerData,actionParams.MapData.GridMap.GetAroundGridIdList(_newUnit.GetSightRange(actionParams.MapData),_finalGrid));
return true;
@ -693,7 +694,8 @@ namespace Logic.Action
//step #2 如果生产格子上有单位,先把他移开
if(actionParams.MapData.GetUnitDataByGid(actionParams.GridData.Id,out var unit)) Main.UnitLogic.PassiveMoveAway(actionParams.MapData,unit);
//step #3 生产单位
var newUnit = actionParams.MapData.AddUnitData(actionParams.GridData.Id,cityData.Id,_actionId.UnitType,_actionId.GiantType);
if(!actionParams.MapData.AddUnitData(actionParams.GridData.Id,cityData.Id,new UnitFullType(_actionId.UnitType,_actionId.GiantType,0),out var newUnit))
return false;
//step #4 扣钱
actionParams.PlayerData.PlayerWealth -= GetCost();

View File

@ -27,7 +27,8 @@ namespace Logic.Action
{
None,Upgrade,Recover,HEAL,Examine,Gather,Capture,Disband,ROYALFLAMES,ROYALFLAMESPRO,HeroUpgrade,
TEWIFRENCHBUFF,
MOKOUFRENCHBOOM
MOKOUFRENCHBOOM,
KAGUYAFRENCHAROUND
}
//UnitAction单位行动逻辑类
@ -284,19 +285,25 @@ namespace Logic.Action
return false;
if (gridData.Terrain == TerrainType.Land)
{
var unit = actionParams.MapData.AddUnitData(gridData.Id,capital.Id,UnitType.Swordsman);
unit.Exp = 3;
unit.Veteran = true;
unit.Health = unit.GetMaxHealth();
unit.RenderMark = true;
if (actionParams.MapData.AddUnitData(gridData.Id, capital.Id,new UnitFullType(UnitType.Swordsman,GiantType.None,0) , out var unit))
{
unit.Exp = 3;
unit.Veteran = true;
unit.Health = unit.GetMaxHealth();
unit.RenderMark = true;
};
}
else
{
var unit = actionParams.MapData.AddUnitData(gridData.Id,capital.Id,UnitType.RammerShip);
unit.CarryExp = 3;
unit.CarryVeteran = true;
unit.Health = unit.GetMaxHealth();
unit.RenderMark = true;
if (actionParams.MapData.AddUnitData(gridData.Id, capital.Id,
new UnitFullType(UnitType.RammerShip, GiantType.None, 0), out var unit))
{
unit.CarryExp = 3;
unit.CarryVeteran = true;
unit.Health = unit.GetMaxHealth();
unit.RenderMark = true;
}
}
@ -833,7 +840,7 @@ namespace Logic.Action
var unit = actionParams.UnitData;
var player = actionParams.PlayerData;
if (player == null) return false;
if(unit == null || unit.UnitType != UnitType.Giant || unit.GiantType == GiantType.None || unit.UnitLevel >= 5) return false;
if(unit == null || unit.UnitType != UnitType.Giant || unit.GiantType == GiantType.None || unit.UnitLevel >= 3) return false;
if(!Table.Instance.UnitTypeDataAssets.GetUnitTypeInfo(unit.UnitType,unit.GiantType,unit.UnitLevel,out var info)) return false;
return unit.HeroTask(actionParams.MapData)?.CheckFinished() ?? false;
@ -1052,4 +1059,59 @@ namespace Logic.Action
}
}
public class UnitActionKAGUYAFRENCHAROUND : UnitActionAction
{
public UnitActionKAGUYAFRENCHAROUND(CommonActionId id) : base(id)
{
}
protected override bool Execute(CommonActionParams actionParams, bool isMoment)
{
var selfUnit = actionParams.UnitData;
var selfGrid = actionParams.GridData;
if(selfGrid == null)
if(!actionParams.MapData.GetGridDataByUnitId(selfUnit.Id, out selfGrid)) return false;
if (!actionParams.MapData.GetPlayerDataByUnitId(selfUnit.Id, out var selfPlayer)) return false;
var gridList = actionParams.MapData.GridMap.GetAroundGridData(1,1,selfGrid);
foreach (var grid in gridList)
{
if (grid == selfGrid) continue;
if(!actionParams.MapData.GetUnitDataByGid(grid.Id,out var targetUnit))continue;
if(!actionParams.MapData.GetPlayerDataByUnitId(targetUnit.Id, out var targetPlayer)) continue;
if(!actionParams.MapData.SameUnion(targetPlayer.Id,selfPlayer.Id)) continue;
targetUnit.AddSkill(SkillType.KAGUYAFRENCHFOREVERBUFF);
if (targetUnit.GetSkill(SkillType.KAGUYAFRENCHFOREVERBUFF, out var skill))
skill.AddLevel(actionParams.MapData,selfUnit,1);
targetUnit.RenderMark = true;
var gridVFX = new GridVFXRenderMark(GridVFXType.KaguyaFrenchBuff);
grid.SetGridVFXRenderMark(gridVFX);
}
actionParams.UnitData.ClearAPMPCP();
actionParams.UnitData.RenderMark = true;
return true;
}
public override bool CheckCan(CommonActionParams actionParam)
{
//step #1 check基本信息
if (!UnitActionCheckBaseInfo(actionParam)) return false;
//#step #2 check unit属于player
if (!UnitActionCheckUnitBelongPlayer(actionParam)) return false;
//step #3 check是否有CP释放技能
if (!UnitActionCheckUnitHasCP(actionParam)) return false;
//step #4 check unit是否拥有skill技能
if (!UnitActionCheckUnitHasSkill(actionParam)) return false;
return true;
}
public override bool CheckShow(CommonActionParams actionParam)
{
return CheckCan(actionParam);
}
}
}

View File

@ -86,9 +86,7 @@ namespace Logic
gridData.CityBuildingRenderMark = true;
var levelUp = cityData.Level - tmp;
cityData.CityLevelUpPoint += levelUp;
//如果是真人玩家,发起界面提示
@ -111,38 +109,6 @@ namespace Logic
cityData.SetCapital(true);
}
// 当回合结束时,更新城市的状态 TODO 这个方法暂时没实现
public void CityEndTurn(MapData mapData, CityData cityData)
{
}
// 创建城市方法, 参数为地块 ID 和 玩家 ID TODO 这个方法暂时没实现
public void CreateCity(MapData mapData, PlayerData playerData, GridData gridData)
{
}
//在城市中央生成一个单位返回单位id , TODO 是否需要记录是否是整个文明首个unit的bool
public uint CreateUnit(MapData mapData, CityData cityData, UnitType unitType)
{
if (!mapData.GetGridIdByCityId(cityData.Id, out var gid)) return 0;
var unitData = mapData.AddUnitData(gid, cityData.Id, unitType);
return unitData.Id;
}
// 找寻某个地块上是否存在城市
public CityData FindCityOnPos(MapData mapData, uint gid)
{
if (mapData.GetCityIdByGridId(gid, out var cid))
{
if (mapData.CityMap.GetCityById(cid, out var cityData)) return cityData;
}
return null;
}
//更新grid的buildinglevel并且顺带会更新城市的exp
public void UpdateGridBuildingData(MapData mapData, GridData gridData)
{

View File

@ -449,8 +449,10 @@ namespace Logic
//设置该玩家的文明摇篮城市为该城市
p.CradleCityId = c.Id;
//Main.CityLogic.SetCradle(mapData, c.Id);
//TODO grid还没初始化好这里不应该先建立unit的应该在grid初始化结束后建单位
//建立文明的开国单位,并额外赋予初始行动点
Main.UnitLogic.AddMPAPCP(mapData, mapData.AddUnitData(g.Id,c.Id,UnitType.Warrior));
if(mapData.AddUnitData(g.Id,c.Id,new UnitFullType(UnitType.Warrior,GiantType.None,0),out var newUnit))
newUnit.SetFullAPCPMP();
rk++;
}

View File

@ -0,0 +1,56 @@
/*
* @Author:
* @Description:
* @Date: 20250423 21:04:18
* @Modify:
*/
using RuntimeData;
using System;
using MemoryPack;
namespace Logic.Skill
{
//在forest开始回合的时候拥有一次Dash机会
public partial class ForestStartDashSkill : SkillBase
{
public bool IsTrigger = false;
public override void OnTurnStart(UnitData self, MapData mapData)
{
IsTrigger = true;
var grid = self.Grid(mapData);
if (grid != null && grid.Vegetation == Vegetation.Trees)
IsTrigger = false;
}
public ForestStartDashSkill()
{
IsTrigger = true;
IsPermanent = true;
TurnsLimit = 0;
Score = 4;
}
public override SkillType GetSkillType()
{
return SkillType.FORESTSTARTDASH;
}
public override void OnDamageOther(MapData mapData, SettlementInfo info)
{
if (info.DamageType != DamageType.ActiveAttack) return;
IsTrigger = true;
}
public override void OnMove(UnitData self, GridData grid, MapData mapData, MoveType moveType)
{
if (IsTrigger) return;
if (moveType == MoveType.ActiveMove) self.AP = 1;
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: d7b418be5228e3841b546300c028a345
timeCreated: 1745414011

View File

@ -40,6 +40,14 @@ namespace Logic.Skill
}
if (skill == null) return;
skill.AddLevel(mapData, info.DamageOrigin, 1);
if (info.DamageOrigin.GetSkill(SkillType.REISENILLUSION, out var _) ||
info.DamageOrigin.GetSkill(SkillType.REISENILLUSIONPRO, out var _))
{
var player = info.DamageOrigin.Player(mapData);
if(player != null && player.PlayerHeroData.GetHeroTask(GiantType.FrenchReisen, out var task))
task.OnAddSkillLevels(mapData,SkillType.KAGUYAFRENCHSYNERGYDEBUFF,1);
}
}
public override float GetAttackerValueOffset(MapData mapData,UnitData target)

View File

@ -0,0 +1,30 @@
/*
* @Author:
* @Description:
* @Date: 20250423 21:04:18
* @Modify:
*/
using System.Collections.Generic;
using RuntimeData;
using System;
using MemoryPack;
namespace Logic.Skill
{
public partial class LandOnlySkill : SkillBase
{
public LandOnlySkill()
{
IsPermanent = true;
TurnsLimit = 0;
}
public override SkillType GetSkillType()
{
return SkillType.LANDONLY;
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: ebe201d489a9fde45a8f4f4bc9439efb
timeCreated: 1745414769

View File

@ -44,8 +44,7 @@ namespace Logic.Skill
//如果要复活的位置上有地方单位先将对方passiveMove开
if (mapData.GetUnitDataByGid(info.DamageTargetGrid.Id, out var unit))
Main.UnitLogic.PassiveMoveAway(mapData,unit);
mapData.AddUnitData(info.DamageTargetGrid.Id, info.DamageTargetCity.Id, FullType.UnitType,
FullType.GiantType, FullType.UnitLevel);
mapData.AddUnitData(info.DamageTargetGrid.Id, info.DamageTargetCity.Id, FullType,out var _);
}
}
}

View File

@ -44,7 +44,7 @@ namespace Logic.Skill
Main.UnitLogic.DamageSettlement(mapData, unit, unit, unit.Health, DamageType.KillSelf);
UpdateFullType(unit);
Main.UnitLogic.Die(mapData, unit);
var newUnit = mapData.AddUnitData(grid.Id, city.Id, FullType.UnitType, FullType.GiantType, FullType.UnitLevel);
if (!mapData.AddUnitData(grid.Id, city.Id, FullType, out var newUnit)) return;
if (FullType.UnitLevel > 1)
{
newUnit.AddSkill(SkillType.MOVERANGEUP);

View File

@ -41,10 +41,12 @@ namespace Logic.Skill
if (!mapData.GetPlayerDataByUnitId(info.DamageOrigin.Id, out var player)) return;
if (!mapData.GetCapitalCityDataByPlayerId(player.Id, out var capitalCity)) return;
UpdateFullType(info.DamageOrigin);
var unit = mapData.AddUnitData(info.DamageTargetGrid.Id, capitalCity.Id, FullType.UnitType, FullType.GiantType,
FullType.UnitLevel);
info.DamageOrigin.HeroTask(mapData)?.OnSkillActivation(mapData,SkillType.REISENFRENCHKILL,1);
Main.PlayerLogic.UpdateSightByRadius(mapData,player,unit.Grid(mapData),unit.GetSightRange(mapData));
if (mapData.AddUnitData(info.DamageTargetGrid.Id, capitalCity.Id, FullType, out var unit))
{
info.DamageOrigin.HeroTask(mapData)?.OnSkillActivation(mapData,SkillType.REISENFRENCHKILL,1);
Main.PlayerLogic.UpdateSightByRadius(mapData,player,unit.Grid(mapData),unit.GetSightRange(mapData));
}
}
}
}

View File

@ -33,8 +33,8 @@ namespace Logic.Skill
public override void OnDamaged(MapData mapData, SettlementInfo info)
{
if (info.DamageTarget == null || info.DamageType == DamageType.KillSelf || info.IsKill) return;
Main.UnitLogic.DamageSettlement(mapData, info.DamageTarget, info.DamageTarget, info.DamageTarget.Health, DamageType.KillSelf);
//if (info.DamageTarget == null || info.DamageType == DamageType.KillSelf || info.IsKill) return;
//Main.UnitLogic.DamageSettlement(mapData, info.DamageTarget, info.DamageTarget, info.DamageTarget.Health, DamageType.KillSelf);
}
}
}

View File

@ -33,8 +33,8 @@ namespace Logic.Skill
public override void OnDamaged(MapData mapData, SettlementInfo info)
{
if (info?.DamageTarget == null || info.DamageType == DamageType.KillSelf || info.IsKill) return;
Main.UnitLogic.DamageSettlement(mapData, info.DamageTarget, info.DamageTarget, info.DamageTarget.Health, DamageType.KillSelf);
//if (info?.DamageTarget == null || info.DamageType == DamageType.KillSelf || info.IsKill) return;
//Main.UnitLogic.DamageSettlement(mapData, info.DamageTarget, info.DamageTarget, info.DamageTarget.Health, DamageType.KillSelf);
}
}
}

View File

@ -0,0 +1,13 @@
// Auto-generated ForestStartDashSkill partial class with MemoryPackable attribute
// 此文件由 MemoryPackUnionGenerator 自动生成,请勿手动修改
using MemoryPack;
using Logic.Skill;
namespace Logic.Skill
{
[MemoryPackable]
public partial class ForestStartDashSkill
{
}
}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 9c4ca4ab6e857a84c92f4a4da3b4cd2f
guid: 7376da4af76307842ba220aaa5768442
MonoImporter:
externalObjects: {}
serializedVersion: 2

View File

@ -0,0 +1,13 @@
// Auto-generated LandOnlySkill partial class with MemoryPackable attribute
// 此文件由 MemoryPackUnionGenerator 自动生成,请勿手动修改
using MemoryPack;
using Logic.Skill;
namespace Logic.Skill
{
[MemoryPackable]
public partial class LandOnlySkill
{
}
}

View File

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

View File

@ -28,78 +28,80 @@ namespace Logic.Skill
[MemoryPackUnion(20, typeof(EternitySkill))]
[MemoryPackUnion(21, typeof(FlySkill))]
[MemoryPackUnion(22, typeof(ForestDefenseSkill))]
[MemoryPackUnion(23, typeof(FortifySkill))]
[MemoryPackUnion(24, typeof(GalaxyArrowSkill))]
[MemoryPackUnion(25, typeof(HealSkill))]
[MemoryPackUnion(26, typeof(IllusionSkill))]
[MemoryPackUnion(27, typeof(KaguyaFrenchAroundSkill))]
[MemoryPackUnion(28, typeof(KaguyaFrenchAttackProSkill))]
[MemoryPackUnion(29, typeof(KaguyaFrenchAttackSkill))]
[MemoryPackUnion(30, typeof(KaguyaFrenchForeverBuffSkill))]
[MemoryPackUnion(31, typeof(KaguyaFrenchNapoleonicCodeSkill))]
[MemoryPackUnion(32, typeof(KaguyaFrenchSynergyDebuffSkill))]
[MemoryPackUnion(33, typeof(KaguyaFrenchSynergySkill))]
[MemoryPackUnion(34, typeof(LaevatainPreySkill))]
[MemoryPackUnion(35, typeof(LaevatainSkill))]
[MemoryPackUnion(36, typeof(LuckSkill))]
[MemoryPackUnion(37, typeof(MokouFrenchBoomSkill))]
[MemoryPackUnion(38, typeof(MokouFrenchEggSkill))]
[MemoryPackUnion(39, typeof(MokouFrenchReviveSkill))]
[MemoryPackUnion(40, typeof(MoonPrincessSkill))]
[MemoryPackUnion(41, typeof(MountainDefenseSkill))]
[MemoryPackUnion(42, typeof(MountainGodSkill))]
[MemoryPackUnion(43, typeof(MountainMoveSkill))]
[MemoryPackUnion(44, typeof(MoveRangeUpSkill))]
[MemoryPackUnion(45, typeof(NoPopulationSkill))]
[MemoryPackUnion(46, typeof(NuclearFusionSkill))]
[MemoryPackUnion(47, typeof(NuclearSkill))]
[MemoryPackUnion(48, typeof(OceanDefenseSkill))]
[MemoryPackUnion(49, typeof(OceanMoveSkill))]
[MemoryPackUnion(50, typeof(PeaceSkill))]
[MemoryPackUnion(51, typeof(PersistSkill))]
[MemoryPackUnion(52, typeof(PhilostoneSkill))]
[MemoryPackUnion(53, typeof(PhoenixEggSkill))]
[MemoryPackUnion(54, typeof(PhoenixSkill))]
[MemoryPackUnion(55, typeof(PoisonedSkill))]
[MemoryPackUnion(56, typeof(PoorHealthSkill))]
[MemoryPackUnion(57, typeof(PowerUpSkill))]
[MemoryPackUnion(58, typeof(QuartetSkill))]
[MemoryPackUnion(59, typeof(RecycleSkill))]
[MemoryPackUnion(60, typeof(ReisenFrenchAttakSkill))]
[MemoryPackUnion(61, typeof(ReisenFrenchKillSkill))]
[MemoryPackUnion(62, typeof(ReisenIllusionProSkill))]
[MemoryPackUnion(63, typeof(ReisenIllusionSkill))]
[MemoryPackUnion(64, typeof(RengesyouControSkill))]
[MemoryPackUnion(65, typeof(RengesyouSkill))]
[MemoryPackUnion(66, typeof(RotaLFlamesProSkill))]
[MemoryPackUnion(67, typeof(RotaLFlamesSkill))]
[MemoryPackUnion(68, typeof(SatsujinkiSkill))]
[MemoryPackUnion(69, typeof(ScoutSkill))]
[MemoryPackUnion(70, typeof(SneakSkill))]
[MemoryPackUnion(71, typeof(SpeedUpSkill))]
[MemoryPackUnion(72, typeof(SplashSkill))]
[MemoryPackUnion(73, typeof(StaticSkill))]
[MemoryPackUnion(74, typeof(StiffSkill))]
[MemoryPackUnion(75, typeof(StompSkill))]
[MemoryPackUnion(76, typeof(SuperDashSkill))]
[MemoryPackUnion(77, typeof(SuperHideSkill))]
[MemoryPackUnion(78, typeof(SurpriseSkill))]
[MemoryPackUnion(79, typeof(SwapSkill))]
[MemoryPackUnion(80, typeof(TaiChiSkill))]
[MemoryPackUnion(81, typeof(TewiFrenchAttackSkill))]
[MemoryPackUnion(82, typeof(TewiFrenchBuffSkill))]
[MemoryPackUnion(83, typeof(TewiFrenchDieSkill))]
[MemoryPackUnion(84, typeof(TewiFrenchKillSkill))]
[MemoryPackUnion(85, typeof(TewiFrenchSightSkill))]
[MemoryPackUnion(86, typeof(ThirdEyeSkill))]
[MemoryPackUnion(87, typeof(TrioSkill))]
[MemoryPackUnion(88, typeof(UniqueSkill))]
[MemoryPackUnion(89, typeof(VampireProSkill))]
[MemoryPackUnion(90, typeof(VampireSkill))]
[MemoryPackUnion(91, typeof(WaterDefenseSkill))]
[MemoryPackUnion(92, typeof(WaterMoveSkill))]
[MemoryPackUnion(93, typeof(WindGodSkill))]
[MemoryPackUnion(94, typeof(WindPriestessSkill))]
[MemoryPackUnion(23, typeof(ForestStartDashSkill))]
[MemoryPackUnion(24, typeof(FortifySkill))]
[MemoryPackUnion(25, typeof(GalaxyArrowSkill))]
[MemoryPackUnion(26, typeof(HealSkill))]
[MemoryPackUnion(27, typeof(IllusionSkill))]
[MemoryPackUnion(28, typeof(KaguyaFrenchAroundSkill))]
[MemoryPackUnion(29, typeof(KaguyaFrenchAttackProSkill))]
[MemoryPackUnion(30, typeof(KaguyaFrenchAttackSkill))]
[MemoryPackUnion(31, typeof(KaguyaFrenchForeverBuffSkill))]
[MemoryPackUnion(32, typeof(KaguyaFrenchNapoleonicCodeSkill))]
[MemoryPackUnion(33, typeof(KaguyaFrenchSynergyDebuffSkill))]
[MemoryPackUnion(34, typeof(KaguyaFrenchSynergySkill))]
[MemoryPackUnion(35, typeof(LaevatainPreySkill))]
[MemoryPackUnion(36, typeof(LaevatainSkill))]
[MemoryPackUnion(37, typeof(LandOnlySkill))]
[MemoryPackUnion(38, typeof(LuckSkill))]
[MemoryPackUnion(39, typeof(MokouFrenchBoomSkill))]
[MemoryPackUnion(40, typeof(MokouFrenchEggSkill))]
[MemoryPackUnion(41, typeof(MokouFrenchReviveSkill))]
[MemoryPackUnion(42, typeof(MoonPrincessSkill))]
[MemoryPackUnion(43, typeof(MountainDefenseSkill))]
[MemoryPackUnion(44, typeof(MountainGodSkill))]
[MemoryPackUnion(45, typeof(MountainMoveSkill))]
[MemoryPackUnion(46, typeof(MoveRangeUpSkill))]
[MemoryPackUnion(47, typeof(NoPopulationSkill))]
[MemoryPackUnion(48, typeof(NuclearFusionSkill))]
[MemoryPackUnion(49, typeof(NuclearSkill))]
[MemoryPackUnion(50, typeof(OceanDefenseSkill))]
[MemoryPackUnion(51, typeof(OceanMoveSkill))]
[MemoryPackUnion(52, typeof(PeaceSkill))]
[MemoryPackUnion(53, typeof(PersistSkill))]
[MemoryPackUnion(54, typeof(PhilostoneSkill))]
[MemoryPackUnion(55, typeof(PhoenixEggSkill))]
[MemoryPackUnion(56, typeof(PhoenixSkill))]
[MemoryPackUnion(57, typeof(PoisonedSkill))]
[MemoryPackUnion(58, typeof(PoorHealthSkill))]
[MemoryPackUnion(59, typeof(PowerUpSkill))]
[MemoryPackUnion(60, typeof(QuartetSkill))]
[MemoryPackUnion(61, typeof(RecycleSkill))]
[MemoryPackUnion(62, typeof(ReisenFrenchAttakSkill))]
[MemoryPackUnion(63, typeof(ReisenFrenchKillSkill))]
[MemoryPackUnion(64, typeof(ReisenIllusionProSkill))]
[MemoryPackUnion(65, typeof(ReisenIllusionSkill))]
[MemoryPackUnion(66, typeof(RengesyouControSkill))]
[MemoryPackUnion(67, typeof(RengesyouSkill))]
[MemoryPackUnion(68, typeof(RotaLFlamesProSkill))]
[MemoryPackUnion(69, typeof(RotaLFlamesSkill))]
[MemoryPackUnion(70, typeof(SatsujinkiSkill))]
[MemoryPackUnion(71, typeof(ScoutSkill))]
[MemoryPackUnion(72, typeof(SneakSkill))]
[MemoryPackUnion(73, typeof(SpeedUpSkill))]
[MemoryPackUnion(74, typeof(SplashSkill))]
[MemoryPackUnion(75, typeof(StaticSkill))]
[MemoryPackUnion(76, typeof(StiffSkill))]
[MemoryPackUnion(77, typeof(StompSkill))]
[MemoryPackUnion(78, typeof(SuperDashSkill))]
[MemoryPackUnion(79, typeof(SuperHideSkill))]
[MemoryPackUnion(80, typeof(SurpriseSkill))]
[MemoryPackUnion(81, typeof(SwapSkill))]
[MemoryPackUnion(82, typeof(TaiChiSkill))]
[MemoryPackUnion(83, typeof(TewiFrenchAttackSkill))]
[MemoryPackUnion(84, typeof(TewiFrenchBuffSkill))]
[MemoryPackUnion(85, typeof(TewiFrenchDieSkill))]
[MemoryPackUnion(86, typeof(TewiFrenchKillSkill))]
[MemoryPackUnion(87, typeof(TewiFrenchSightSkill))]
[MemoryPackUnion(88, typeof(ThirdEyeSkill))]
[MemoryPackUnion(89, typeof(TrioSkill))]
[MemoryPackUnion(90, typeof(UniqueSkill))]
[MemoryPackUnion(91, typeof(VampireProSkill))]
[MemoryPackUnion(92, typeof(VampireSkill))]
[MemoryPackUnion(93, typeof(WaterDefenseSkill))]
[MemoryPackUnion(94, typeof(WaterMoveSkill))]
[MemoryPackUnion(95, typeof(WindGodSkill))]
[MemoryPackUnion(96, typeof(WindPriestessSkill))]
public abstract partial class SkillBase
{
}

View File

@ -87,7 +87,7 @@ namespace Logic
unitData.MP = unitData.CP = unitData.AP = 0;
//AUDIO 播放移动音效
if (mapData == Main.MapData) AudioManager.Instance.PlayAudio("SFX/UNIT_move");
if (mapData == Main.MapData && mapData.PlayerMap.SelfPlayerData.Sight.CheckIsInSight(gridData.Id)) AudioManager.Instance.PlayAudio("SFX/UNIT_move");
//如果 land to port
if (unitData.GetLandType() == LandType.LandAndPort && gridData.Resource == ResourceType.Port)
{
@ -404,6 +404,14 @@ namespace Logic
settlement.DamageTargetGrid = targetGrid;
settlement.DamageTargetCity = targetCity;
//TODO 后面迭代 目前临时处理
if (target.GetSkill(SkillType.REISENILLUSIONPRO, out var _) ||
target.GetSkill(SkillType.REISENILLUSION, out var _))
{
target.Health = 1;
settlement.DamageValue = dmg = 1;
}
target.Health -= dmg;
if (type == DamageType.KillSelf)
{
@ -1096,6 +1104,15 @@ namespace Logic
{
if (!mapData.GetGridDataByUnitId(unitData.Id, out var gridData))
return;
var unitGrid = unitData.Grid(mapData);
if (unitGrid == null) return;
//默认向远离最近城市的方向推出
if(!mapData.GetNearestCity(unitData,out var city))return;
var cityGrid = city.Grid(mapData);
if (cityGrid == null) return;
GridData bestGrid = null;
int score = -1;
var gridList = mapData.GridMap.GetAroundGridData(1,1,gridData);
foreach (var targetGrid in gridList)
{
@ -1103,11 +1120,17 @@ namespace Logic
continue;
if (!CheckUnitCanGoOnGrid(mapData, unitData, targetGrid))
continue;
//传一个true表示被动移动不会扣除MPAPCP
MoveTo(mapData,unitData,targetGrid,MoveType.PassiveMove);
return;
if (score == -1 || mapData.GridMap.CalcManhattanDistance(targetGrid, cityGrid) > score)
{
bestGrid = targetGrid;
score = mapData.GridMap.CalcManhattanDistance(targetGrid, cityGrid);
}
}
Die(mapData,unitData);
if(score != -1)
MoveTo(mapData,unitData,bestGrid,MoveType.PassiveMove);
else
Die(mapData,unitData);
}
public bool CheckUnitCanGoOnGrid(MapData mapData, UnitData unitData, GridData gridData)

View File

@ -59,7 +59,6 @@ public class BottomBarUI
NextTurnButton = ROBottomBarUI.transform.Find("NextTurnButton").GetComponent<Button>();
MessageButton = ROBottomBarUI.transform.Find("MessageButton").GetComponent<Button>(); // ← 新增按钮获取
HeroButton = ROBottomBarUI.transform.Find("HeroButton").GetComponent<Button>();
GameStartInit();
}
@ -86,13 +85,19 @@ public class BottomBarUI
HeroButton.onClick.RemoveAllListeners();
HeroButton.onClick.AddListener(OnHeroButtonClicked);
UpdateHeroButtonSprite();
_isAnimating = false;
_isShow = true;
ROBottomBarUI.transform.GetComponent<CanvasGroup>().alpha = 1;
}
public void UpdateHeroButtonSprite()
{
HeroButton.gameObject.transform.Find("Icon/Avatar").GetComponent<Image>().sprite = Main.MapData.PlayerMap.SelfPlayerData.PlayerHeroData.GetHeroButtonSprite();
HeroButton.gameObject.transform.Find("Hint").gameObject.SetActive(Main.MapData.PlayerMap.SelfPlayerData.PlayerHeroData.GetHeroButtonHint());
}
public void Update()
{

View File

@ -387,10 +387,6 @@ public class BottomInfoUI// : MonoBehaviour
{
var txt = _unitBaseInfo.transform.Find("DataInfo/Title4").GetComponent<TextMeshProUGUI>();
txt.text = "-/-";
if (unit.UnitType == UnitType.Giant)
{
txt.text = playerData.giantExp[(uint)unit.ChessType] + "/" + Table.Instance.GiantLevelNeedExp((int)unit.UnitLevel);
}
}
_unitBaseInfo.transform.Find("DataInfo/Title5").GetComponent<TextMeshProUGUI>().text = unit.GetMoveRange().ToString();
@ -467,7 +463,7 @@ public class BottomInfoUI// : MonoBehaviour
.GetComponent<TextMeshProUGUI>();
MissionObject.SetActive(unit.UnitType == UnitType.Giant);
MissionObject.SetActive(unit.UnitType == UnitType.Giant && unit.UnitLevel < 3);
if (unit.UnitType == UnitType.Giant && playerData == Main.MapData.PlayerMap.SelfPlayerData)
{
if (!Table.Instance.HeroDataAssets.GetHeroInfo(giantType, out var heroInfo)) return;

View File

@ -1,96 +0,0 @@
using Animancer;
using System.Collections;
using System.Collections.Generic;
using Logic;
using Logic.Action;
using UnityEngine;
using RuntimeData;
using TH1_Core.Events;
using TH1_Core.Managers;
using UI;
public class CityUpgradeActionUI
{
/*public MapData MapData;
private Main _main;
public CityLogic CityLogic;
private GameObject _roCityUpgradeActionUI;
private GameObject _actionArea;
private CityData _cityData;
public CityUpgradeActionUI(Main main,MapData mapData)
{
MapData = mapData;
_main = main;
_roCityUpgradeActionUI = UIManager.Instance.ROUIManager.transform.Find("CityUpgradeActionPanel").gameObject;;
_actionArea = _roCityUpgradeActionUI.transform.Find("ActionArea").gameObject;
_roCityUpgradeActionUI.SetActive(false);
ActionAreaClickHandler();
}*/
// Update is called once per frame
/*
void UpdateUIInfo()
{
foreach (Transform act in _actionArea.transform)
{
act.gameObject.SetActive(false);
var fakeActionId = act.GetComponent<ActionIdMono>().ActionId;
var actionDict = ActionLogicFactory.GetActionLogicDict();
foreach (var action in actionDict.Values)
{
var commonActionParams = new CommonActionParams(mapData:MapData,playerData:MapData.PlayerMap.SelfPlayerData,
cityData:_cityData,mainObjectType:MainObjectType.City);
if(ActionLogicFactory.GetActionLogic(fakeActionId).CheckCan(commonActionParams))
act.gameObject.SetActive(true);
}
}
}
public void ActionAreaClickHandler()//让每个action挂一个点击监听事件
{
ActionClickedEvent[] items = _actionArea.GetComponentsInChildren<ActionClickedEvent>(true);//这里设为true会遍历所有inactive的对象
foreach (ActionClickedEvent item in items)
{
item.OnItemClicked += ActionAreaClicked;
}
}
public void FadeOut()
{
AnimancerComponent animancer = _roCityUpgradeActionUI.GetComponent<AnimancerComponent>();
AnimationClip animationB = Resources.Load<AnimationClip>("Animations/UI/CityUpgradeActionPanelFadeOut");
animancer.Play(animationB);
Timer.Instance.TimerRegister(_roCityUpgradeActionUI, OnFadeOutComplete, 0.2f,"CityUpgradeActionUI_FadeOut");
}
public void OnFadeOutComplete()
{
_roCityUpgradeActionUI.SetActive(false);
}
public void FadeIn()
{
_roCityUpgradeActionUI.SetActive(true);
_roCityUpgradeActionUI.GetComponent<CanvasGroup>().alpha = 0;
AnimancerComponent animancer = _roCityUpgradeActionUI.GetComponent<AnimancerComponent>();
AnimationClip animationB = Resources.Load<AnimationClip>("Animations/UI/CityUpgradeActionPanelFadeIn");
animancer.Play(animationB);
}
public void ActionAreaClicked(GameObject clickedItem)
{
var fakeActionId = clickedItem.GetComponent<ActionIdMono>().ActionId;
var commonActionParams = new CommonActionParams(mapData:MapData,playerData:MapData.PlayerMap.SelfPlayerData,
cityData:_cityData,mainObjectType:MainObjectType.City);
if(ActionLogicFactory.GetActionLogic(fakeActionId).Execute(commonActionParams, false))
FadeOut();
}
*/
}

View File

@ -1,6 +1,7 @@
using Logic.Action;
using Logic.Multilingual;
using RuntimeData;
using TH1_Logic.Action;
using Unity.Burst.CompilerServices;
using UnityEngine;
@ -75,12 +76,13 @@ namespace UI.HintUI
{
string ret = Text;
string ret2 = "";
var unitFullType = new UnitFullType(){UnitType = UnitType,GiantType = GiantType,UnitLevel = UnitLevel};
switch (this.HintDataType)
{
case HintDataType.SkillHintData:
// 假设GetSkillDesc存在并且接收SkillTypeData
Table.Instance.SkillDataAssets.GetSkillNameAndDesc(this.SkillTypeData,unitFullType,out var _,out ret);
Table.Instance.SkillDataAssets.GetSkillNameAndDesc(this.SkillTypeData,unitFullType,out ret2,out ret);
break;
case HintDataType.ActionHintData:
// 仿写从Action数据表中获取描述
@ -101,6 +103,12 @@ namespace UI.HintUI
Table.Instance.TextDataAssets.GetGiantUpgradeText(GiantType,out ret);
ret.Replace("\\n","\n");
break;
case HintDataType.TextData:
if (TextData.PlayerActionType == PlayerActionType.FinishHeroTask)
{
ret = Table.Instance.TextDataAssets.HeroForceFinishHint;
}
break;
default:
// 处理未知的或默认的枚举值,方便调试
UnityEngine.Debug.LogWarning($"未处理的HintDataType: {this.HintDataType}");
@ -108,6 +116,11 @@ namespace UI.HintUI
}
if (!uint.TryParse(ret, out var retNum)) return ret;
if (ret2 != "")
{
if (!uint.TryParse(ret2, out var retNum2)) return ret2;
return "<color=yellow>" + MultilingualManager.Instance.GetMultilingualText(retNum2) + "</color>:" + MultilingualManager.Instance.GetMultilingualText(retNum);
}
return MultilingualManager.Instance.GetMultilingualText(retNum);
}
}

View File

@ -5,6 +5,7 @@ using System.Collections.Generic;
using Logic.Action;
using Logic.Multilingual;
using RuntimeData;
using TH1_Logic.Action;
using TH1_Logic.Core;
using TH1_UI.HintUI;
using TH1Resource;
@ -45,14 +46,18 @@ namespace TH1_UI.View.Info
public GameObject BlankDesc;
public GameObject GiantName;
public GameObject GiantMissionGroup;
public GameObject GoUpgradeHint;
[Header("要修改文字或参数的对象")]
public TextMeshProUGUI GiantNameText;
public TextMeshProUGUI GiantLevelText;
public HintTrigger HintTrigger;
public TextMeshProUGUI MissionDesc;
public TextMeshProUGUI ForceFinishCost;
[Header("会响应玩家交互的模块")] public Button ClickButton;
public Button ForceFinishButton;
//是否在pool里有额外的选项(可选,不显示任务等等)
public bool InPool = false;
//存储该模块的
@ -67,7 +72,13 @@ namespace TH1_UI.View.Info
public void SetGiantType(GiantType type) { _giantType = type;}
private Action<GiantType> _onClickCallback;
private Action _refreshAfterForceFinish;
public void RefreshAfterForceFinish(Action callback)
{
_refreshAfterForceFinish = callback;
}
public void SetClickCallback(Action<GiantType> callback)
{
_onClickCallback = callback;
@ -181,7 +192,41 @@ namespace TH1_UI.View.Info
var param3 = info.TaskList[(int)giantLevel].SkillName;
var taskDesc = info.TaskList[(int)giantLevel].Desc;
MultilingualManager.Instance.SetUIText(MissionDesc,taskDesc,new List<string> {param1,param2,param3});
var cost = (giantLevel + 1) * 20;
ForceFinishCost.text = cost.ToString();
ForceFinishCost.color = Color.red;
ForceFinishButton.onClick.RemoveAllListeners();
var finished = param1 == param2;
ForceFinishButton.gameObject.SetActive(!finished);
GoUpgradeHint.SetActive(finished);
if (cost <= Main.MapData.PlayerMap.SelfPlayerData.PlayerWealth && !finished)
{
ForceFinishCost.color = Color.white;
ForceFinishButton.onClick.AddListener(() =>
{
var type = giantType;
var actionId = new CommonActionId()
{
ActionType = CommonActionType.PlayerAction,
PlayerActionType = PlayerActionType.FinishHeroTask,
GiantType = type
};
var param = new CommonActionParams()
{
MapData = Main.MapData,
MainObjectType = MainObjectType.Player,
PlayerData = Main.MapData.PlayerMap.SelfPlayerData,
};
var action = ActionLogicFactory.GetActionLogic(actionId);
//通知父界面的回调,更新整个页面
if (action.CheckCan(param) && action.CompleteExecute(param,false))
_refreshAfterForceFinish.Invoke();
});
}
}
}
}

View File

@ -1,5 +1,6 @@
using System.Collections.Generic;
using Logic.Multilingual;
using TH1_Core.Managers;
using TH1_Logic.Core;
using TMPro;
using UnityEngine;
@ -69,11 +70,12 @@ namespace TH1_UI.View.Info
}
//Step #2 再初始化PickedList的锁定条件
PickedList[0].InPool = false;
PickedList[1].SetLockDesc(1);
PickedList[1].InPool = false;
PickedList[2].SetLockDesc(2);
PickedList[2].InPool = false;
for (int i = 0; i < 3; i++)
{
if(i != 0)PickedList[i].SetLockDesc(1);
PickedList[i].InPool = false;
PickedList[i].RefreshAfterForceFinish(RefreshAfterForceFinish);
}
}
@ -86,6 +88,11 @@ namespace TH1_UI.View.Info
_choiceGiantType = giantType;
SetPickedList();
}
public void RefreshAfterForceFinish()
{
SetContent();
}
public void SetContent()
{
@ -115,7 +122,7 @@ namespace TH1_UI.View.Info
//处理已经出战的英雄
if (i < heroData.HeroCount)
PickedList[i].UpdateInfo(isLock:false,isBlank:false,heroData.HeroList[i].GiantType,heroData.HeroList[i].UnitLevel,false);
//处理已经待选择的英雄
else if (i >= heroData.HeroCount && i < heroData.MaxHeroCount)
PickedList[i].UpdateInfo(isLock:false,isBlank:true,_choiceGiantType,0,false);
@ -164,6 +171,7 @@ namespace TH1_UI.View.Info
var heroData = Main.MapData.PlayerMap.SelfPlayerData.PlayerHeroData;
heroData.AddHero(_choiceGiantType);
OnBtnCloseClick();
UIManager.Instance.BottomBarUI.UpdateHeroButtonSprite();
//SetContent();
}
}

View File

@ -8,6 +8,7 @@ using TH1_Logic.Core;
using TH1_UI.View.Announce;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
namespace TH1_UI.View.Interaction
{
@ -55,6 +56,46 @@ namespace TH1_UI.View.Interaction
item.gameObject.SetActive(show);
if (!show) continue;
item.Setup(HandleItemClicked);
//TODO 这里用legacy方法处理了根据不同阵营召唤不同bugguy替换bigguy图标的情况。今后要迭代处理
var actionId = item.GetComponent<ActionIdMono>().ActionId;
var selfPlayer = Main.MapData.PlayerMap.SelfPlayerData;
if (actionId.CityLevelUpActionType == CityLevelUpActionType.BigGuy)
{
//bigGuy特殊处理
var fullType = new UnitFullType(UnitType.BigGuy, GiantType.None, 0);
if (selfPlayer.PlayerCivId == 1 && selfPlayer.PlayerForceId == 1)
fullType = new UnitFullType(UnitType.KaguyaFrenchWolf, GiantType.None, 0);
Table.Instance.UnitTypeDataAssets.GetUnitTypeInfo(fullType, out var info);
Table.Instance.UnitTypeDataAssets.GetUnitSpriteByInfo(info,selfPlayer,out var sprite);
item.transform.Find("Image").GetComponent<Image>().sprite = sprite;
MultilingualManager.Instance.SetUIText(item.transform.Find("Text").GetComponent<TextMeshProUGUI>(),info.Name);
}
if (actionId.CityLevelUpActionType == CityLevelUpActionType.Expand)
{
var gridSpType = GridSpType.None;
if (selfPlayer.PlayerCivId == 1) gridSpType = GridSpType.KaguyaGrid;
var sprite = Table.Instance.GridAndResourceDataAssets.GetGroundSprite(
Table.Instance.TransCivIdToCivEnum(selfPlayer.PlayerCivId), gridSpType);
item.transform.Find("Image1").GetComponent<Image>().sprite = sprite;
item.transform.Find("Image2").GetComponent<Image>().sprite = sprite;
item.transform.Find("Image3").GetComponent<Image>().sprite = sprite;
item.transform.Find("Image4").GetComponent<Image>().sprite = sprite;
}
if (actionId.CityLevelUpActionType == CityLevelUpActionType.Population)
{
var gridSpType = GridSpType.None;
Table.Instance.PlayerDataAssets.GetPlayerInfoByCivId(selfPlayer.PlayerCivId,
selfPlayer.PlayerForceId, out var info);
var sprite = info?.PopulationSprite ?? null;
item.transform.Find("Image1").GetComponent<Image>().sprite = sprite;
item.transform.Find("Image2").GetComponent<Image>().sprite = sprite;
item.transform.Find("Image3").GetComponent<Image>().sprite = sprite;
}
}
//step #3 修改title

View File

@ -140,7 +140,7 @@ PlayerSettings:
loadStoreDebugModeEnabled: 0
visionOSBundleVersion: 1.0
tvOSBundleVersion: 1.0
bundleVersion: 1.0.0
bundleVersion: 1.4.0
preloadedAssets: []
metroInputSource: 0
wsaTransparentSwapchain: 0

View File

@ -6,6 +6,7 @@
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AGraph_002Ecs_002Fl_003AC_0021_003FUsers_003Fdaixiawu_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Ffdc8af92b46e46aba104e604fd7d63d73e000_003Fd9_003Fc3581192_003FGraph_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AKeyValuePair_00602_002Ecs_002Fl_003AC_0021_003FUsers_003Fdaixiawu_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fb0b3ee161b9b40739da01ef24d5555a846ac00_003Fb7_003F5fe065e5_003FKeyValuePair_00602_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AList_00601_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FUsers_003Fdaixiawu_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5a41d6b7189842eca409fd0b1c3e3dcf17bf78_003F89_003F8932e18a_003FList_00601_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ALogic_002ESkill_002ESkillBase_002EMemoryPackFormatter_002Eg_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FUsers_003Fdaixiawu_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003F44fc64bc82dc3aecc06ef992fd891f403b8dc9fc_003FLogic_002ESkill_002ESkillBase_002EMemoryPackFormatter_002Eg_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003APlayerPrefs_002Ecs_002Fl_003AC_0021_003FUsers_003Fdaixiawu_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Ff68865d630f84dbe83e4490ea2afd98a176800_003F2a_003F2a14c7ff_003FPlayerPrefs_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ARuntimeFieldInfo_002Ecs_002Fl_003AC_0021_003FUsers_003Fdaixiawu_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fb0b3ee161b9b40739da01ef24d5555a846ac00_003Fc2_003Fb89bfeeb_003FRuntimeFieldInfo_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ARuntimeFieldInfo_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FUsers_003Fdaixiawu_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fb0b3ee161b9b40739da01ef24d5555a846ac00_003F6b_003F651d3321_003FRuntimeFieldInfo_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>