(client) feat: Improve map generation logic (#36)

Co-authored-by: zzdxxz <2079238449@qq.com>
Co-committed-by: zzdxxz <2079238449@qq.com>
This commit is contained in:
2025-07-15 15:26:58 +08:00
committed by TheRedApricot
parent a662ecd2c9
commit 55cf9d954e
64 changed files with 2545 additions and 278 deletions

View File

@ -1,117 +0,0 @@
fileFormatVersion: 2
guid: 7df47ab88bc919c40831e8bdd2a64fbd
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: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 0
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,117 +0,0 @@
fileFormatVersion: 2
guid: 0136a97b0760b7846a6839d0aff90863
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 1
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: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

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

View File

Before

Width:  |  Height:  |  Size: 656 B

After

Width:  |  Height:  |  Size: 656 B

View File

Before

Width:  |  Height:  |  Size: 680 B

After

Width:  |  Height:  |  Size: 680 B

View File

Before

Width:  |  Height:  |  Size: 876 B

After

Width:  |  Height:  |  Size: 876 B

View File

Before

Width:  |  Height:  |  Size: 1001 B

After

Width:  |  Height:  |  Size: 1001 B

View File

@ -0,0 +1,487 @@
fileFormatVersion: 2
guid: 7df47ab88bc919c40831e8bdd2a64fbd
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: 0
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 0
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 16
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: GrassSoild_0
rect:
serializedVersion: 2
x: 0
y: 48
width: 16
height: 16
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 7609998b30efb32439c0d371d2147293
internalID: 1275623906
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: GrassSoild_1
rect:
serializedVersion: 2
x: 16
y: 48
width: 16
height: 16
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 59c4962bbdb9ab74cb68d301f01ae9af
internalID: -1651804695
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: GrassSoild_2
rect:
serializedVersion: 2
x: 32
y: 48
width: 16
height: 16
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 596a8a7c637843743b18c6d433e25327
internalID: -959520997
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: GrassSoild_3
rect:
serializedVersion: 2
x: 48
y: 48
width: 16
height: 16
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: d02f642459ac7c743b2b08ddadb0b7ad
internalID: -165938839
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: GrassSoild_4
rect:
serializedVersion: 2
x: 0
y: 32
width: 16
height: 16
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: edfb6865b816dc043930627570242ea3
internalID: 312896309
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: GrassSoild_5
rect:
serializedVersion: 2
x: 16
y: 32
width: 16
height: 16
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 6d63e0432d8b1ef4c81656fe6f6e8c41
internalID: 1837549606
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: GrassSoild_6
rect:
serializedVersion: 2
x: 32
y: 32
width: 16
height: 16
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 778cf78999c40c0479a4b23a18283f5e
internalID: 774617176
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: GrassSoild_7
rect:
serializedVersion: 2
x: 48
y: 32
width: 16
height: 16
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: d4ef1e05863c0b04ab934bc361f10994
internalID: 1252287581
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: GrassSoild_8
rect:
serializedVersion: 2
x: 0
y: 16
width: 16
height: 16
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 5b197864071738e4e836bb20f61aa695
internalID: -1521935608
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: GrassSoild_9
rect:
serializedVersion: 2
x: 16
y: 16
width: 16
height: 16
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: dedc0d1b2d046474e94404de3618a4ef
internalID: -762293138
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: GrassSoild_10
rect:
serializedVersion: 2
x: 32
y: 16
width: 16
height: 16
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 21a1c2168c4a3c9439ca12f1231dd5c3
internalID: 2025820583
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: GrassSoild_11
rect:
serializedVersion: 2
x: 48
y: 16
width: 16
height: 16
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 04081c7a9a22d444987b1e0219ede074
internalID: -982041411
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: GrassSoild_12
rect:
serializedVersion: 2
x: 0
y: 0
width: 16
height: 16
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: ad89b2de2cd4a5f4b93752758a7e3450
internalID: -1258520409
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: GrassSoild_13
rect:
serializedVersion: 2
x: 16
y: 0
width: 16
height: 16
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: e98011415e5aa57468119aa9ad0b91a8
internalID: 1107013079
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: GrassSoild_14
rect:
serializedVersion: 2
x: 32
y: 0
width: 16
height: 16
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 96eb05642cd4a184d82f9e0ef8b753f1
internalID: -1414388895
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: GrassSoild_15
rect:
serializedVersion: 2
x: 48
y: 0
width: 16
height: 16
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: ff716e3da3e683441bdcf28f42356042
internalID: -835259504
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: f5ae6ca9c58b20849b004aa8829c2f59
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries:
- key: SpriteEditor.SliceSettings
value: '{"sliceOnImport":false,"gridCellCount":{"x":1.0,"y":1.0},"gridSpriteSize":{"x":16.0,"y":16.0},"gridSpriteOffset":{"x":0.0,"y":0.0},"gridSpritePadding":{"x":0.0,"y":0.0},"pivot":{"x":0.0,"y":0.0},"autoSlicingMethod":0,"spriteAlignment":0,"slicingType":1,"keepEmptyRects":false,"isAlternate":false}'
nameFileIdTable:
GrassSoild_0: 1275623906
GrassSoild_1: -1651804695
GrassSoild_10: 2025820583
GrassSoild_11: -982041411
GrassSoild_12: -1258520409
GrassSoild_13: 1107013079
GrassSoild_14: -1414388895
GrassSoild_15: -835259504
GrassSoild_2: -959520997
GrassSoild_3: -165938839
GrassSoild_4: 312896309
GrassSoild_5: 1837549606
GrassSoild_6: 774617176
GrassSoild_7: 1252287581
GrassSoild_8: -1521935608
GrassSoild_9: -762293138
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -0,0 +1,487 @@
fileFormatVersion: 2
guid: 0136a97b0760b7846a6839d0aff90863
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: 0
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 16
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: GrassWater_0
rect:
serializedVersion: 2
x: 0
y: 48
width: 16
height: 16
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 7a1cddcb98a74ad479836f79431a73ce
internalID: -896420851
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: GrassWater_1
rect:
serializedVersion: 2
x: 16
y: 48
width: 16
height: 16
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 6713748c1f2ce3948bbf133391513475
internalID: 840105254
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: GrassWater_2
rect:
serializedVersion: 2
x: 32
y: 48
width: 16
height: 16
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 959a1f18af882a64ba4de4fe9c9fad72
internalID: -917425871
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: GrassWater_3
rect:
serializedVersion: 2
x: 48
y: 48
width: 16
height: 16
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: f6ffb4168d9353e4ca99922b093fcac9
internalID: -813287833
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: GrassWater_4
rect:
serializedVersion: 2
x: 0
y: 32
width: 16
height: 16
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: bdd54cb5d327aae499852f1be0d8d01d
internalID: -188781367
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: GrassWater_5
rect:
serializedVersion: 2
x: 16
y: 32
width: 16
height: 16
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: aa5be6c3b6e99e648bd4c73d26af1948
internalID: 1213113931
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: GrassWater_6
rect:
serializedVersion: 2
x: 32
y: 32
width: 16
height: 16
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 9d73e8b78edae3e4cbd95181e7639b3f
internalID: -1117061937
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: GrassWater_7
rect:
serializedVersion: 2
x: 48
y: 32
width: 16
height: 16
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: ee2fce1f46313ca4684fcbdafa7a98ed
internalID: 1026651763
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: GrassWater_8
rect:
serializedVersion: 2
x: 0
y: 16
width: 16
height: 16
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 68c2897714bf1fc49892c577d2b7b4b6
internalID: -538296849
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: GrassWater_9
rect:
serializedVersion: 2
x: 16
y: 16
width: 16
height: 16
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: b73ae7634f9ba8b4781c906fef12a9ca
internalID: 1191125718
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: GrassWater_10
rect:
serializedVersion: 2
x: 32
y: 16
width: 16
height: 16
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 92e946de68aab384e977a6ca066c96ce
internalID: -992808395
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: GrassWater_11
rect:
serializedVersion: 2
x: 48
y: 16
width: 16
height: 16
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 67e743d98a5a91449b63f23ae12e3845
internalID: -412815323
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: GrassWater_12
rect:
serializedVersion: 2
x: 0
y: 0
width: 16
height: 16
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 4a8c2c2ca2cfc8e48a9fb50ae7332541
internalID: -1916319736
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: GrassWater_13
rect:
serializedVersion: 2
x: 16
y: 0
width: 16
height: 16
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 68c19bb22cc3618448a6da869bb20e08
internalID: -526799999
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: GrassWater_14
rect:
serializedVersion: 2
x: 32
y: 0
width: 16
height: 16
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 6f6c38e84dcafd4498cb2f1a6ea02615
internalID: 358965833
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: GrassWater_15
rect:
serializedVersion: 2
x: 48
y: 0
width: 16
height: 16
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 01aa5674b9db2ff47aee82773330350f
internalID: -151054341
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 3cac9e4880c345341a890eebece7638b
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries:
- key: SpriteEditor.SliceSettings
value: '{"sliceOnImport":false,"gridCellCount":{"x":1.0,"y":1.0},"gridSpriteSize":{"x":16.0,"y":16.0},"gridSpriteOffset":{"x":0.0,"y":0.0},"gridSpritePadding":{"x":0.0,"y":0.0},"pivot":{"x":0.0,"y":0.0},"autoSlicingMethod":0,"spriteAlignment":0,"slicingType":1,"keepEmptyRects":false,"isAlternate":false}'
nameFileIdTable:
GrassWater_0: -896420851
GrassWater_1: 840105254
GrassWater_10: -992808395
GrassWater_11: -412815323
GrassWater_12: -1916319736
GrassWater_13: -526799999
GrassWater_14: 358965833
GrassWater_15: -151054341
GrassWater_2: -917425871
GrassWater_3: -813287833
GrassWater_4: -188781367
GrassWater_5: 1213113931
GrassWater_6: -1117061937
GrassWater_7: 1026651763
GrassWater_8: -538296849
GrassWater_9: 1191125718
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

Before

Width:  |  Height:  |  Size: 915 B

After

Width:  |  Height:  |  Size: 915 B

View File

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

View File

@ -0,0 +1,36 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 13312, guid: 0000000000000000e000000000000000, type: 0}
m_Name: GrassSoild_0
m_EditorClassIdentifier:
m_Sprite: {fileID: 1275623906, guid: 7df47ab88bc919c40831e8bdd2a64fbd, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Transform:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_InstancedGameObject: {fileID: 0}
m_Flags: 1
m_ColliderType: 1

View File

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

View File

@ -0,0 +1,36 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 13312, guid: 0000000000000000e000000000000000, type: 0}
m_Name: GrassSoild_1
m_EditorClassIdentifier:
m_Sprite: {fileID: -1651804695, guid: 7df47ab88bc919c40831e8bdd2a64fbd, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Transform:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_InstancedGameObject: {fileID: 0}
m_Flags: 1
m_ColliderType: 1

View File

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

View File

@ -0,0 +1,36 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 13312, guid: 0000000000000000e000000000000000, type: 0}
m_Name: GrassSoild_10
m_EditorClassIdentifier:
m_Sprite: {fileID: 2025820583, guid: 7df47ab88bc919c40831e8bdd2a64fbd, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Transform:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_InstancedGameObject: {fileID: 0}
m_Flags: 1
m_ColliderType: 1

View File

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

View File

@ -0,0 +1,36 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 13312, guid: 0000000000000000e000000000000000, type: 0}
m_Name: GrassSoild_11
m_EditorClassIdentifier:
m_Sprite: {fileID: -982041411, guid: 7df47ab88bc919c40831e8bdd2a64fbd, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Transform:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_InstancedGameObject: {fileID: 0}
m_Flags: 1
m_ColliderType: 1

View File

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

View File

@ -0,0 +1,36 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 13312, guid: 0000000000000000e000000000000000, type: 0}
m_Name: GrassSoild_12
m_EditorClassIdentifier:
m_Sprite: {fileID: -1258520409, guid: 7df47ab88bc919c40831e8bdd2a64fbd, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Transform:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_InstancedGameObject: {fileID: 0}
m_Flags: 1
m_ColliderType: 1

View File

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

View File

@ -0,0 +1,36 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 13312, guid: 0000000000000000e000000000000000, type: 0}
m_Name: GrassSoild_13
m_EditorClassIdentifier:
m_Sprite: {fileID: 1107013079, guid: 7df47ab88bc919c40831e8bdd2a64fbd, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Transform:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_InstancedGameObject: {fileID: 0}
m_Flags: 1
m_ColliderType: 1

View File

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

View File

@ -0,0 +1,36 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 13312, guid: 0000000000000000e000000000000000, type: 0}
m_Name: GrassSoild_14
m_EditorClassIdentifier:
m_Sprite: {fileID: -1414388895, guid: 7df47ab88bc919c40831e8bdd2a64fbd, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Transform:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_InstancedGameObject: {fileID: 0}
m_Flags: 1
m_ColliderType: 1

View File

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

View File

@ -0,0 +1,36 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 13312, guid: 0000000000000000e000000000000000, type: 0}
m_Name: GrassSoild_15
m_EditorClassIdentifier:
m_Sprite: {fileID: -835259504, guid: 7df47ab88bc919c40831e8bdd2a64fbd, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Transform:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_InstancedGameObject: {fileID: 0}
m_Flags: 1
m_ColliderType: 1

View File

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

View File

@ -0,0 +1,36 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 13312, guid: 0000000000000000e000000000000000, type: 0}
m_Name: GrassSoild_2
m_EditorClassIdentifier:
m_Sprite: {fileID: -959520997, guid: 7df47ab88bc919c40831e8bdd2a64fbd, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Transform:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_InstancedGameObject: {fileID: 0}
m_Flags: 1
m_ColliderType: 1

View File

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

View File

@ -0,0 +1,36 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 13312, guid: 0000000000000000e000000000000000, type: 0}
m_Name: GrassSoild_3
m_EditorClassIdentifier:
m_Sprite: {fileID: -165938839, guid: 7df47ab88bc919c40831e8bdd2a64fbd, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Transform:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_InstancedGameObject: {fileID: 0}
m_Flags: 1
m_ColliderType: 1

View File

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

View File

@ -0,0 +1,36 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 13312, guid: 0000000000000000e000000000000000, type: 0}
m_Name: GrassSoild_4
m_EditorClassIdentifier:
m_Sprite: {fileID: 312896309, guid: 7df47ab88bc919c40831e8bdd2a64fbd, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Transform:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_InstancedGameObject: {fileID: 0}
m_Flags: 1
m_ColliderType: 1

View File

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

View File

@ -0,0 +1,36 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 13312, guid: 0000000000000000e000000000000000, type: 0}
m_Name: GrassSoild_5
m_EditorClassIdentifier:
m_Sprite: {fileID: 1837549606, guid: 7df47ab88bc919c40831e8bdd2a64fbd, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Transform:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_InstancedGameObject: {fileID: 0}
m_Flags: 1
m_ColliderType: 1

View File

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

View File

@ -0,0 +1,36 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 13312, guid: 0000000000000000e000000000000000, type: 0}
m_Name: GrassSoild_6
m_EditorClassIdentifier:
m_Sprite: {fileID: 774617176, guid: 7df47ab88bc919c40831e8bdd2a64fbd, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Transform:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_InstancedGameObject: {fileID: 0}
m_Flags: 1
m_ColliderType: 1

View File

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

View File

@ -0,0 +1,36 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 13312, guid: 0000000000000000e000000000000000, type: 0}
m_Name: GrassSoild_7
m_EditorClassIdentifier:
m_Sprite: {fileID: 1252287581, guid: 7df47ab88bc919c40831e8bdd2a64fbd, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Transform:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_InstancedGameObject: {fileID: 0}
m_Flags: 1
m_ColliderType: 1

View File

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

View File

@ -0,0 +1,36 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 13312, guid: 0000000000000000e000000000000000, type: 0}
m_Name: GrassSoild_8
m_EditorClassIdentifier:
m_Sprite: {fileID: -1521935608, guid: 7df47ab88bc919c40831e8bdd2a64fbd, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Transform:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_InstancedGameObject: {fileID: 0}
m_Flags: 1
m_ColliderType: 1

View File

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

View File

@ -0,0 +1,36 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 13312, guid: 0000000000000000e000000000000000, type: 0}
m_Name: GrassSoild_9
m_EditorClassIdentifier:
m_Sprite: {fileID: -762293138, guid: 7df47ab88bc919c40831e8bdd2a64fbd, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Transform:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_InstancedGameObject: {fileID: 0}
m_Flags: 1
m_ColliderType: 1

View File

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

View File

@ -0,0 +1,429 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &2388439063770187076
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7337181866313697544}
- component: {fileID: 52469753740625856}
m_Layer: 0
m_Name: New Tile Palette
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7337181866313697544
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2388439063770187076}
serializedVersion: 2
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: 2608526879671573921}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!156049354 &52469753740625856
Grid:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2388439063770187076}
m_Enabled: 1
m_CellSize: {x: 1, y: 1, z: 0}
m_CellGap: {x: 0, y: 0, z: 0}
m_CellLayout: 0
m_CellSwizzle: 0
--- !u!1 &8919849953490985661
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2608526879671573921}
- component: {fileID: 6340222049933911700}
- component: {fileID: 8479819329709119745}
m_Layer: 0
m_Name: Layer1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2608526879671573921
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8919849953490985661}
serializedVersion: 2
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: 7337181866313697544}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1839735485 &6340222049933911700
Tilemap:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8919849953490985661}
m_Enabled: 1
m_Tiles:
- first: {x: -1, y: -4, z: 0}
second:
serializedVersion: 2
m_TileIndex: 12
m_TileSpriteIndex: 12
m_TileMatrixIndex: 0
m_TileColorIndex: 0
m_TileObjectToInstantiateIndex: 65535
dummyAlignment: 0
m_AllTileFlags: 1073741825
- first: {x: 0, y: -4, z: 0}
second:
serializedVersion: 2
m_TileIndex: 13
m_TileSpriteIndex: 13
m_TileMatrixIndex: 0
m_TileColorIndex: 0
m_TileObjectToInstantiateIndex: 65535
dummyAlignment: 0
m_AllTileFlags: 1073741825
- first: {x: 1, y: -4, z: 0}
second:
serializedVersion: 2
m_TileIndex: 14
m_TileSpriteIndex: 14
m_TileMatrixIndex: 0
m_TileColorIndex: 0
m_TileObjectToInstantiateIndex: 65535
dummyAlignment: 0
m_AllTileFlags: 1073741825
- first: {x: 2, y: -4, z: 0}
second:
serializedVersion: 2
m_TileIndex: 15
m_TileSpriteIndex: 15
m_TileMatrixIndex: 0
m_TileColorIndex: 0
m_TileObjectToInstantiateIndex: 65535
dummyAlignment: 0
m_AllTileFlags: 1073741825
- first: {x: -1, y: -3, z: 0}
second:
serializedVersion: 2
m_TileIndex: 8
m_TileSpriteIndex: 8
m_TileMatrixIndex: 0
m_TileColorIndex: 0
m_TileObjectToInstantiateIndex: 65535
dummyAlignment: 0
m_AllTileFlags: 1073741825
- first: {x: 0, y: -3, z: 0}
second:
serializedVersion: 2
m_TileIndex: 9
m_TileSpriteIndex: 9
m_TileMatrixIndex: 0
m_TileColorIndex: 0
m_TileObjectToInstantiateIndex: 65535
dummyAlignment: 0
m_AllTileFlags: 1073741825
- first: {x: 1, y: -3, z: 0}
second:
serializedVersion: 2
m_TileIndex: 10
m_TileSpriteIndex: 10
m_TileMatrixIndex: 0
m_TileColorIndex: 0
m_TileObjectToInstantiateIndex: 65535
dummyAlignment: 0
m_AllTileFlags: 1073741825
- first: {x: 2, y: -3, z: 0}
second:
serializedVersion: 2
m_TileIndex: 11
m_TileSpriteIndex: 11
m_TileMatrixIndex: 0
m_TileColorIndex: 0
m_TileObjectToInstantiateIndex: 65535
dummyAlignment: 0
m_AllTileFlags: 1073741825
- first: {x: -1, y: -2, z: 0}
second:
serializedVersion: 2
m_TileIndex: 4
m_TileSpriteIndex: 4
m_TileMatrixIndex: 0
m_TileColorIndex: 0
m_TileObjectToInstantiateIndex: 65535
dummyAlignment: 0
m_AllTileFlags: 1073741825
- first: {x: 0, y: -2, z: 0}
second:
serializedVersion: 2
m_TileIndex: 5
m_TileSpriteIndex: 5
m_TileMatrixIndex: 0
m_TileColorIndex: 0
m_TileObjectToInstantiateIndex: 65535
dummyAlignment: 0
m_AllTileFlags: 1073741825
- first: {x: 1, y: -2, z: 0}
second:
serializedVersion: 2
m_TileIndex: 6
m_TileSpriteIndex: 6
m_TileMatrixIndex: 0
m_TileColorIndex: 0
m_TileObjectToInstantiateIndex: 65535
dummyAlignment: 0
m_AllTileFlags: 1073741825
- first: {x: 2, y: -2, z: 0}
second:
serializedVersion: 2
m_TileIndex: 7
m_TileSpriteIndex: 7
m_TileMatrixIndex: 0
m_TileColorIndex: 0
m_TileObjectToInstantiateIndex: 65535
dummyAlignment: 0
m_AllTileFlags: 1073741825
- first: {x: -1, y: -1, z: 0}
second:
serializedVersion: 2
m_TileIndex: 0
m_TileSpriteIndex: 0
m_TileMatrixIndex: 0
m_TileColorIndex: 0
m_TileObjectToInstantiateIndex: 65535
dummyAlignment: 0
m_AllTileFlags: 1073741825
- first: {x: 0, y: -1, z: 0}
second:
serializedVersion: 2
m_TileIndex: 1
m_TileSpriteIndex: 1
m_TileMatrixIndex: 0
m_TileColorIndex: 0
m_TileObjectToInstantiateIndex: 65535
dummyAlignment: 0
m_AllTileFlags: 1073741825
- first: {x: 1, y: -1, z: 0}
second:
serializedVersion: 2
m_TileIndex: 2
m_TileSpriteIndex: 2
m_TileMatrixIndex: 0
m_TileColorIndex: 0
m_TileObjectToInstantiateIndex: 65535
dummyAlignment: 0
m_AllTileFlags: 1073741825
- first: {x: 2, y: -1, z: 0}
second:
serializedVersion: 2
m_TileIndex: 3
m_TileSpriteIndex: 3
m_TileMatrixIndex: 0
m_TileColorIndex: 0
m_TileObjectToInstantiateIndex: 65535
dummyAlignment: 0
m_AllTileFlags: 1073741825
m_AnimatedTiles: {}
m_TileAssetArray:
- m_RefCount: 1
m_Data: {fileID: 11400000, guid: a66c4b205a526f6488344cae59016692, type: 2}
- m_RefCount: 1
m_Data: {fileID: 11400000, guid: adb932fa8c0e98e42812fac3ef489d1a, type: 2}
- m_RefCount: 1
m_Data: {fileID: 11400000, guid: 53279ed64c282a843bba6c54e0b9ffbf, type: 2}
- m_RefCount: 1
m_Data: {fileID: 11400000, guid: faaf900ad6a7c3d4681c80397f7c3d65, type: 2}
- m_RefCount: 1
m_Data: {fileID: 11400000, guid: b96801fb73875664c910a8a772e8cf59, type: 2}
- m_RefCount: 1
m_Data: {fileID: 11400000, guid: fcf24c19caa8ce140a7240825ae2834c, type: 2}
- m_RefCount: 1
m_Data: {fileID: 11400000, guid: 5b99c5db50e5d884d80abc10f5b111c4, type: 2}
- m_RefCount: 1
m_Data: {fileID: 11400000, guid: ada3b309141b5764f94092c2881f8e10, type: 2}
- m_RefCount: 1
m_Data: {fileID: 11400000, guid: 783eb64fca93bfe49a4b5a5762dfd71c, type: 2}
- m_RefCount: 1
m_Data: {fileID: 11400000, guid: d6a055af314e9d34cbc0d4077b2035db, type: 2}
- m_RefCount: 1
m_Data: {fileID: 11400000, guid: 4e5db9650f0caae459d2cae16e7c03d4, type: 2}
- m_RefCount: 1
m_Data: {fileID: 11400000, guid: dacf9ff887f871e4a95f2a2b76a6cbd7, type: 2}
- m_RefCount: 1
m_Data: {fileID: 11400000, guid: ce1d003ccbf433c41a490e9683f2b885, type: 2}
- m_RefCount: 1
m_Data: {fileID: 11400000, guid: fed4dd95775cc024382a7f98be9dac70, type: 2}
- m_RefCount: 1
m_Data: {fileID: 11400000, guid: 75fc44e0e2c76d8499095deba226fdfa, type: 2}
- m_RefCount: 1
m_Data: {fileID: 11400000, guid: dbd2cefe86e443a47a01b02f431b60a2, type: 2}
m_TileSpriteArray:
- m_RefCount: 1
m_Data: {fileID: 1275623906, guid: 7df47ab88bc919c40831e8bdd2a64fbd, type: 3}
- m_RefCount: 1
m_Data: {fileID: -1651804695, guid: 7df47ab88bc919c40831e8bdd2a64fbd, type: 3}
- m_RefCount: 1
m_Data: {fileID: -959520997, guid: 7df47ab88bc919c40831e8bdd2a64fbd, type: 3}
- m_RefCount: 1
m_Data: {fileID: -165938839, guid: 7df47ab88bc919c40831e8bdd2a64fbd, type: 3}
- m_RefCount: 1
m_Data: {fileID: 312896309, guid: 7df47ab88bc919c40831e8bdd2a64fbd, type: 3}
- m_RefCount: 1
m_Data: {fileID: 1837549606, guid: 7df47ab88bc919c40831e8bdd2a64fbd, type: 3}
- m_RefCount: 1
m_Data: {fileID: 774617176, guid: 7df47ab88bc919c40831e8bdd2a64fbd, type: 3}
- m_RefCount: 1
m_Data: {fileID: 1252287581, guid: 7df47ab88bc919c40831e8bdd2a64fbd, type: 3}
- m_RefCount: 1
m_Data: {fileID: -1521935608, guid: 7df47ab88bc919c40831e8bdd2a64fbd, type: 3}
- m_RefCount: 1
m_Data: {fileID: -762293138, guid: 7df47ab88bc919c40831e8bdd2a64fbd, type: 3}
- m_RefCount: 1
m_Data: {fileID: 2025820583, guid: 7df47ab88bc919c40831e8bdd2a64fbd, type: 3}
- m_RefCount: 1
m_Data: {fileID: -982041411, guid: 7df47ab88bc919c40831e8bdd2a64fbd, type: 3}
- m_RefCount: 1
m_Data: {fileID: -1258520409, guid: 7df47ab88bc919c40831e8bdd2a64fbd, type: 3}
- m_RefCount: 1
m_Data: {fileID: 1107013079, guid: 7df47ab88bc919c40831e8bdd2a64fbd, type: 3}
- m_RefCount: 1
m_Data: {fileID: -1414388895, guid: 7df47ab88bc919c40831e8bdd2a64fbd, type: 3}
- m_RefCount: 1
m_Data: {fileID: -835259504, guid: 7df47ab88bc919c40831e8bdd2a64fbd, type: 3}
m_TileMatrixArray:
- m_RefCount: 16
m_Data:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_TileColorArray:
- m_RefCount: 16
m_Data: {r: 1, g: 1, b: 1, a: 1}
m_TileObjectToInstantiateArray: []
m_AnimationFrameRate: 1
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Origin: {x: -1, y: -4, z: 0}
m_Size: {x: 4, y: 4, z: 1}
m_TileAnchor: {x: 0.5, y: 0.5, z: 0}
m_TileOrientation: 0
m_TileOrientationMatrix:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
--- !u!483693784 &8479819329709119745
TilemapRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8919849953490985661}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 0
m_ReflectionProbeUsage: 0
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_ChunkSize: {x: 32, y: 32, z: 32}
m_ChunkCullingBounds: {x: 0, y: 0, z: 0}
m_MaxChunkCount: 16
m_MaxFrameAge: 16
m_SortOrder: 0
m_Mode: 0
m_DetectChunkCullingBounds: 0
m_MaskInteraction: 0
--- !u!114 &4204763558256733435
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 12395, guid: 0000000000000000e000000000000000, type: 0}
m_Name: Palette Settings
m_EditorClassIdentifier:
cellSizing: 0
m_TransparencySortMode: 0
m_TransparencySortAxis: {x: 0, y: 0, z: 1}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: b7602e94ef9f77049bd6760bbb9d8b21
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -667,7 +667,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!114 &2104915507
MonoBehaviour:
m_ObjectHideFlags: 0

