From 55cf9d954e15260f91c5d21820a12f1ee49eb85b Mon Sep 17 00:00:00 2001
From: zzdxxz <2079238449@qq.com>
Date: Tue, 15 Jul 2025 15:26:58 +0800
Subject: [PATCH] (client) feat: Improve map generation logic (#36)
Co-authored-by: zzdxxz <2079238449@qq.com>
Co-committed-by: zzdxxz <2079238449@qq.com>
---
.../Assets/Image/TileMap/GrassSoild.png.meta | 117 -----
.../Assets/Image/TileMap/GrassWater.png.meta | 117 -----
Client/Assets/Resources.meta | 8 +
Client/Assets/{ => Resources}/Image.meta | 0
.../Assets/{ => Resources}/Image/TileMap.meta | 0
.../Image/TileMap/GrassDirtDirtWater.png | Bin
.../Image/TileMap/GrassDirtDirtWater.png.meta | 0
.../Image/TileMap/GrassDirtWaterWater.png | Bin
.../TileMap/GrassDirtWaterWater.png.meta | 0
.../Image/TileMap/GrassGrassDirtWater.png | Bin
.../TileMap/GrassGrassDirtWater.png.meta | 0
.../Image/TileMap/GrassSoild.png | Bin
.../Image/TileMap/GrassSoild.png.meta | 487 ++++++++++++++++++
.../Image/TileMap/GrassWater.png | Bin
.../Image/TileMap/GrassWater.png.meta | 487 ++++++++++++++++++
.../Image/TileMap/SoildWater.png | Bin
.../Image/TileMap/SoildWater.png.meta | 0
Client/Assets/Resources/TileMap.meta | 8 +
.../Resources/TileMap/GrassSoild_0.asset | 36 ++
.../Resources/TileMap/GrassSoild_0.asset.meta | 8 +
.../Resources/TileMap/GrassSoild_1.asset | 36 ++
.../Resources/TileMap/GrassSoild_1.asset.meta | 8 +
.../Resources/TileMap/GrassSoild_10.asset | 36 ++
.../TileMap/GrassSoild_10.asset.meta | 8 +
.../Resources/TileMap/GrassSoild_11.asset | 36 ++
.../TileMap/GrassSoild_11.asset.meta | 8 +
.../Resources/TileMap/GrassSoild_12.asset | 36 ++
.../TileMap/GrassSoild_12.asset.meta | 8 +
.../Resources/TileMap/GrassSoild_13.asset | 36 ++
.../TileMap/GrassSoild_13.asset.meta | 8 +
.../Resources/TileMap/GrassSoild_14.asset | 36 ++
.../TileMap/GrassSoild_14.asset.meta | 8 +
.../Resources/TileMap/GrassSoild_15.asset | 36 ++
.../TileMap/GrassSoild_15.asset.meta | 8 +
.../Resources/TileMap/GrassSoild_2.asset | 36 ++
.../Resources/TileMap/GrassSoild_2.asset.meta | 8 +
.../Resources/TileMap/GrassSoild_3.asset | 36 ++
.../Resources/TileMap/GrassSoild_3.asset.meta | 8 +
.../Resources/TileMap/GrassSoild_4.asset | 36 ++
.../Resources/TileMap/GrassSoild_4.asset.meta | 8 +
.../Resources/TileMap/GrassSoild_5.asset | 36 ++
.../Resources/TileMap/GrassSoild_5.asset.meta | 8 +
.../Resources/TileMap/GrassSoild_6.asset | 36 ++
.../Resources/TileMap/GrassSoild_6.asset.meta | 8 +
.../Resources/TileMap/GrassSoild_7.asset | 36 ++
.../Resources/TileMap/GrassSoild_7.asset.meta | 8 +
.../Resources/TileMap/GrassSoild_8.asset | 36 ++
.../Resources/TileMap/GrassSoild_8.asset.meta | 8 +
.../Resources/TileMap/GrassSoild_9.asset | 36 ++
.../Resources/TileMap/GrassSoild_9.asset.meta | 8 +
.../Resources/TileMap/New Tile Palette.prefab | 429 +++++++++++++++
.../TileMap/New Tile Palette.prefab.meta | 7 +
Client/Assets/Scenes/Test.unity | 2 +-
.../Assets/Scripts/Configs/ConfigProcessor.cs | 26 +
Client/Assets/Scripts/Data/Define.cs | 53 +-
Client/Assets/Scripts/Data/DefinePack.cs | 72 ++-
Client/Assets/Scripts/Data/MapDefine.cs | 50 ++
Client/Assets/Scripts/Data/MapDefine.cs.meta | 3 +
.../Assets/Scripts/Managers/DefineManager.cs | 46 +-
Client/Assets/Scripts/Map/DoubleMap.cs | 25 +-
Client/Assets/Scripts/Utils/PerlinNoise.cs | 133 +++++
.../Assets/Scripts/Utils/PerlinNoise.cs.meta | 3 +
Client/Data/Core/Define/Map/Map.xml | 39 ++
Client/Data/Core/Define/Player/CatGirl.xml | 7 +-
64 files changed, 2545 insertions(+), 278 deletions(-)
delete mode 100644 Client/Assets/Image/TileMap/GrassSoild.png.meta
delete mode 100644 Client/Assets/Image/TileMap/GrassWater.png.meta
create mode 100644 Client/Assets/Resources.meta
rename Client/Assets/{ => Resources}/Image.meta (100%)
rename Client/Assets/{ => Resources}/Image/TileMap.meta (100%)
rename Client/Assets/{ => Resources}/Image/TileMap/GrassDirtDirtWater.png (100%)
rename Client/Assets/{ => Resources}/Image/TileMap/GrassDirtDirtWater.png.meta (100%)
rename Client/Assets/{ => Resources}/Image/TileMap/GrassDirtWaterWater.png (100%)
rename Client/Assets/{ => Resources}/Image/TileMap/GrassDirtWaterWater.png.meta (100%)
rename Client/Assets/{ => Resources}/Image/TileMap/GrassGrassDirtWater.png (100%)
rename Client/Assets/{ => Resources}/Image/TileMap/GrassGrassDirtWater.png.meta (100%)
rename Client/Assets/{ => Resources}/Image/TileMap/GrassSoild.png (100%)
create mode 100644 Client/Assets/Resources/Image/TileMap/GrassSoild.png.meta
rename Client/Assets/{ => Resources}/Image/TileMap/GrassWater.png (100%)
create mode 100644 Client/Assets/Resources/Image/TileMap/GrassWater.png.meta
rename Client/Assets/{ => Resources}/Image/TileMap/SoildWater.png (100%)
rename Client/Assets/{ => Resources}/Image/TileMap/SoildWater.png.meta (100%)
create mode 100644 Client/Assets/Resources/TileMap.meta
create mode 100644 Client/Assets/Resources/TileMap/GrassSoild_0.asset
create mode 100644 Client/Assets/Resources/TileMap/GrassSoild_0.asset.meta
create mode 100644 Client/Assets/Resources/TileMap/GrassSoild_1.asset
create mode 100644 Client/Assets/Resources/TileMap/GrassSoild_1.asset.meta
create mode 100644 Client/Assets/Resources/TileMap/GrassSoild_10.asset
create mode 100644 Client/Assets/Resources/TileMap/GrassSoild_10.asset.meta
create mode 100644 Client/Assets/Resources/TileMap/GrassSoild_11.asset
create mode 100644 Client/Assets/Resources/TileMap/GrassSoild_11.asset.meta
create mode 100644 Client/Assets/Resources/TileMap/GrassSoild_12.asset
create mode 100644 Client/Assets/Resources/TileMap/GrassSoild_12.asset.meta
create mode 100644 Client/Assets/Resources/TileMap/GrassSoild_13.asset
create mode 100644 Client/Assets/Resources/TileMap/GrassSoild_13.asset.meta
create mode 100644 Client/Assets/Resources/TileMap/GrassSoild_14.asset
create mode 100644 Client/Assets/Resources/TileMap/GrassSoild_14.asset.meta
create mode 100644 Client/Assets/Resources/TileMap/GrassSoild_15.asset
create mode 100644 Client/Assets/Resources/TileMap/GrassSoild_15.asset.meta
create mode 100644 Client/Assets/Resources/TileMap/GrassSoild_2.asset
create mode 100644 Client/Assets/Resources/TileMap/GrassSoild_2.asset.meta
create mode 100644 Client/Assets/Resources/TileMap/GrassSoild_3.asset
create mode 100644 Client/Assets/Resources/TileMap/GrassSoild_3.asset.meta
create mode 100644 Client/Assets/Resources/TileMap/GrassSoild_4.asset
create mode 100644 Client/Assets/Resources/TileMap/GrassSoild_4.asset.meta
create mode 100644 Client/Assets/Resources/TileMap/GrassSoild_5.asset
create mode 100644 Client/Assets/Resources/TileMap/GrassSoild_5.asset.meta
create mode 100644 Client/Assets/Resources/TileMap/GrassSoild_6.asset
create mode 100644 Client/Assets/Resources/TileMap/GrassSoild_6.asset.meta
create mode 100644 Client/Assets/Resources/TileMap/GrassSoild_7.asset
create mode 100644 Client/Assets/Resources/TileMap/GrassSoild_7.asset.meta
create mode 100644 Client/Assets/Resources/TileMap/GrassSoild_8.asset
create mode 100644 Client/Assets/Resources/TileMap/GrassSoild_8.asset.meta
create mode 100644 Client/Assets/Resources/TileMap/GrassSoild_9.asset
create mode 100644 Client/Assets/Resources/TileMap/GrassSoild_9.asset.meta
create mode 100644 Client/Assets/Resources/TileMap/New Tile Palette.prefab
create mode 100644 Client/Assets/Resources/TileMap/New Tile Palette.prefab.meta
create mode 100644 Client/Assets/Scripts/Data/MapDefine.cs
create mode 100644 Client/Assets/Scripts/Data/MapDefine.cs.meta
create mode 100644 Client/Assets/Scripts/Utils/PerlinNoise.cs
create mode 100644 Client/Assets/Scripts/Utils/PerlinNoise.cs.meta
create mode 100644 Client/Data/Core/Define/Map/Map.xml
diff --git a/Client/Assets/Image/TileMap/GrassSoild.png.meta b/Client/Assets/Image/TileMap/GrassSoild.png.meta
deleted file mode 100644
index 6ca486a..0000000
--- a/Client/Assets/Image/TileMap/GrassSoild.png.meta
+++ /dev/null
@@ -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:
diff --git a/Client/Assets/Image/TileMap/GrassWater.png.meta b/Client/Assets/Image/TileMap/GrassWater.png.meta
deleted file mode 100644
index 101ec24..0000000
--- a/Client/Assets/Image/TileMap/GrassWater.png.meta
+++ /dev/null
@@ -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:
diff --git a/Client/Assets/Resources.meta b/Client/Assets/Resources.meta
new file mode 100644
index 0000000..338e018
--- /dev/null
+++ b/Client/Assets/Resources.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 822da0aa922f7f24582dbfe06e97cc55
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Client/Assets/Image.meta b/Client/Assets/Resources/Image.meta
similarity index 100%
rename from Client/Assets/Image.meta
rename to Client/Assets/Resources/Image.meta
diff --git a/Client/Assets/Image/TileMap.meta b/Client/Assets/Resources/Image/TileMap.meta
similarity index 100%
rename from Client/Assets/Image/TileMap.meta
rename to Client/Assets/Resources/Image/TileMap.meta
diff --git a/Client/Assets/Image/TileMap/GrassDirtDirtWater.png b/Client/Assets/Resources/Image/TileMap/GrassDirtDirtWater.png
similarity index 100%
rename from Client/Assets/Image/TileMap/GrassDirtDirtWater.png
rename to Client/Assets/Resources/Image/TileMap/GrassDirtDirtWater.png
diff --git a/Client/Assets/Image/TileMap/GrassDirtDirtWater.png.meta b/Client/Assets/Resources/Image/TileMap/GrassDirtDirtWater.png.meta
similarity index 100%
rename from Client/Assets/Image/TileMap/GrassDirtDirtWater.png.meta
rename to Client/Assets/Resources/Image/TileMap/GrassDirtDirtWater.png.meta
diff --git a/Client/Assets/Image/TileMap/GrassDirtWaterWater.png b/Client/Assets/Resources/Image/TileMap/GrassDirtWaterWater.png
similarity index 100%
rename from Client/Assets/Image/TileMap/GrassDirtWaterWater.png
rename to Client/Assets/Resources/Image/TileMap/GrassDirtWaterWater.png
diff --git a/Client/Assets/Image/TileMap/GrassDirtWaterWater.png.meta b/Client/Assets/Resources/Image/TileMap/GrassDirtWaterWater.png.meta
similarity index 100%
rename from Client/Assets/Image/TileMap/GrassDirtWaterWater.png.meta
rename to Client/Assets/Resources/Image/TileMap/GrassDirtWaterWater.png.meta
diff --git a/Client/Assets/Image/TileMap/GrassGrassDirtWater.png b/Client/Assets/Resources/Image/TileMap/GrassGrassDirtWater.png
similarity index 100%
rename from Client/Assets/Image/TileMap/GrassGrassDirtWater.png
rename to Client/Assets/Resources/Image/TileMap/GrassGrassDirtWater.png
diff --git a/Client/Assets/Image/TileMap/GrassGrassDirtWater.png.meta b/Client/Assets/Resources/Image/TileMap/GrassGrassDirtWater.png.meta
similarity index 100%
rename from Client/Assets/Image/TileMap/GrassGrassDirtWater.png.meta
rename to Client/Assets/Resources/Image/TileMap/GrassGrassDirtWater.png.meta
diff --git a/Client/Assets/Image/TileMap/GrassSoild.png b/Client/Assets/Resources/Image/TileMap/GrassSoild.png
similarity index 100%
rename from Client/Assets/Image/TileMap/GrassSoild.png
rename to Client/Assets/Resources/Image/TileMap/GrassSoild.png
diff --git a/Client/Assets/Resources/Image/TileMap/GrassSoild.png.meta b/Client/Assets/Resources/Image/TileMap/GrassSoild.png.meta
new file mode 100644
index 0000000..344367e
--- /dev/null
+++ b/Client/Assets/Resources/Image/TileMap/GrassSoild.png.meta
@@ -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:
diff --git a/Client/Assets/Image/TileMap/GrassWater.png b/Client/Assets/Resources/Image/TileMap/GrassWater.png
similarity index 100%
rename from Client/Assets/Image/TileMap/GrassWater.png
rename to Client/Assets/Resources/Image/TileMap/GrassWater.png
diff --git a/Client/Assets/Resources/Image/TileMap/GrassWater.png.meta b/Client/Assets/Resources/Image/TileMap/GrassWater.png.meta
new file mode 100644
index 0000000..86b96c8
--- /dev/null
+++ b/Client/Assets/Resources/Image/TileMap/GrassWater.png.meta
@@ -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:
diff --git a/Client/Assets/Image/TileMap/SoildWater.png b/Client/Assets/Resources/Image/TileMap/SoildWater.png
similarity index 100%
rename from Client/Assets/Image/TileMap/SoildWater.png
rename to Client/Assets/Resources/Image/TileMap/SoildWater.png
diff --git a/Client/Assets/Image/TileMap/SoildWater.png.meta b/Client/Assets/Resources/Image/TileMap/SoildWater.png.meta
similarity index 100%
rename from Client/Assets/Image/TileMap/SoildWater.png.meta
rename to Client/Assets/Resources/Image/TileMap/SoildWater.png.meta
diff --git a/Client/Assets/Resources/TileMap.meta b/Client/Assets/Resources/TileMap.meta
new file mode 100644
index 0000000..ea6c574
--- /dev/null
+++ b/Client/Assets/Resources/TileMap.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6594553846de62a4faaf69202016b61c
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Client/Assets/Resources/TileMap/GrassSoild_0.asset b/Client/Assets/Resources/TileMap/GrassSoild_0.asset
new file mode 100644
index 0000000..ebeddaa
--- /dev/null
+++ b/Client/Assets/Resources/TileMap/GrassSoild_0.asset
@@ -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
diff --git a/Client/Assets/Resources/TileMap/GrassSoild_0.asset.meta b/Client/Assets/Resources/TileMap/GrassSoild_0.asset.meta
new file mode 100644
index 0000000..634881e
--- /dev/null
+++ b/Client/Assets/Resources/TileMap/GrassSoild_0.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a66c4b205a526f6488344cae59016692
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Client/Assets/Resources/TileMap/GrassSoild_1.asset b/Client/Assets/Resources/TileMap/GrassSoild_1.asset
new file mode 100644
index 0000000..e9c3c9a
--- /dev/null
+++ b/Client/Assets/Resources/TileMap/GrassSoild_1.asset
@@ -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
diff --git a/Client/Assets/Resources/TileMap/GrassSoild_1.asset.meta b/Client/Assets/Resources/TileMap/GrassSoild_1.asset.meta
new file mode 100644
index 0000000..ed2e659
--- /dev/null
+++ b/Client/Assets/Resources/TileMap/GrassSoild_1.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: adb932fa8c0e98e42812fac3ef489d1a
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Client/Assets/Resources/TileMap/GrassSoild_10.asset b/Client/Assets/Resources/TileMap/GrassSoild_10.asset
new file mode 100644
index 0000000..7e1fdbf
--- /dev/null
+++ b/Client/Assets/Resources/TileMap/GrassSoild_10.asset
@@ -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
diff --git a/Client/Assets/Resources/TileMap/GrassSoild_10.asset.meta b/Client/Assets/Resources/TileMap/GrassSoild_10.asset.meta
new file mode 100644
index 0000000..6a0f868
--- /dev/null
+++ b/Client/Assets/Resources/TileMap/GrassSoild_10.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4e5db9650f0caae459d2cae16e7c03d4
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Client/Assets/Resources/TileMap/GrassSoild_11.asset b/Client/Assets/Resources/TileMap/GrassSoild_11.asset
new file mode 100644
index 0000000..d06ddbf
--- /dev/null
+++ b/Client/Assets/Resources/TileMap/GrassSoild_11.asset
@@ -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
diff --git a/Client/Assets/Resources/TileMap/GrassSoild_11.asset.meta b/Client/Assets/Resources/TileMap/GrassSoild_11.asset.meta
new file mode 100644
index 0000000..6a8cd76
--- /dev/null
+++ b/Client/Assets/Resources/TileMap/GrassSoild_11.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: dacf9ff887f871e4a95f2a2b76a6cbd7
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Client/Assets/Resources/TileMap/GrassSoild_12.asset b/Client/Assets/Resources/TileMap/GrassSoild_12.asset
new file mode 100644
index 0000000..46b31f5
--- /dev/null
+++ b/Client/Assets/Resources/TileMap/GrassSoild_12.asset
@@ -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
diff --git a/Client/Assets/Resources/TileMap/GrassSoild_12.asset.meta b/Client/Assets/Resources/TileMap/GrassSoild_12.asset.meta
new file mode 100644
index 0000000..17a8864
--- /dev/null
+++ b/Client/Assets/Resources/TileMap/GrassSoild_12.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ce1d003ccbf433c41a490e9683f2b885
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Client/Assets/Resources/TileMap/GrassSoild_13.asset b/Client/Assets/Resources/TileMap/GrassSoild_13.asset
new file mode 100644
index 0000000..5db442c
--- /dev/null
+++ b/Client/Assets/Resources/TileMap/GrassSoild_13.asset
@@ -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
diff --git a/Client/Assets/Resources/TileMap/GrassSoild_13.asset.meta b/Client/Assets/Resources/TileMap/GrassSoild_13.asset.meta
new file mode 100644
index 0000000..9e6c234
--- /dev/null
+++ b/Client/Assets/Resources/TileMap/GrassSoild_13.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: fed4dd95775cc024382a7f98be9dac70
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Client/Assets/Resources/TileMap/GrassSoild_14.asset b/Client/Assets/Resources/TileMap/GrassSoild_14.asset
new file mode 100644
index 0000000..68551ff
--- /dev/null
+++ b/Client/Assets/Resources/TileMap/GrassSoild_14.asset
@@ -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
diff --git a/Client/Assets/Resources/TileMap/GrassSoild_14.asset.meta b/Client/Assets/Resources/TileMap/GrassSoild_14.asset.meta
new file mode 100644
index 0000000..b8161e4
--- /dev/null
+++ b/Client/Assets/Resources/TileMap/GrassSoild_14.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 75fc44e0e2c76d8499095deba226fdfa
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Client/Assets/Resources/TileMap/GrassSoild_15.asset b/Client/Assets/Resources/TileMap/GrassSoild_15.asset
new file mode 100644
index 0000000..4ba361f
--- /dev/null
+++ b/Client/Assets/Resources/TileMap/GrassSoild_15.asset
@@ -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
diff --git a/Client/Assets/Resources/TileMap/GrassSoild_15.asset.meta b/Client/Assets/Resources/TileMap/GrassSoild_15.asset.meta
new file mode 100644
index 0000000..bea952a
--- /dev/null
+++ b/Client/Assets/Resources/TileMap/GrassSoild_15.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: dbd2cefe86e443a47a01b02f431b60a2
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Client/Assets/Resources/TileMap/GrassSoild_2.asset b/Client/Assets/Resources/TileMap/GrassSoild_2.asset
new file mode 100644
index 0000000..9dd88fd
--- /dev/null
+++ b/Client/Assets/Resources/TileMap/GrassSoild_2.asset
@@ -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
diff --git a/Client/Assets/Resources/TileMap/GrassSoild_2.asset.meta b/Client/Assets/Resources/TileMap/GrassSoild_2.asset.meta
new file mode 100644
index 0000000..006f2e0
--- /dev/null
+++ b/Client/Assets/Resources/TileMap/GrassSoild_2.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 53279ed64c282a843bba6c54e0b9ffbf
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Client/Assets/Resources/TileMap/GrassSoild_3.asset b/Client/Assets/Resources/TileMap/GrassSoild_3.asset
new file mode 100644
index 0000000..38679f3
--- /dev/null
+++ b/Client/Assets/Resources/TileMap/GrassSoild_3.asset
@@ -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
diff --git a/Client/Assets/Resources/TileMap/GrassSoild_3.asset.meta b/Client/Assets/Resources/TileMap/GrassSoild_3.asset.meta
new file mode 100644
index 0000000..cf753f7
--- /dev/null
+++ b/Client/Assets/Resources/TileMap/GrassSoild_3.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: faaf900ad6a7c3d4681c80397f7c3d65
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Client/Assets/Resources/TileMap/GrassSoild_4.asset b/Client/Assets/Resources/TileMap/GrassSoild_4.asset
new file mode 100644
index 0000000..05ed95a
--- /dev/null
+++ b/Client/Assets/Resources/TileMap/GrassSoild_4.asset
@@ -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
diff --git a/Client/Assets/Resources/TileMap/GrassSoild_4.asset.meta b/Client/Assets/Resources/TileMap/GrassSoild_4.asset.meta
new file mode 100644
index 0000000..e30d3d2
--- /dev/null
+++ b/Client/Assets/Resources/TileMap/GrassSoild_4.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b96801fb73875664c910a8a772e8cf59
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Client/Assets/Resources/TileMap/GrassSoild_5.asset b/Client/Assets/Resources/TileMap/GrassSoild_5.asset
new file mode 100644
index 0000000..73a5f4c
--- /dev/null
+++ b/Client/Assets/Resources/TileMap/GrassSoild_5.asset
@@ -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
diff --git a/Client/Assets/Resources/TileMap/GrassSoild_5.asset.meta b/Client/Assets/Resources/TileMap/GrassSoild_5.asset.meta
new file mode 100644
index 0000000..a486611
--- /dev/null
+++ b/Client/Assets/Resources/TileMap/GrassSoild_5.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: fcf24c19caa8ce140a7240825ae2834c
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Client/Assets/Resources/TileMap/GrassSoild_6.asset b/Client/Assets/Resources/TileMap/GrassSoild_6.asset
new file mode 100644
index 0000000..0bbdbc9
--- /dev/null
+++ b/Client/Assets/Resources/TileMap/GrassSoild_6.asset
@@ -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
diff --git a/Client/Assets/Resources/TileMap/GrassSoild_6.asset.meta b/Client/Assets/Resources/TileMap/GrassSoild_6.asset.meta
new file mode 100644
index 0000000..e9755cd
--- /dev/null
+++ b/Client/Assets/Resources/TileMap/GrassSoild_6.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5b99c5db50e5d884d80abc10f5b111c4
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Client/Assets/Resources/TileMap/GrassSoild_7.asset b/Client/Assets/Resources/TileMap/GrassSoild_7.asset
new file mode 100644
index 0000000..2536e6a
--- /dev/null
+++ b/Client/Assets/Resources/TileMap/GrassSoild_7.asset
@@ -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
diff --git a/Client/Assets/Resources/TileMap/GrassSoild_7.asset.meta b/Client/Assets/Resources/TileMap/GrassSoild_7.asset.meta
new file mode 100644
index 0000000..d19b1a6
--- /dev/null
+++ b/Client/Assets/Resources/TileMap/GrassSoild_7.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ada3b309141b5764f94092c2881f8e10
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Client/Assets/Resources/TileMap/GrassSoild_8.asset b/Client/Assets/Resources/TileMap/GrassSoild_8.asset
new file mode 100644
index 0000000..b350ef9
--- /dev/null
+++ b/Client/Assets/Resources/TileMap/GrassSoild_8.asset
@@ -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
diff --git a/Client/Assets/Resources/TileMap/GrassSoild_8.asset.meta b/Client/Assets/Resources/TileMap/GrassSoild_8.asset.meta
new file mode 100644
index 0000000..e027438
--- /dev/null
+++ b/Client/Assets/Resources/TileMap/GrassSoild_8.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 783eb64fca93bfe49a4b5a5762dfd71c
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Client/Assets/Resources/TileMap/GrassSoild_9.asset b/Client/Assets/Resources/TileMap/GrassSoild_9.asset
new file mode 100644
index 0000000..63c0999
--- /dev/null
+++ b/Client/Assets/Resources/TileMap/GrassSoild_9.asset
@@ -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
diff --git a/Client/Assets/Resources/TileMap/GrassSoild_9.asset.meta b/Client/Assets/Resources/TileMap/GrassSoild_9.asset.meta
new file mode 100644
index 0000000..bc75f51
--- /dev/null
+++ b/Client/Assets/Resources/TileMap/GrassSoild_9.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d6a055af314e9d34cbc0d4077b2035db
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Client/Assets/Resources/TileMap/New Tile Palette.prefab b/Client/Assets/Resources/TileMap/New Tile Palette.prefab
new file mode 100644
index 0000000..f055383
--- /dev/null
+++ b/Client/Assets/Resources/TileMap/New Tile Palette.prefab
@@ -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}
diff --git a/Client/Assets/Resources/TileMap/New Tile Palette.prefab.meta b/Client/Assets/Resources/TileMap/New Tile Palette.prefab.meta
new file mode 100644
index 0000000..bb41efc
--- /dev/null
+++ b/Client/Assets/Resources/TileMap/New Tile Palette.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: b7602e94ef9f77049bd6760bbb9d8b21
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Client/Assets/Scenes/Test.unity b/Client/Assets/Scenes/Test.unity
index ebaa11f..4907eac 100644
--- a/Client/Assets/Scenes/Test.unity
+++ b/Client/Assets/Scenes/Test.unity
@@ -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
diff --git a/Client/Assets/Scripts/Configs/ConfigProcessor.cs b/Client/Assets/Scripts/Configs/ConfigProcessor.cs
index 774dfea..3cafbd3 100644
--- a/Client/Assets/Scripts/Configs/ConfigProcessor.cs
+++ b/Client/Assets/Scripts/Configs/ConfigProcessor.cs
@@ -258,5 +258,31 @@ namespace Configs
return result;
}
+ ///
+ /// 用于加载指定路径下的所有资源,并返回资源名称和加载好的资源的键值对。
+ ///
+ /// 资源类型
+ /// 资源路径(相对于 Resources 文件夹)
+ /// 字典,键为资源名称,值为加载好的资源
+ public static Dictionary LoadResources(string path) where T : UnityEngine.Object
+ {
+ // 创建一个字典来存储资源名称和加载好的资源
+ Dictionary resourceDict = new Dictionary();
+
+ // 加载指定路径下的所有资源
+ T[] resources = Resources.LoadAll(path);
+
+ foreach (T resource in resources)
+ {
+ if (resource != null)
+ {
+ // 获取资源名称并存入字典
+ string resourceName = resource.name;
+ resourceDict[resourceName] = resource;
+ }
+ }
+
+ return resourceDict;
+ }
}
}
\ No newline at end of file
diff --git a/Client/Assets/Scripts/Data/Define.cs b/Client/Assets/Scripts/Data/Define.cs
index 3f85e18..db15281 100644
--- a/Client/Assets/Scripts/Data/Define.cs
+++ b/Client/Assets/Scripts/Data/Define.cs
@@ -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;
+
///
- /// 初始化方法,根据传入的 XML 元素 () 进行处理。
+ /// 初始化方法,根据传入的 XML 元素 () 进行处理。
///
/// 包含定义信息的 XML 元素。
///
- /// 返回一个布尔值:
- /// - 如果返回 false,表示按照默认方式处理(依次对 XML 进行变量名识别和赋值)。
- /// - 如果返回 true,表示使用自定义方式处理,不进行额外的默认处理。
+ /// 返回一个布尔值:
+ /// - 如果返回 false,表示按照默认方式处理(依次对 XML 进行变量名识别和赋值)。
+ /// - 如果返回 true,表示使用自定义方式处理,不进行额外的默认处理。
///
///
- ///
- /// 该方法的基类实现会自动识别并处理以下三个变量:
- /// - defName
- /// - label
- /// - description
- ///
- ///
- /// 如果需要覆盖默认行为,可以在派生类中重写此方法,并返回 true
- /// 以指示框架跳过默认处理逻辑。
- ///
+ ///
+ /// 该方法的基类实现会自动识别并处理以下三个变量:
+ /// - defName
+ /// - label
+ /// - description
+ ///
+ ///
+ /// 如果需要覆盖默认行为,可以在派生类中重写此方法,并返回 true
+ /// 以指示框架跳过默认处理逻辑。
+ ///
///
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()
- .Concat(type.GetProperties(BindingFlags.Public | BindingFlags.Instance).Cast());
+ .Concat(type.GetProperties(BindingFlags.Public | BindingFlags.Instance).Cast());
}
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;
+ }
+ }
}
\ No newline at end of file
diff --git a/Client/Assets/Scripts/Data/DefinePack.cs b/Client/Assets/Scripts/Data/DefinePack.cs
index 550229e..32b6e85 100644
--- a/Client/Assets/Scripts/Data/DefinePack.cs
+++ b/Client/Assets/Scripts/Data/DefinePack.cs
@@ -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());
defines[className].Add(def);
- // Debug.Log($"插入{className},{def.defName}");
}
}
-
- private static Define LoadDefineClass(XElement defineDoc,string className)
+ ///
+ /// 根据指定的 XML 元素 () 和类名 (),
+ /// 动态加载并初始化一个继承自 的类实例。
+ ///
+ /// 包含类定义的 XML 元素 ()。
+ /// 目标类的全限定名或简短名称。
+ ///
+ /// 如果成功加载并初始化,则返回对应的 类实例;
+ /// 否则返回 null。
+ ///
+ ///
+ /// 如果 或 为 null 或空字符串,则抛出此异常。
+ ///
+ ///
+ /// 该方法通过反射动态加载指定类,并检查其是否继承自 。
+ /// 如果类存在且满足条件,则尝试调用其 方法进行初始化。
+ /// 如果初始化失败,则使用默认初始化方法 ()。
+ ///
+ public static Define LoadDefineClass(XElement defineDoc,string className)
{
var assembly = Assembly.GetExecutingAssembly();
@@ -210,7 +225,22 @@ namespace Data
return define;
}
-
+ ///
+ /// 初始化指定的 对象,根据 中的 XML 元素内容,
+ /// 将对应的字段值赋给 对象。
+ ///
+ /// 需要初始化的对象实例。
+ /// 包含字段定义的 XML 元素 ()。
+ /// 目标对象的类型 ()。
+ ///
+ /// 如果 、 或 为 null,则抛出此异常。
+ ///
+ ///
+ /// 该方法会遍历 的所有字段(包括公共和非公共字段),
+ /// 并尝试从 中找到与字段名称匹配的子元素。
+ /// 如果找到匹配的子元素,则将其值转换为字段的类型并赋值给字段。
+ /// 如果字段类型继承自 ,则递归调用 方法进行加载。
+ ///
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);
}
+
+ ///
+ /// 检查字段的类型是否继承自指定的类
+ ///
+ /// 字段信息
+ /// 要检查的基类类型
+ /// 如果字段的类型是基类或其派生类,则返回 true
+ 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);
+ }
}
}
\ No newline at end of file
diff --git a/Client/Assets/Scripts/Data/MapDefine.cs b/Client/Assets/Scripts/Data/MapDefine.cs
new file mode 100644
index 0000000..2cedc51
--- /dev/null
+++ b/Client/Assets/Scripts/Data/MapDefine.cs
@@ -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 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;
+ }
+ }
+
+
+}
\ No newline at end of file
diff --git a/Client/Assets/Scripts/Data/MapDefine.cs.meta b/Client/Assets/Scripts/Data/MapDefine.cs.meta
new file mode 100644
index 0000000..4b41e18
--- /dev/null
+++ b/Client/Assets/Scripts/Data/MapDefine.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 67d4d2ac30e641189cdf018ad6769f0e
+timeCreated: 1752496329
\ No newline at end of file
diff --git a/Client/Assets/Scripts/Managers/DefineManager.cs b/Client/Assets/Scripts/Managers/DefineManager.cs
index bdd79a2..7af89ce 100644
--- a/Client/Assets/Scripts/Managers/DefineManager.cs
+++ b/Client/Assets/Scripts/Managers/DefineManager.cs
@@ -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
{
- private const string coreNamespace = "Data";
private static readonly string[] dataSetFilePath = { "Data", "Mod" };
public Dictionary> defines = new();
public Dictionary packs = new();
-
+ ///
+ /// 初始化定义管理器,加载所有定义包并构建定义字典。
+ ///
+ ///
+ /// 该方法执行以下操作:
+ /// 1. 获取指定路径下的所有子文件夹,每个子文件夹代表一个定义包。
+ /// 2. 遍历每个定义包,尝试加载其中的定义数据。
+ /// 3. 将加载的定义数据按类型分类,并存储到定义字典中。
+ ///
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> 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}");
}
}
}
diff --git a/Client/Assets/Scripts/Map/DoubleMap.cs b/Client/Assets/Scripts/Map/DoubleMap.cs
index 9669b07..2d88a58 100644
--- a/Client/Assets/Scripts/Map/DoubleMap.cs
+++ b/Client/Assets/Scripts/Map/DoubleMap.cs
@@ -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 tileDict = new();
void Start()
{
-
- }
-
- // Update is called once per frame
- void Update()
- {
-
+ tileDict = Configs.ConfigProcessor.LoadResources("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
+ {
+
+ }
}
diff --git a/Client/Assets/Scripts/Utils/PerlinNoise.cs b/Client/Assets/Scripts/Utils/PerlinNoise.cs
new file mode 100644
index 0000000..ae052f6
--- /dev/null
+++ b/Client/Assets/Scripts/Utils/PerlinNoise.cs
@@ -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; // 不应该发生
+ }
+ }
+
+ ///
+ /// 为给定的(x, y, z)坐标生成3D Perlin噪声。
+ /// 输出值通常在-1到1之间。
+ ///
+ 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);
+ }
+ }
+}
\ No newline at end of file
diff --git a/Client/Assets/Scripts/Utils/PerlinNoise.cs.meta b/Client/Assets/Scripts/Utils/PerlinNoise.cs.meta
new file mode 100644
index 0000000..683b578
--- /dev/null
+++ b/Client/Assets/Scripts/Utils/PerlinNoise.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 76fe380e58f0420db22ca4d403d17978
+timeCreated: 1752507440
\ No newline at end of file
diff --git a/Client/Data/Core/Define/Map/Map.xml b/Client/Data/Core/Define/Map/Map.xml
new file mode 100644
index 0000000..2c9384d
--- /dev/null
+++ b/Client/Data/Core/Define/Map/Map.xml
@@ -0,0 +1,39 @@
+
+
+
+ GrassDirtTable
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Client/Data/Core/Define/Player/CatGirl.xml b/Client/Data/Core/Define/Player/CatGirl.xml
index 22e2f8c..5516c08 100644
--- a/Client/Data/Core/Define/Player/CatGirl.xml
+++ b/Client/Data/Core/Define/Player/CatGirl.xml
@@ -1,11 +1,10 @@
-
+
CatGirl
100
- 1.2
- 5
-
+ 1.2
+
CatGirl