View File

@ -258,5 +258,31 @@ namespace Configs
return result;
}
/// <summary>
/// 用于加载指定路径下的所有资源,并返回资源名称和加载好的资源的键值对。
/// </summary>
/// <typeparam name="T">资源类型</typeparam>
/// <param name="path">资源路径(相对于 Resources 文件夹)</param>
/// <returns>字典,键为资源名称,值为加载好的资源</returns>
public static Dictionary<string, T> LoadResources<T>(string path) where T : UnityEngine.Object
{
// 创建一个字典来存储资源名称和加载好的资源
Dictionary<string, T> resourceDict = new Dictionary<string, T>();
// 加载指定路径下的所有资源
T[] resources = Resources.LoadAll<T>(path);
foreach (T resource in resources)
{
if (resource != null)
{
// 获取资源名称并存入字典
string resourceName = resource.name;
resourceDict[resourceName] = resource;
}
}
return resourceDict;
}
}
}

View File

@ -1,4 +1,3 @@
using System;
using System.Collections;
using System.Collections.Generic;
@ -12,29 +11,30 @@ namespace Data
public abstract class Define
{
public string defName;
public string label;
public string description;
public string label;
public string packID;
/// <summary>
/// 初始化方法,根据传入的 XML 元素 (<paramref name="xmlDef"/>) 进行处理。
/// 初始化方法,根据传入的 XML 元素 (<paramref name="xmlDef" />) 进行处理。
/// </summary>
/// <param name="xmlDef">包含定义信息的 XML 元素。</param>
/// <returns>
/// 返回一个布尔值:
/// - 如果返回 <c>false</c>,表示按照默认方式处理(依次对 XML 进行变量名识别和赋值)。
/// - 如果返回 <c>true</c>,表示使用自定义方式处理,不进行额外的默认处理。
/// 返回一个布尔值:
/// - 如果返回 <c>false</c>,表示按照默认方式处理(依次对 XML 进行变量名识别和赋值)。
/// - 如果返回 <c>true</c>,表示使用自定义方式处理,不进行额外的默认处理。
/// </returns>
/// <remarks>
/// <para>
/// 该方法的基类实现会自动识别并处理以下三个变量:
/// - <c>defName</c>
/// - <c>label</c>
/// - <c>description</c>
/// </para>
/// <para>
/// 如果需要覆盖默认行为,可以在派生类中重写此方法,并返回 <c>true</c>
/// 以指示框架跳过默认处理逻辑。
/// </para>
/// <para>
/// 该方法的基类实现会自动识别并处理以下三个变量:
/// - <c>defName</c>
/// - <c>label</c>
/// - <c>description</c>
/// </para>
/// <para>
/// 如果需要覆盖默认行为,可以在派生类中重写此方法,并返回 <c>true</c>
/// 以指示框架跳过默认处理逻辑。
/// </para>
/// </remarks>
public virtual bool Init(XElement xmlDef)
{
@ -59,10 +59,7 @@ namespace Data
if (value is IList list && list.Count > 0) // 如果是列表类型
{
sb.AppendLine($"{name}:");
foreach (var item in list)
{
sb.AppendLine($" - {FormatValue(item)}");
}
foreach (var item in list) sb.AppendLine($" - {FormatValue(item)}");
}
else if (value is Define defineObject) // 如果是继承自 Define 的子类
{
@ -89,8 +86,7 @@ namespace Data
{
var type = obj.GetType();
return type.GetFields(BindingFlags.Public | BindingFlags.Instance)
.Cast<MemberInfo>()
.Concat(type.GetProperties(BindingFlags.Public | BindingFlags.Instance).Cast<MemberInfo>());
.Concat(type.GetProperties(BindingFlags.Public | BindingFlags.Instance).Cast<MemberInfo>());
}
private static object GetValue(MemberInfo member, object obj)
@ -117,4 +113,17 @@ namespace Data
}
}
public class DefineReference : Define
{
public Define def;
public string className;
public string fieldName;
public DefineReference(string className, string defName, string fieldName)
{
this.defName = defName;
this.className = className;
this.fieldName = fieldName;
}
}
}

View File

@ -141,19 +141,34 @@ namespace Data
var className = element.Name.ToString();
if (string.IsNullOrEmpty(className))
continue;
// Debug.Log("1");
var def = LoadDefineClass(element,element.Name.ToString());
if (def == null)
continue;
// Debug.Log("2");
def.packID = packID;
if (!defines.ContainsKey(className))
defines.Add(className, new List<Define>());
defines[className].Add(def);
// Debug.Log($"插入{className},{def.defName}");
}
}
private static Define LoadDefineClass(XElement defineDoc,string className)
/// <summary>
/// 根据指定的 XML 元素 (<paramref name="defineDoc"/>) 和类名 (<paramref name="className"/>),
/// 动态加载并初始化一个继承自 <see cref="Define"/> 的类实例。
/// </summary>
/// <param name="defineDoc">包含类定义的 XML 元素 (<see cref="XElement"/>)。</param>
/// <param name="className">目标类的全限定名或简短名称。</param>
/// <returns>
/// 如果成功加载并初始化,则返回对应的 <see cref="Define"/> 类实例;
/// 否则返回 null。
/// </returns>
/// <exception cref="ArgumentNullException">
/// 如果 <paramref name="defineDoc"/> 或 <paramref name="className"/> 为 null 或空字符串,则抛出此异常。
/// </exception>
/// <remarks>
/// 该方法通过反射动态加载指定类,并检查其是否继承自 <see cref="Define"/>。
/// 如果类存在且满足条件,则尝试调用其 <see cref="Define.Init(XElement)"/> 方法进行初始化。
/// 如果初始化失败,则使用默认初始化方法 (<see cref="DefaultInitDefine(Define, XElement, Type)"/>)。
/// </remarks>
public static Define LoadDefineClass(XElement defineDoc,string className)
{
var assembly = Assembly.GetExecutingAssembly();
@ -210,7 +225,22 @@ namespace Data
return define;
}
/// <summary>
/// 初始化指定的 <paramref name="define"/> 对象,根据 <paramref name="defineDoc"/> 中的 XML 元素内容,
/// 将对应的字段值赋给 <paramref name="define"/> 对象。
/// </summary>
/// <param name="define">需要初始化的对象实例。</param>
/// <param name="defineDoc">包含字段定义的 XML 元素 (<see cref="XElement"/>)。</param>
/// <param name="defineType">目标对象的类型 (<see cref="Type"/>)。</param>
/// <exception cref="ArgumentNullException">
/// 如果 <paramref name="define"/>、<paramref name="defineDoc"/> 或 <paramref name="defineType"/> 为 null则抛出此异常。
/// </exception>
/// <remarks>
/// 该方法会遍历 <paramref name="defineType"/> 的所有字段(包括公共和非公共字段),
/// 并尝试从 <paramref name="defineDoc"/> 中找到与字段名称匹配的子元素。
/// 如果找到匹配的子元素,则将其值转换为字段的类型并赋值给字段。
/// 如果字段类型继承自 <see cref="Define"/>,则递归调用 <see cref="LoadDefineClass(XElement, string)"/> 方法进行加载。
/// </remarks>
public static void DefaultInitDefine(Define define,XElement defineDoc,Type defineType)
{
var fields = defineType.GetFields(BindingFlags.Public | BindingFlags.Instance | BindingFlags.NonPublic);
@ -225,7 +255,17 @@ namespace Data
{
Object value;
if (IsFieldTypeInheritedFrom(field, typeof(Define)))
value = LoadDefineClass(element, field.FieldType.Name);
{
if (element.HasElements)
{
value = LoadDefineClass(element, field.FieldType.Name);
}
else
{
value = new DefineReference(field.FieldType.Name, element.Value, field.Name);
}
}
else
value = Convert.ChangeType(element.Value, field.FieldType);
field.SetValue(define, value);
@ -303,5 +343,23 @@ namespace Data
// 如果字段的类型直接是基类或其派生类,则返回 true
return fieldType != baseType && baseType.IsAssignableFrom(fieldType);
}
/// <summary>
/// 检查字段的类型是否继承自指定的类
/// </summary>
/// <param name="field">字段信息</param>
/// <param name="baseType">要检查的基类类型</param>
/// <returns>如果字段的类型是基类或其派生类,则返回 true</returns>
public static bool IsFieldTypeInheritedFrom(FieldInfo field, Type baseType)
{
// 获取字段的类型
var fieldType = field.FieldType;
// 如果字段的类型为 null 或不是基类的派生类,则返回 false
if (!baseType.IsAssignableFrom(fieldType))
return false;
// 如果字段的类型直接是基类或其派生类,则返回 true
return fieldType != baseType && baseType.IsAssignableFrom(fieldType);
}
}
}

View File

@ -0,0 +1,50 @@
using System.Collections.Generic;
using System.Xml;
using System.Xml.Linq;
using UnityEditor.Animations;
using UnityEngine.Tilemaps;
namespace Data
{
public class TileDef : Define
{
public string texturePath = "";
public string name = "";
public override bool Init(XElement xmlDef)
{
base.Init(xmlDef);
name = defName;
return false;
}
}
public class TileMappingTableDef : Define
{
public Dictionary<string, string> tileDict = new();
public override bool Init(XElement xmlDef)
{
base.Init(xmlDef);
// 清空字典以确保没有遗留数据
tileDict.Clear();
// 检查 xmlDef 是否为空
if (xmlDef == null)
return false;
foreach (var element in xmlDef.Elements())
{
// 获取子元素的名称作为键
var key = element.Name.LocalName;
// 获取子元素的 value 属性作为值
var value = element.Attribute("value")?.Value;
// 检查 value 是否存在
if (!string.IsNullOrEmpty(value))
{
tileDict[key] = value;
}
}
return true;
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 67d4d2ac30e641189cdf018ad6769f0e
timeCreated: 1752496329

View File

@ -1,18 +1,27 @@
using System;
using System.Collections.Generic;
using System.IO;
using Data;
using UnityEngine;
using Utils;
namespace Managers
{
public class DefineManager : Singleton<DefineManager>
{
private const string coreNamespace = "Data";
private static readonly string[] dataSetFilePath = { "Data", "Mod" };
public Dictionary<string, Dictionary<string, Define>> defines = new();
public Dictionary<string, DefinePack> packs = new();
/// <summary>
/// 初始化定义管理器,加载所有定义包并构建定义字典。
/// </summary>
/// <remarks>
/// 该方法执行以下操作:
/// 1. 获取指定路径下的所有子文件夹,每个子文件夹代表一个定义包。
/// 2. 遍历每个定义包,尝试加载其中的定义数据。
/// 3. 将加载的定义数据按类型分类,并存储到定义字典中。
/// </remarks>
public void Init()
{
var packFolder = Configs.ConfigProcessor.GetSubFolders(new(dataSetFilePath));
@ -21,7 +30,7 @@ namespace Managers
var pack = new DefinePack();
if (pack.LoadPack(folder)) packs.Add(pack.packID, pack);
}
List<Tuple<Define,DefineReference>> defineRefs = new();
foreach (var pack in packs)
{
foreach (var define in pack.Value.defines)
@ -33,6 +42,37 @@ namespace Managers
foreach (var def in defList)
{
defines[typeName][def.defName] = def;
if (def is DefineReference reference)
{
defineRefs.Add(new(def,reference));
}
}
}
}
foreach (var defineRef in defineRefs)
{
var define = defineRef.Item1;
var reference = defineRef.Item2;
var referenceDef=FindDefine(reference.className,define.defName);
var property = define.GetType().GetProperty(reference.fieldName);
if (property != null && property.CanWrite)
{
property.SetValue(define, referenceDef);
}
else
{
// 如果是字段而不是属性
var field = define.GetType().GetField(reference.fieldName);
if (field != null)
{
field.SetValue(define, referenceDef);
}
else
{
// 处理找不到成员的情况
Debug.LogError($"Could not find field or property '{reference.fieldName}' in type {define.GetType().Name}");
}
}
}

View File

@ -1,3 +1,5 @@
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.Tilemaps;
@ -7,15 +9,24 @@ namespace Map
{
public Tilemap dataLevel;
public Tilemap textureLevel;
public Dictionary<string, TileBase> tileDict = new();
void Start()
{
}
// Update is called once per frame
void Update()
{
tileDict = Configs.ConfigProcessor.LoadResources<TileBase>("TileMap");
var tile= tileDict.Values;
for (int i = 0; i < 100; i++)
{
for (int j = 0; j < 100; j++)
{
textureLevel.SetTile(new(i,j),tile.First());
}
}
}
}
public class TileMappingTable:Utils.Singleton<TileMappingTable>
{
}
}

View File

@ -0,0 +1,133 @@
using System;
namespace Utils
{
public class PerlinNoise
{
private readonly int[] _p; // 混淆表
// 构造函数:初始化混淆表
public PerlinNoise(int seed)
{
// 初始化为0-255的随机排列
_p = new int[512]; // 混淆表加倍以方便使用
var permutation = new int[256];
var random = new Random(seed);
// 填充数组为0-255
for (var i = 0; i < 256; i++) permutation[i] = i;
// 使用Fisher-Yates算法打乱数组
for (var i = 0; i < 256; i++)
{
var swapIndex = random.Next(256);
var temp = permutation[i];
permutation[i] = permutation[swapIndex];
permutation[swapIndex] = temp;
}
// 将打乱后的数组复制两次生成512个元素的混淆表
for (var i = 0; i < 256; i++)
{
_p[i] = permutation[i];
_p[i + 256] = permutation[i];
}
}
// 平滑函数 (6t^5 - 15t^4 + 10t^3)
private double Fade(double t)
{
return t * t * t * (t * (t * 6 - 15) + 10);
}
// 线性插值
private double Lerp(double t, double a, double b)
{
return a + t * (b - a);
}
// 计算梯度向量和距离向量的点积
private double Grad(int hash, double x, double y, double z)
{
// 根据hash值确定使用哪个梯度向量
// 12个梯度向量由以下组合构成(+/-1, +/-1, 0), (+/-1, 0, +/-1), (0, +/-1, +/-1)
switch (hash & 0xF) // 取hash值的最后4位
{
case 0x0: return x + y;
case 0x1: return -x + y;
case 0x2: return x - y;
case 0x3: return -x - y;
case 0x4: return x + z;
case 0x5: return -x + z;
case 0x6: return x - z;
case 0x7: return -x - z;
case 0x8: return y + z;
case 0x9: return -y + z;
case 0xA: return y - z;
case 0xB: return -y - z;
case 0xC: return y + x; // 这四个是重复的但Ken Perlin的原始实现中包含它们。
case 0xD: return -y + x; // 它们对噪声质量影响不大,但保持了表格的一致性。
case 0xE: return y - x;
case 0xF: return -y - x;
default: return 0; // 不应该发生
}
}
/// <summary>
/// 为给定的(x, y, z)坐标生成3D Perlin噪声。
/// 输出值通常在-1到1之间。
/// </summary>
public double Noise(double x, double y, double z)
{
// 找到包含该点的单位立方体
var X = (int)Math.Floor(x) & 255;
var Y = (int)Math.Floor(y) & 255;
var Z = (int)Math.Floor(z) & 255;
// 找到该点在立方体内的相对x, y, z坐标
x -= Math.Floor(x);
y -= Math.Floor(y);
z -= Math.Floor(z);
// 计算x, y, z的平滑曲线
var u = Fade(x);
var v = Fade(y);
var w = Fade(z);
// 对立方体的8个角进行哈希计算
var A = _p[X] + Y;
var AA = _p[A] + Z;
var AB = _p[A + 1] + Z;
var B = _p[X + 1] + Y;
var BA = _p[B] + Z;
var BB = _p[B + 1] + Z;
// 获取所有8个角的哈希值
var H000 = _p[AA];
var H100 = _p[BA];
var H010 = _p[AB];
var H110 = _p[BB];
var H001 = _p[AA + 1];
var H101 = _p[BA + 1];
var H011 = _p[AB + 1];
var H111 = _p[BB + 1];
// 计算所有8个角的点积并插值
double x0, x1, y0, y1;
x0 = Lerp(u, Grad(H000, x, y, z), // (0,0,0)
Grad(H100, x - 1, y, z)); // (1,0,0)
x1 = Lerp(u, Grad(H010, x, y - 1, z), // (0,1,0)
Grad(H110, x - 1, y - 1, z)); // (1,1,0)
y0 = Lerp(v, x0, x1);
x0 = Lerp(u, Grad(H001, x, y, z - 1), // (0,0,1)
Grad(H101, x - 1, y, z - 1)); // (1,0,1)
x1 = Lerp(u, Grad(H011, x, y - 1, z - 1), // (0,1,1)
Grad(H111, x - 1, y - 1, z - 1)); // (1,1,1)
y1 = Lerp(v, x0, x1);
return Lerp(w, y0, y1);
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 76fe380e58f0420db22ca4d403d17978
timeCreated: 1752507440

View File

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<Define>
<TileMappingTableDef>
<defName>GrassDirtTable</defName>
<Grass_Grass_Grass_Grass value="GrassDirt_6"/>
<!-- 2 + (1 * 4) = 6 -->
<Dirt_Dirt_Dirt_Grass value="GrassDirt_13"/>
<!-- 1 + (3 * 4) = 13 -->
<Dirt_Dirt_Grass_Dirt value="GrassDirt_0"/>
<!-- 0 + (0 * 4) = 0 -->
<Dirt_Grass_Dirt_Dirt value="GrassDirt_8"/>
<!-- 0 + (2 * 4) = 8 -->
<Grass_Dirt_Dirt_Dirt value="GrassDirt_15"/>
<!-- 3 + (3 * 4) = 15 -->
<Dirt_Grass_Dirt_Grass value="GrassDirt_4"/>
<!-- 1 + (0 * 4) = 1 -->
<Grass_Dirt_Grass_Dirt value="GrassDirt_11"/>
<!-- 3 + (2 * 4) = 11 -->
<Dirt_Dirt_Grass_Grass value="GrassDirt_12"/>
<!-- 3 + (0 * 4) = 3 -->
<Grass_Grass_Dirt_Dirt value="GrassDirt_9"/>
<!-- 1 + (2 * 4) = 9 -->
<Dirt_Grass_Grass_Grass value="GrassDirt_5"/>
<!-- 1 + (1 * 4) = 5 -->
<Grass_Dirt_Grass_Grass value="GrassDirt_8"/>
<!-- 2 + (0 * 4) = 2 -->
<Grass_Grass_Dirt_Grass value="GrassDirt_10"/>
<!-- 2 + (2 * 4) = 10 -->
<Grass_Grass_Grass_Dirt value="GrassDirt_7"/>
<!-- 3 + (1 * 4) = 7 -->
<Dirt_Grass_Grass_Dirt value="GrassDirt_14"/>
<!-- 2 + (3 * 4) = 14 -->
<Grass_Dirt_Dirt_Grass value="GrassDirt_4"/>
<!-- 0 + (1 * 4) = 4 -->
<Dirt_Dirt_Dirt_Dirt value="GrassDirt_12"/>
<!-- 0 + (3 * 4) = 12 -->
</TileMappingTableDef>
</Define>

View File

@ -1,11 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<Define>
<AttributesDef>
<CharacterAttributesDef>
<defName>CatGirl</defName>
<health>100</health>
<speed>1.2</speed>
<strength>5</strength>
</AttributesDef>
<moveSpeed>1.2</moveSpeed>
</CharacterAttributesDef>
<CharacterDef>
<defName>CatGirl</defName>