diff --git a/Assets/ModelRenderer/Art/Shaders/UnlitVertexColorUnlit.shader b/Assets/ModelRenderer/Art/Shaders/UnlitVertexColorUnlit.shader
index 6d65a30bfb..8fcfa05a78 100644
--- a/Assets/ModelRenderer/Art/Shaders/UnlitVertexColorUnlit.shader
+++ b/Assets/ModelRenderer/Art/Shaders/UnlitVertexColorUnlit.shader
@@ -2,7 +2,14 @@ Shader "BrewMonster/UnlitVertexColorUnlit"
{
Properties
{
- _Texture_1 ("Texture", 2D) = "white" {}
+ _Texture_1 ("Layer 1 Texture", 2D) = "black" {}
+ _Texture_2 ("Layer 2 Texture", 2D) = "black" {}
+ _Texture_3 ("Layer 3 Texture", 2D) = "black" {}
+ _Texture_4 ("Layer 4 Texture", 2D) = "black" {}
+ _Texture_5 ("Layer 5 Texture", 2D) = "black" {}
+ _Texture_6 ("Layer 6 Texture", 2D) = "black" {}
+ _MaskTexture ("Mask Texture", 2D) = "black" {}
+ _MaskTexture2 ("Mask Texture 2", 2D) = "black" {}
_ShadowStrength ("Shadow Strength", Range(0, 1)) = 0.5
_Brightness ("Brightness", Range(0, 10)) = 5.0
}
@@ -34,8 +41,36 @@ Shader "BrewMonster/UnlitVertexColorUnlit"
TEXTURE2D(_Texture_1);
SAMPLER(sampler_Texture_1);
+ TEXTURE2D(_Texture_2);
+ SAMPLER(sampler_Texture_2);
+
+ TEXTURE2D(_Texture_3);
+ SAMPLER(sampler_Texture_3);
+
+ TEXTURE2D(_MaskTexture);
+ SAMPLER(sampler_MaskTexture);
+
+ TEXTURE2D(_Texture_4);
+ SAMPLER(sampler_Texture_4);
+
+ TEXTURE2D(_Texture_5);
+ SAMPLER(sampler_Texture_5);
+
+ TEXTURE2D(_Texture_6);
+ SAMPLER(sampler_Texture_6);
+
+ TEXTURE2D(_MaskTexture2);
+ SAMPLER(sampler_MaskTexture2);
+
CBUFFER_START(UnityPerMaterial)
float4 _Texture_1_ST;
+ float4 _Texture_2_ST;
+ float4 _Texture_3_ST;
+ float4 _Texture_4_ST;
+ float4 _Texture_5_ST;
+ float4 _Texture_6_ST;
+ float4 _MaskTexture_ST;
+ float4 _MaskTexture2_ST;
half _ShadowStrength;
half _Brightness;
CBUFFER_END
@@ -44,6 +79,8 @@ Shader "BrewMonster/UnlitVertexColorUnlit"
{
float4 positionOS : POSITION;
float2 uv : TEXCOORD0;
+ float2 uvMask : TEXCOORD3;
+ float2 uvMask2 : TEXCOORD7;
float3 normalOS : NORMAL;
float4 color : COLOR;
};
@@ -52,10 +89,19 @@ Shader "BrewMonster/UnlitVertexColorUnlit"
{
float4 positionCS : SV_POSITION;
float2 uv : TEXCOORD0;
- float3 positionWS : TEXCOORD1;
- float3 normalWS : TEXCOORD2;
+ float2 uv2 : TEXCOORD1;
+ float2 uv3 : TEXCOORD2;
+ float2 uvMask : TEXCOORD3;
+
+ float2 uv4 : TEXCOORD4;
+ float2 uv5 : TEXCOORD5;
+ float2 uv6 : TEXCOORD6;
+ float2 uvMask2 : TEXCOORD7;
+
+ float3 positionWS : TEXCOORD8;
+ float3 normalWS : TEXCOORD9;
float4 color : COLOR;
- float fogCoord : TEXCOORD3;
+ float fogCoord : TEXCOORD10;
};
Varyings vert(Attributes input)
@@ -76,6 +122,13 @@ Shader "BrewMonster/UnlitVertexColorUnlit"
// UV
output.uv = TRANSFORM_TEX(input.uv, _Texture_1);
+ output.uv2 = TRANSFORM_TEX(input.uv, _Texture_2);
+ output.uv3 = TRANSFORM_TEX(input.uv, _Texture_3);
+ output.uv4 = TRANSFORM_TEX(input.uv, _Texture_4);
+ output.uv5 = TRANSFORM_TEX(input.uv, _Texture_5);
+ output.uv6 = TRANSFORM_TEX(input.uv, _Texture_6);
+ output.uvMask = TRANSFORM_TEX(input.uvMask, _MaskTexture);
+ output.uvMask2 = TRANSFORM_TEX(input.uvMask2, _MaskTexture2);
// Fog
output.fogCoord = ComputeFogFactor(vertexInput.positionCS.z);
@@ -87,10 +140,28 @@ Shader "BrewMonster/UnlitVertexColorUnlit"
{
// Sample the texture
half4 texColor = SAMPLE_TEXTURE2D(_Texture_1, sampler_Texture_1, input.uv);
+ half4 texColor2 = SAMPLE_TEXTURE2D(_Texture_2, sampler_Texture_2, input.uv2);
+ half4 texColor3 = SAMPLE_TEXTURE2D(_Texture_3, sampler_Texture_3, input.uv3);
+ half4 texColor4 = SAMPLE_TEXTURE2D(_Texture_4, sampler_Texture_4, input.uv4);
+ half4 texColor5 = SAMPLE_TEXTURE2D(_Texture_5, sampler_Texture_5, input.uv5);
+ half4 texColor6 = SAMPLE_TEXTURE2D(_Texture_6, sampler_Texture_6, input.uv6);
+ half4 maskColor = SAMPLE_TEXTURE2D(_MaskTexture, sampler_MaskTexture, input.uvMask);
+ half4 maskColor2 = SAMPLE_TEXTURE2D(_MaskTexture2, sampler_MaskTexture2, input.uvMask2);
+
+ // half4 totalWeight = maskColor.r + maskColor.g + maskColor.b;
+ half4 layer1Weight = 1 - (maskColor.r + maskColor.g + maskColor.b);// / totalWeight;
+ half4 layer2Weight = maskColor.g;// / totalWeight;
+ half4 layer3Weight = maskColor.b;// / totalWeight;
+ half4 layer4Weight = maskColor2.r;// / totalWeight;
+ half4 layer5Weight = maskColor2.g;// / totalWeight;
+ half4 layer6Weight = maskColor2.b;// / totalWeight;
// Apply brightness to vertex color then multiply with texture
half4 brightColor = input.color * _Brightness;
- half4 color = texColor * brightColor;
+ half4 color = texColor * layer1Weight + texColor2 * layer2Weight + texColor3 * layer3Weight;
+ color += texColor4 * layer4Weight + texColor5 * layer5Weight + texColor6 * layer6Weight;
+ // color = maskColor2;
+ color *= brightColor;
// Shadow calculation
float4 shadowCoord = TransformWorldToShadowCoord(input.positionWS);
@@ -126,6 +197,9 @@ Shader "BrewMonster/UnlitVertexColorUnlit"
CBUFFER_START(UnityPerMaterial)
float4 _Texture_1_ST;
+ float4 _Texture_2_ST;
+ float4 _Texture_3_ST;
+ float4 _MaskTexture_ST;
half _Brightness;
CBUFFER_END
@@ -133,6 +207,9 @@ Shader "BrewMonster/UnlitVertexColorUnlit"
{
float4 position : POSITION;
float2 texcoord : TEXCOORD0;
+ float2 texcoord2 : TEXCOORD1;
+ float2 texcoord3 : TEXCOORD2;
+ float2 texcoord4 : TEXCOORD3;
};
struct Varyings
diff --git a/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/圆石头路.png b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/圆石头路.png
new file mode 100644
index 0000000000..24bdb5f112
Binary files /dev/null and b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/圆石头路.png differ
diff --git a/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/圆石头路.png.meta b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/圆石头路.png.meta
new file mode 100644
index 0000000000..7318f4d5b7
--- /dev/null
+++ b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/圆石头路.png.meta
@@ -0,0 +1,143 @@
+fileFormatVersion: 2
+guid: d2d95ef77cdc4e64c969442caa95e479
+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
+ - serializedVersion: 4
+ buildTarget: Android
+ 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: iOS
+ 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/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/土地干净.png b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/土地干净.png
new file mode 100644
index 0000000000..caba63fb89
Binary files /dev/null and b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/土地干净.png differ
diff --git a/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/土地干净.png.meta b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/土地干净.png.meta
new file mode 100644
index 0000000000..b5363d6083
--- /dev/null
+++ b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/土地干净.png.meta
@@ -0,0 +1,143 @@
+fileFormatVersion: 2
+guid: 182bc0e55106bfd48a0fe11a16acf78a
+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
+ - serializedVersion: 4
+ buildTarget: Android
+ 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: iOS
+ 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/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/地砖.png b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/地砖.png
new file mode 100644
index 0000000000..73ca7d9860
Binary files /dev/null and b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/地砖.png differ
diff --git a/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/地砖.png.meta b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/地砖.png.meta
new file mode 100644
index 0000000000..458928ac0b
--- /dev/null
+++ b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/地砖.png.meta
@@ -0,0 +1,143 @@
+fileFormatVersion: 2
+guid: 6f0ac04f2e700fa4f985c6269235f4db
+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
+ - serializedVersion: 4
+ buildTarget: Android
+ 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: iOS
+ 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/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/大块山石.png b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/大块山石.png
new file mode 100644
index 0000000000..2e434f5a83
Binary files /dev/null and b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/大块山石.png differ
diff --git a/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/大块山石.png.meta b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/大块山石.png.meta
new file mode 100644
index 0000000000..24b96f2644
--- /dev/null
+++ b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/大块山石.png.meta
@@ -0,0 +1,143 @@
+fileFormatVersion: 2
+guid: e1793ce297934ce4f811bc9fecd84235
+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
+ - serializedVersion: 4
+ buildTarget: Android
+ 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: iOS
+ 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/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/小石头土地.png b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/小石头土地.png
new file mode 100644
index 0000000000..f5b281ce56
Binary files /dev/null and b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/小石头土地.png differ
diff --git a/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/小石头土地.png.meta b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/小石头土地.png.meta
new file mode 100644
index 0000000000..04223e7e48
--- /dev/null
+++ b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/小石头土地.png.meta
@@ -0,0 +1,143 @@
+fileFormatVersion: 2
+guid: 77c26a19a43477349805b77e1f61a5a6
+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
+ - serializedVersion: 4
+ buildTarget: Android
+ 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: iOS
+ 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/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/森林石草地.png b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/森林石草地.png
new file mode 100644
index 0000000000..59e423b4c0
Binary files /dev/null and b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/森林石草地.png differ
diff --git a/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/森林石草地.png.meta b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/森林石草地.png.meta
new file mode 100644
index 0000000000..ffd55adb8e
--- /dev/null
+++ b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/森林石草地.png.meta
@@ -0,0 +1,143 @@
+fileFormatVersion: 2
+guid: f76b0de48c321eb469922435d2fba676
+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
+ - serializedVersion: 4
+ buildTarget: Android
+ 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: iOS
+ 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/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/正石头路.png b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/正石头路.png
new file mode 100644
index 0000000000..af02416b0a
Binary files /dev/null and b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/正石头路.png differ
diff --git a/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/正石头路.png.meta b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/正石头路.png.meta
new file mode 100644
index 0000000000..95c51e6abe
--- /dev/null
+++ b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/正石头路.png.meta
@@ -0,0 +1,143 @@
+fileFormatVersion: 2
+guid: 5923de13232cf8c45893c9f87f7cc971
+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
+ - serializedVersion: 4
+ buildTarget: Android
+ 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: iOS
+ 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/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/河底小石头.png b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/河底小石头.png
new file mode 100644
index 0000000000..5bf0ee941a
Binary files /dev/null and b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/河底小石头.png differ
diff --git a/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/河底小石头.png.meta b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/河底小石头.png.meta
new file mode 100644
index 0000000000..4ad4ca5fdb
--- /dev/null
+++ b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/河底小石头.png.meta
@@ -0,0 +1,143 @@
+fileFormatVersion: 2
+guid: 4a62d7c65e362df44aa763a03950ba9a
+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
+ - serializedVersion: 4
+ buildTarget: Android
+ 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: iOS
+ 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/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/落叶草地.png b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/落叶草地.png
new file mode 100644
index 0000000000..e956b47378
Binary files /dev/null and b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/落叶草地.png differ
diff --git a/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/落叶草地.png.meta b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/落叶草地.png.meta
new file mode 100644
index 0000000000..af39f6b46f
--- /dev/null
+++ b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/落叶草地.png.meta
@@ -0,0 +1,143 @@
+fileFormatVersion: 2
+guid: d64094a49477c6f4aae58280a6309469
+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
+ - serializedVersion: 4
+ buildTarget: Android
+ 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: iOS
+ 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/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/蓝色能量地面.png b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/蓝色能量地面.png
new file mode 100644
index 0000000000..722345e16c
Binary files /dev/null and b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/蓝色能量地面.png differ
diff --git a/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/蓝色能量地面.png.meta b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/蓝色能量地面.png.meta
new file mode 100644
index 0000000000..5b279ae4ff
--- /dev/null
+++ b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/蓝色能量地面.png.meta
@@ -0,0 +1,143 @@
+fileFormatVersion: 2
+guid: 2023d5d869e902b45b053b8e305b0879
+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
+ - serializedVersion: 4
+ buildTarget: Android
+ 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: iOS
+ 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/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/高草地.png b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/高草地.png
new file mode 100644
index 0000000000..7ce7777d96
Binary files /dev/null and b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/高草地.png differ
diff --git a/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/高草地.png.meta b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/高草地.png.meta
new file mode 100644
index 0000000000..2a54d7599b
--- /dev/null
+++ b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/2014/高草地.png.meta
@@ -0,0 +1,143 @@
+fileFormatVersion: 2
+guid: b9321e916df07c247b433d6f0b0ce158
+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
+ - serializedVersion: 4
+ buildTarget: Android
+ 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: iOS
+ 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/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/结婚场景.meta b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/结婚场景.meta
new file mode 100644
index 0000000000..f3b8eb780d
--- /dev/null
+++ b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/结婚场景.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 52f7a7bdf9ded9c44bffa1d98d2bd5be
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/结婚场景/石地面砖5.png b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/结婚场景/石地面砖5.png
new file mode 100644
index 0000000000..75c7b2659d
Binary files /dev/null and b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/结婚场景/石地面砖5.png differ
diff --git a/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/结婚场景/石地面砖5.png.meta b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/结婚场景/石地面砖5.png.meta
new file mode 100644
index 0000000000..ea0cdf453b
--- /dev/null
+++ b/Assets/ModelRenderer/Art/Textures/textures/maps/dds地面贴图/满堂地表贴图/结婚场景/石地面砖5.png.meta
@@ -0,0 +1,143 @@
+fileFormatVersion: 2
+guid: d792b160621dd214198cd2191bf098b3
+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
+ - serializedVersion: 4
+ buildTarget: Android
+ 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: iOS
+ 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/Assets/PerfectWorld/Scene/TaskTest.unity b/Assets/PerfectWorld/Scene/TaskTest.unity
index 4899f388cf..4b95fd26fc 100644
--- a/Assets/PerfectWorld/Scene/TaskTest.unity
+++ b/Assets/PerfectWorld/Scene/TaskTest.unity
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:cab1859604c344f40d95193e09f40e355439020145e4aad304249834dd8361b4
-size 41209
+oid sha256:79aee339596409d8a47e0a553b1257768bd84fa0e0d6261052b33c1077658ab0
+size 41493
diff --git a/Assets/PerfectWorld/Scripts/MainFiles/EC_Game.cs b/Assets/PerfectWorld/Scripts/MainFiles/EC_Game.cs
index e1d3b37f20..95c10c34ee 100644
--- a/Assets/PerfectWorld/Scripts/MainFiles/EC_Game.cs
+++ b/Assets/PerfectWorld/Scripts/MainFiles/EC_Game.cs
@@ -94,9 +94,9 @@ namespace BrewMonster.Network
#if UNITY_EDITOR
if (TaskTest.Instance &&
- TaskTest.Instance.m_pTaskMan != null)
+ TaskTest.m_pTaskMan != null)
{
- m_pTaskMan = TaskTest.Instance.m_pTaskMan;
+ m_pTaskMan = TaskTest.m_pTaskMan;
}
#endif
// Load task templates
diff --git a/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommandFactory.cs b/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommandFactory.cs
index 85c3559046..67f2189fc7 100644
--- a/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommandFactory.cs
+++ b/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommandFactory.cs
@@ -6,6 +6,7 @@ using System.Numerics;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Threading.Tasks;
+using BrewMonster.Scripts.Task;
using static Unity.Burst.Intrinsics.X86.Avx;
namespace CSNetwork.C2SCommand
@@ -583,11 +584,17 @@ namespace CSNetwork.C2SCommand
}
// TODO: Check orginal C++ implementation
- public static Octets CreateTaskNotifyCmd()
+ public static Octets CreateTaskNotifyCmd(byte[] pData, uint dwDataSize)
{
- var cmd = new cmd_header
+ if(pData == null || pData.Length == 0 || dwDataSize == 0)
{
- cmd = (ushort)CommandID.TASK_NOTIFY
+ return null;
+ }
+
+ var cmd = new cmd_task_notify
+ {
+ size = dwDataSize,
+ placeholder = pData
};
return SerializeCommand(CommandID.TASK_NOTIFY, cmd);
}
diff --git a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GPDataType.cs b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GPDataType.cs
index b05abbd041..1029be7765 100644
--- a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GPDataType.cs
+++ b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GPDataType.cs
@@ -1384,7 +1384,38 @@ namespace CSNetwork.GPDataType
public const float MIN_MOVELEN_IN_AIR_WATER = 0.5f;
public const float MIN_MOVELEN_ON_GROUND = 0.5f;
public const float MIN_MOVELEN_FOR_DETECT_VIBRATION = 0.05f;
+
+ ///
+ /// Convert a sequential-layout class into raw byte array.
+ ///
+ public static byte[] ToBytes(T obj) where T : struct
+ {
+ // Calculate size of the object in memory
+ int size = Marshal.SizeOf(obj);
+
+ // Allocate unmanaged buffer
+ IntPtr buffer = Marshal.AllocHGlobal(size);
+
+ try
+ {
+ // Copy managed data → unmanaged buffer
+ Marshal.StructureToPtr(obj, buffer, false);
+
+ // Create byte array and copy unmanaged bytes → managed
+ byte[] result = new byte[size];
+ Marshal.Copy(buffer, result, 0, size);
+
+ return result;
+ }
+ finally
+ {
+ // Always free allocated memory to avoid leaks
+ Marshal.FreeHGlobal(buffer);
+ }
+ }
+
}
+
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct cmd_skill_data
{
@@ -1710,6 +1741,17 @@ namespace CSNetwork.GPDataType
public int expiretime;
public char flag;
};
+
+ [StructLayout(LayoutKind.Sequential, Pack = 1)]
+ public struct cmd_task_notify
+ {
+ public uint size;
+ // In C++, placeholder is byte. It used to first byte of a byte[] data
+ // but in C# we need to define it as byte[] to hold the whole data.
+ //public byte placeholder; // Task data ...
+ public byte[] placeholder; // Task data ...
+ }
+
}
diff --git a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs
index d1bc82be90..e2433a1e56 100644
--- a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs
+++ b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs
@@ -1250,10 +1250,10 @@ namespace CSNetwork
}
}
- public void c2s_SendCmdTaskNotify(ref task_notify_base pBuf, uint sz)
+ public void c2s_SendCmdTaskNotify(byte[] pData, uint dwDataSize)
{
gamedatasend gamedatasend = new gamedatasend();
- gamedatasend.Data = C2SCommandFactory.CreateTaskNotifyCmd();
+ gamedatasend.Data = C2SCommandFactory.CreateTaskNotifyCmd( pData, dwDataSize);
SendProtocol(gamedatasend);
}
}
diff --git a/Assets/PerfectWorld/Scripts/Network/UnityGameSession.cs b/Assets/PerfectWorld/Scripts/Network/UnityGameSession.cs
index cde6b56ab8..a4064b7c29 100644
--- a/Assets/PerfectWorld/Scripts/Network/UnityGameSession.cs
+++ b/Assets/PerfectWorld/Scripts/Network/UnityGameSession.cs
@@ -311,9 +311,9 @@ namespace BrewMonster.Network
Instance._gameSession.c2s_SendCmdGetAllData(byPack, byEquip, byTask);
}
- public static void c2s_CmdTaskNotify(ref task_notify_base pBuf, uint sz)
+ public static void c2s_CmdTaskNotify( byte[] pBuf, uint sz)
{
- Instance._gameSession.c2s_SendCmdTaskNotify(ref pBuf, sz);
+ Instance._gameSession.c2s_SendCmdTaskNotify( pBuf, sz);
}
#endregion
diff --git a/Assets/PerfectWorld/Scripts/Task/ATaskTemplMan.cs b/Assets/PerfectWorld/Scripts/Task/ATaskTemplMan.cs
index 52a97d1945..46446806a2 100644
--- a/Assets/PerfectWorld/Scripts/Task/ATaskTemplMan.cs
+++ b/Assets/PerfectWorld/Scripts/Task/ATaskTemplMan.cs
@@ -13,6 +13,7 @@ namespace BrewMonster.Scripts.Task
/// contains and manages all task templates
/// init in EC_Game
///
+ [Serializable]
public class ATaskTemplMan
{
public int TaskLoadedCount => m_TaskTemplMap.Count;
@@ -373,17 +374,12 @@ namespace BrewMonster.Scripts.Task
// unsigned int set_id = GetTaskTemplMan()->GetTaskStorageId(id);
uint set_id = GetTaskStorageId(id);
-
if (set_id > 0)
{
- // unsigned short* arr = pLst->m_Storages[set_id-1];
- int start = ((int)set_id - 1) * TaskTemplConstants.TASK_STORAGE_LEN;
- ushort[] arr = new ushort[TaskTemplConstants.TASK_STORAGE_LEN];
- Array.Copy(pLst.m_Storages, start, arr, 0, TaskTemplConstants.TASK_STORAGE_LEN);
-
- // int i;
+ int start = (int)set_id - 1;
+ ushort[] arr = pLst.m_Storages;
- for (int i = 0; i < TaskTemplConstants.TASK_STORAGE_LEN; i++)
+ for (int i = start; i < TaskTemplConstants.TASK_STORAGE_LEN; i++)
{
if (arr[i] == (ushort)id)
{
@@ -427,9 +423,9 @@ namespace BrewMonster.Scripts.Task
}
}
- private void _notify_svr(TaskInterface pPlayer, byte uiNotifyType, ushort idData)
+ private void _notify_svr(TaskInterface pTask, byte uReason, ushort uTaskID)
{
- ATaskTempl._notify_svr(pPlayer, uiNotifyType, idData);
+ ATaskTempl._notify_svr(pTask, uReason, uTaskID);
}
public void CheckAutoDelv(TaskInterface pTask)
diff --git a/Assets/PerfectWorld/Scripts/Task/CECTaskInterface.cs b/Assets/PerfectWorld/Scripts/Task/CECTaskInterface.cs
index e0a314c53d..73221fb451 100644
--- a/Assets/PerfectWorld/Scripts/Task/CECTaskInterface.cs
+++ b/Assets/PerfectWorld/Scripts/Task/CECTaskInterface.cs
@@ -7,6 +7,7 @@ using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.InteropServices;
+using CSNetwork;
using UnityEngine;
namespace BrewMonster.Scripts.Task
@@ -362,12 +363,7 @@ namespace BrewMonster.Scripts.Task
return false;
}
- // allocate internal buffers and copy; remaining bytes are zero-initialized in C#
- // m_pActiveListRawBuf = new byte[TaskInterfaceConstants.TASK_ACTIVE_LIST_BUF_SIZE];
- // {
- // int copy = Mathf.Min(iActiveListLen, TaskInterfaceConstants.TASK_ACTIVE_LIST_BUF_SIZE);
- // if (copy > 0) System.Buffer.BlockCopy(pActiveListBuf, 0, m_pActiveListRawBuf, 0, copy);
- // }
+
m_pActiveListBuf = new ActiveTaskList();
m_pActiveListBuf.ReadFromBuffer(pActiveListBuf);
@@ -1310,11 +1306,6 @@ namespace BrewMonster.Scripts.Task
if (m_TasksToConfirm.TryGetValue(iTaskID, out ret)) return ret;
return false;
}
-
- public void NotifyServer(ref task_notify_base pBuf, uint sz)
- {
- UnityGameSession.c2s_CmdTaskNotify(ref pBuf, sz);
- }
public bool CheckVersion()
{
@@ -1436,6 +1427,12 @@ namespace BrewMonster.Scripts.Task
break;
}
}
+
+ public void NotifyServer(byte[] pBuf, uint sz)
+ {
+ // g_pGame->GetGameSession()->c2s_CmdTaskNotify(pBuf, sz);
+ UnityGameSession.c2s_CmdTaskNotify(pBuf, sz);
+ }
}
diff --git a/Assets/PerfectWorld/Scripts/Task/TaskClient.cs b/Assets/PerfectWorld/Scripts/Task/TaskClient.cs
index c39a93ea5f..ea4a0ef74f 100644
--- a/Assets/PerfectWorld/Scripts/Task/TaskClient.cs
+++ b/Assets/PerfectWorld/Scripts/Task/TaskClient.cs
@@ -3,6 +3,7 @@ using System.Reflection;
using System.Runtime.InteropServices;
using BrewMonster.Network;
using BrewMonster.Scripts.Task;
+using CSNetwork.GPDataType;
using PerfectWorld.Scripts.Task;
using UnityEngine;
@@ -312,17 +313,9 @@ namespace BrewMonster.Scripts.Task
if (sz < (uint)Marshal.SizeOf()) return;
// Marshal base notification structure from buffer
- GCHandle handle = GCHandle.Alloc(pBuf, GCHandleType.Pinned);
- task_notify_base pNotify;
- try
- {
- pNotify = Marshal.PtrToStructure(handle.AddrOfPinnedObject());
- }
- finally
- {
- handle.Free();
- }
-
+ task_notify_base pNotify = GPDataTypeHelper.FromBytes(pBuf);
+ BMLogger.Log($"[TaskClient] OnServerNotify: reason={pNotify.reason}, task={pNotify.task}");
+
ATaskTempl pTempl = null;
ActiveTaskEntry pEntry = null;
@@ -409,11 +402,10 @@ namespace BrewMonster.Scripts.Task
{
// Tsvr_task_special_award and special_award structs not defined; need to define
if (sz != Marshal.SizeOf()) return;
- // TODO: OnSpecialAward method not found in ATaskTemplMan; implement if needed
ATaskTemplMan pMan = GetTaskTemplMan();
if (pMan != null)
{
- svr_task_special_award awardNotify = Marshal.PtrToStructure(handle.AddrOfPinnedObject());
+ svr_task_special_award awardNotify = GPDataTypeHelper.FromBytes(pBuf);
pMan.OnSpecialAward(awardNotify.sa, pTask);
if (awardNotify.sa.id1 == 0)
{
@@ -501,7 +493,7 @@ namespace BrewMonster.Scripts.Task
// Clear valid count and process server notification
pTempl.ClearValidCount();
// OnServerNotify method signature may need adjustment for C# (ref/out parameters)
- pTempl.OnServerNotify(pTask, pEntry, ref pNotify, sz);
+ pTempl.OnServerNotify(pTask, pEntry, pNotify, sz, pBuf);
}
// Helper method to get task template manager
diff --git a/Assets/PerfectWorld/Scripts/Task/TaskInterface.cs b/Assets/PerfectWorld/Scripts/Task/TaskInterface.cs
index 3f904993c5..b33ec6f88c 100644
--- a/Assets/PerfectWorld/Scripts/Task/TaskInterface.cs
+++ b/Assets/PerfectWorld/Scripts/Task/TaskInterface.cs
@@ -127,7 +127,7 @@ namespace BrewMonster.Scripts.Task
uint GetAccountTotalCash();
uint GetCurTime();
void SetFinishDlgShowTime(int t);
- void NotifyServer(ref task_notify_base pBuf, uint sz);
+ void NotifyServer( byte[] pBuf, uint sz);
bool CheckVersion();
StorageTaskList GetStorageTaskList();
void ShowPunchBagMessage(bool bSucced,bool bMax,uint MonsterTemplID,int dps,int dph);
diff --git a/Assets/PerfectWorld/Scripts/Task/TaskProcess.cs b/Assets/PerfectWorld/Scripts/Task/TaskProcess.cs
index 6e07377c01..88153334cf 100644
--- a/Assets/PerfectWorld/Scripts/Task/TaskProcess.cs
+++ b/Assets/PerfectWorld/Scripts/Task/TaskProcess.cs
@@ -515,7 +515,7 @@ namespace BrewMonster.Scripts.Task
// bool IsTimeMarkUpdate() const { return (m_uListState & TLIST_STATE_UPDATE_TIME_MARK) != 0; }
// void SetTimeMarkUpdate() { m_uListState |= TLIST_STATE_UPDATE_TIME_MARK; }
// void ClearTimeMarkUpdate() { m_uListState &= ~TLIST_STATE_UPDATE_TIME_MARK; }
- // int GetMaxSimultaneousCount() {return m_uMaxSimultaneousCount ? TASK_MAX_SIMULTANEOUS_COUT : TASK_DEFAULT_MAX_SIMULTANEOUS_COUT;}
+ public int GetMaxSimultaneousCount() {return m_uMaxSimultaneousCount ? TaskTemplConstants.TASK_MAX_SIMULTANEOUS_COUT : TaskTemplConstants.TASK_DEFAULT_MAX_SIMULTANEOUS_COUT;}
public void ExpandMaxSimultaneousCount()
{
m_uMaxSimultaneousCount = true;
diff --git a/Assets/PerfectWorld/Scripts/Task/TaskTempl.Method.cs b/Assets/PerfectWorld/Scripts/Task/TaskTempl.Method.cs
index c430422286..7df89ff3ff 100644
--- a/Assets/PerfectWorld/Scripts/Task/TaskTempl.Method.cs
+++ b/Assets/PerfectWorld/Scripts/Task/TaskTempl.Method.cs
@@ -2,6 +2,7 @@ using System;
using System.Runtime.InteropServices;
using BrewMonster.Network;
using BrewMonster.Scripts.Task;
+using CSNetwork.GPDataType;
using PerfectWorld.Scripts.Task;
namespace BrewMonster.Scripts.Task
@@ -387,8 +388,9 @@ namespace BrewMonster.Scripts.Task
public void OnServerNotify(
TaskInterface pTask,
ActiveTaskEntry pEntry,
- ref task_notify_base pNotify,
- uint sz)
+ task_notify_base pNotify,
+ uint sz,
+ byte[] pBuf) // In C++ pNotify is a pointer to raw data; here we pass the full byte array for parsing
{
uint ulTime = 0, ulCaptainTask = 0;
ActiveTaskList pLst = null;
@@ -396,10 +398,10 @@ namespace BrewMonster.Scripts.Task
task_sub_tags sub_tags = new task_sub_tags();
// memset(&sub_tags, 0, sizeof(sub_tags));
uint i=0;
- svr_monster_killed pKilled = null;
- svr_player_killed pKilledPlayer = null;
+ svr_monster_killed pKilled = new svr_monster_killed();
+ svr_player_killed pKilledPlayer = new svr_player_killed();
StorageTaskList pStorage = pTask.GetStorageTaskList();
- svr_treasure_map pTreasure = null;
+ svr_treasure_map pTreasure = new svr_treasure_map();
var m_enumMethod = m_FixedData.m_enumMethod;
switch (pNotify.reason)
@@ -409,7 +411,7 @@ namespace BrewMonster.Scripts.Task
if (sz != Marshal.SizeOf()) break;
if (m_enumMethod != (uint)TaskCompletionMethod.enumTMKillPlayer) break;
- pKilledPlayer = new svr_player_killed(pNotify);
+ pKilledPlayer = GPDataTypeHelper.FromBytes(pBuf);
int iIndex = pKilledPlayer.index;
if (iIndex < TaskInterfaceConstants.MAX_MONSTER_WANTED)
{
@@ -420,7 +422,7 @@ namespace BrewMonster.Scripts.Task
case TaskTemplConstants.TASK_SVR_NOTIFY_TREASURE_MAP:
if (m_enumMethod == (uint)TaskCompletionMethod.enumTMReachTreasureZone)
{
- pTreasure = new svr_treasure_map(pNotify);
+ pTreasure = GPDataTypeHelper.FromBytes(pBuf);
pEntry.m_iUsefulData1 = pTreasure.treasure_index;
}
break;
@@ -428,7 +430,7 @@ namespace BrewMonster.Scripts.Task
if (sz != Marshal.SizeOf()) break;
if (m_enumMethod != (uint)TaskCompletionMethod.enumTMKillNumMonster) break;
- pKilled = new svr_monster_killed(pNotify);
+ pKilled = GPDataTypeHelper.FromBytes(pBuf);
for (i = 0; i < m_FixedData.m_ulMonsterWanted; i++)
{
@@ -448,8 +450,12 @@ namespace BrewMonster.Scripts.Task
break;
case TaskTemplConstants.TASK_SVR_NOTIFY_NEW:
- var svr_new_task = new svr_new_task(pNotify);
- if (svr_new_task.valid_size((int)sz) ) break;
+ var svr_new_task = GPDataTypeHelper.FromBytes(pBuf);
+ if (svr_new_task.valid_size((int)sz))
+ {
+ BMLogger.LogError($" [TASK_SVR_NOTIFY_NEW] the size of byte not meet !!!");
+ break;
+ }
pLst = pTask.GetActiveTaskList();
svr_new_task.get_data(
ref ulTime,
@@ -511,7 +517,7 @@ namespace BrewMonster.Scripts.Task
break;
case TaskTemplConstants.TASK_SVR_NOTIFY_COMPLETE:
- var svr_task_complete = new svr_task_complete(pNotify);
+ var svr_task_complete = GPDataTypeHelper.FromBytes(pBuf);
if (svr_task_complete.valid_size((int)sz)) break;
svr_task_complete.get_data(
ref ulTime,
@@ -587,7 +593,8 @@ namespace BrewMonster.Scripts.Task
task_notify_base notify = new task_notify_base();
notify.reason = uReason;
notify.task = uTaskID;
- pTask.NotifyServer( ref notify, (uint)Marshal.SizeOf());
+ // pTask.NotifyServer( notify, (uint)Marshal.SizeOf());
+ pTask.NotifyServer( GPDataTypeHelper.ToBytes(notify), (uint)Marshal.SizeOf());
}
#else
// void NotifyClient (TaskInterface* pTask, const ActiveTaskEntry* pEntry, unsigned char uReason, unsigned long ulCurTime, unsigned long ulParam = 0, int dps = 0, int dph = 0) const;
@@ -777,9 +784,35 @@ namespace BrewMonster.Scripts.Task
// 检查任务栏容量与空间 // English: Check task list budget and space
public uint CheckBudget(ActiveTaskList pList)
{
- // TODO: Convert full logic with TASK_HIDDEN_COUNT/TASK_TITLE_TASK_COUNT/TASK_ACTIVE_LIST_MAX_LEN and list counters when constants and fields are available
- // 占位返回通过 // English: Placeholder pass
- return 0u;
+ // Convert full logic with TASK_HIDDEN_COUNT/TASK_TITLE_TASK_COUNT/TASK_ACTIVE_LIST_MAX_LEN and list counters when constants and fields are available
+ // // 占位返回通过 // English: Placeholder pass
+ // return 0u;
+
+ var m_bHidden = m_FixedData.m_bHidden;
+ var m_bDisplayInTitleTaskUI = m_FixedData.m_bHidden;
+ var m_ID = m_FixedData.m_ID;
+
+
+ // ����ﵽ����
+ bool bReachLimit = false;
+ if (m_bHidden)
+ bReachLimit = pList.m_uTopHideTaskCount >= TASK_HIDDEN_COUNT;
+ else if (m_bDisplayInTitleTaskUI)
+ bReachLimit = bReachLimit || pList.m_uTitleTaskCount >= TASK_TITLE_TASK_COUNT;
+ else
+ bReachLimit = bReachLimit || pList.m_uTopShowTaskCount >= pList.GetMaxSimultaneousCount();
+
+ if (bReachLimit)
+ return TaskInterfaceConstants.TASK_PREREQU_FAIL_FULL;
+
+ // Check Task List Empty Space
+ if (pList.m_uUsedCount + m_uDepth > TaskInterfaceConstants.TASK_ACTIVE_LIST_MAX_LEN)
+ return TaskInterfaceConstants.TASK_PREREQU_FAIL_NO_SPACE;
+
+ // �Ƿ�������ͬ����
+ if (pList.GetEntry(m_ID) != null) return TaskInterfaceConstants.TASK_PREREQU_FAIL_SAME_TASK;
+
+ return 0;
}
// inline unsigned long ATaskTempl::CheckGivenItems(TaskInterface* pTask) const
@@ -1980,15 +2013,18 @@ namespace BrewMonster.Scripts.Task
switch (uReason)
{
case TaskTemplConstants.TASK_SVR_NOTIFY_PLAYER_KILLED:
- var svr_player_killed = new svr_player_killed(pNotify);
+ var svr_player_killed = new svr_player_killed();
+ svr_player_killed.baseObj = pNotify;
+
svr_player_killed.player_num = pEntry.m_wMonsterNum[ulParam];
svr_player_killed.index = (ushort)ulParam;
sz = Marshal.SizeOf(svr_player_killed);
break;
case TaskTemplConstants.TASK_SVR_NOTIFY_MONSTER_KILLED:
{
- var svrMonsterKilled = new svr_monster_killed(pNotify)
+ var svrMonsterKilled = new svr_monster_killed()
{
+ baseObj = pNotify,
monster_id = m_MonsterWanted[ulParam].m_ulMonsterTemplId,
monster_num = pEntry.m_wMonsterNum[ulParam],
dps = (dps != 0 && dph != 0) ? dps : 0,
@@ -2005,7 +2041,10 @@ namespace BrewMonster.Scripts.Task
// reinterpret_cast(pEntry),
// *(reinterpret_cast(ulParam))
// );
- var svrNewTask = new svr_new_task(pNotify);
+ var svrNewTask = new svr_new_task
+ {
+ baseObj = pNotify,
+ };
svrNewTask.set_data(
ulCurTime,
pEntry.m_ID,
@@ -2020,7 +2059,10 @@ namespace BrewMonster.Scripts.Task
// *(reinterpret_cast(ulParam))
// );
// sz = static_cast(pNotify)->get_size();
- var svrTaskComplete = new svr_task_complete(pNotify);
+ var svrTaskComplete = new svr_task_complete
+ {
+ baseObj = pNotify,
+ };
svrTaskComplete.set_data(
ulCurTime,
Marshal.PtrToStructure((IntPtr)ulParam)
@@ -2033,7 +2075,10 @@ namespace BrewMonster.Scripts.Task
sz = Marshal.SizeOf();
break;
case TaskTemplConstants.TASK_SVR_NOTIFY_ERROR_CODE:
- var svrTaskErrCode = new svr_task_err_code(pNotify);
+ var svrTaskErrCode = new svr_task_err_code
+ {
+ baseObj = pNotify
+ };
svrTaskErrCode.err_code = ulParam;
sz = Marshal.SizeOf( svrTaskErrCode );
break;
diff --git a/Assets/PerfectWorld/Scripts/Task/TaskTempl.Struct.cs b/Assets/PerfectWorld/Scripts/Task/TaskTempl.Struct.cs
index d29f2f3dfb..9e46c1af91 100644
--- a/Assets/PerfectWorld/Scripts/Task/TaskTempl.Struct.cs
+++ b/Assets/PerfectWorld/Scripts/Task/TaskTempl.Struct.cs
@@ -1,4 +1,5 @@
using System;
+using System.Linq;
using System.Runtime.InteropServices;
using CSNetwork.GPDataType;
@@ -38,57 +39,37 @@ namespace BrewMonster.Scripts.Task
[StructLayout(LayoutKind.Sequential, Pack = 1)]
- public class task_notify_base
+ public struct task_notify_base
{
public byte reason;
public ushort task;
};
[StructLayout(LayoutKind.Sequential, Pack = 1)]
- public struct cmd_task_notify
- {
- public uint size;
- public byte placeholder; // Task data ...
- }
-
- [StructLayout(LayoutKind.Sequential, Pack = 1)]
- public class svr_monster_killed : task_notify_base
+ public struct svr_monster_killed
{
+ public task_notify_base baseObj;
public uint monster_id;
public ushort monster_num;
public int dps;
public int dph;
-
- public svr_monster_killed(task_notify_base baseObj)
- {
- reason = baseObj.reason;
- task = baseObj.task;
- }
- };
+ }
[StructLayout(LayoutKind.Sequential, Pack = 1)]
- public class svr_player_killed : task_notify_base
+ public struct svr_player_killed
{
+ public task_notify_base baseObj;
public ushort index;
public ushort player_num;
-
- public svr_player_killed(task_notify_base baseObj)
- {
- reason = baseObj.reason;
- task = baseObj.task;
- }
- };
+
+ }
[StructLayout(LayoutKind.Sequential, Pack = 1)]
- public class svr_task_err_code : task_notify_base
+ public struct svr_task_err_code
{
+ public task_notify_base baseObj;
public uint err_code;
- public svr_task_err_code(task_notify_base baseObj)
- {
- reason = baseObj.reason;
- task = baseObj.task;
- }
};
[StructLayout(LayoutKind.Sequential, Pack = 1)]
@@ -106,8 +87,13 @@ namespace BrewMonster.Scripts.Task
// NOTE: union
[MarshalAs(UnmanagedType.ByValArray, SizeConst = TaskTemplConstants.TASK_STORAGE_COUNT)]
public ushort[] m_StoragesTaskSetCount;
- [MarshalAs(UnmanagedType.ByValArray, SizeConst = TaskTemplConstants.TASK_STORAGE_COUNT)]
- public ushort[] m_StoragesRefreshCount;
+
+ // [MarshalAs(UnmanagedType.ByValArray, SizeConst = TaskTemplConstants.TASK_STORAGE_COUNT)]
+ public ushort[] m_StoragesRefreshCount
+ {
+ get => m_StoragesTaskSetCount;
+ set { m_StoragesTaskSetCount = value; }
+ }
[MarshalAs(UnmanagedType.ByValArray, SizeConst = TaskTemplConstants.TASK_STORAGE_COUNT)]
public uint[] m_StoragesRefreshTime;
@@ -146,7 +132,7 @@ namespace BrewMonster.Scripts.Task
for (int i=0; i < TaskTemplConstants.TASK_STORAGE_COUNT; i++)
{
m_StoragesTaskSetCount[i] = BitConverter.ToUInt16(data, offset + i * 2);
- m_StoragesRefreshCount[i] = BitConverter.ToUInt16(data, offset + i * 2);
+ // m_StoragesRefreshCount[i] = BitConverter.ToUInt16(data, offset + i * 2);
}
offset += TaskTemplConstants.TASK_STORAGE_COUNT * 2;
@@ -163,20 +149,16 @@ namespace BrewMonster.Scripts.Task
}
}
- public class svr_new_task : task_notify_base
+ [ StructLayout(LayoutKind.Sequential, Pack = 1)]
+ public struct svr_new_task
{
+ public task_notify_base baseObj;
public uint cur_time;
public uint cap_task; // In C++ use to store ActiveTaskEntry pointer's address -> In C#, we just store the task ID
public task_sub_tags sub_tags;
// public ActiveTaskEntry cap_task_entry; //
-
- public svr_new_task(task_notify_base baseObj)
- {
- reason = baseObj.reason;
- task = baseObj.task;
- }
-
+
public void set_data(
uint _cur_time,
uint _cap_task,
@@ -210,15 +192,12 @@ namespace BrewMonster.Scripts.Task
}
}
- public class svr_treasure_map : task_notify_base
+ [ StructLayout(LayoutKind.Sequential, Pack = 1)]
+ public struct svr_treasure_map
{
+ public task_notify_base baseObj;
public int treasure_index;
- public svr_treasure_map(task_notify_base baseObj)
- {
- reason = baseObj.reason;
- task = baseObj.task;
- }
}
struct tm {
@@ -281,16 +260,13 @@ namespace BrewMonster.Scripts.Task
// }
}
}
- public class svr_task_complete : task_notify_base
+
+ [ StructLayout(LayoutKind.Sequential, Pack = 1)]
+ public struct svr_task_complete
{
+ public task_notify_base baseObj;
public uint cur_time;
public task_sub_tags sub_tags;
-
- public svr_task_complete(task_notify_base baseObj)
- {
- reason = baseObj.reason;
- task = baseObj.task;
- }
public void set_data(
uint _cur_time,
@@ -330,15 +306,11 @@ namespace BrewMonster.Scripts.Task
};
[StructLayout( LayoutKind.Sequential, Pack = 1)]
- public class svr_task_special_award : task_notify_base
+ public struct svr_task_special_award
{
+ public svr_task_complete baseObj;
public special_award sa;
-
- public svr_task_special_award(task_notify_base baseObj)
- {
- reason = baseObj.reason;
- task = baseObj.task;
- }
+
};
[StructLayout(LayoutKind.Sequential, Pack = 1)]
diff --git a/Assets/PerfectWorld/Scripts/Task/TaskTempl.cs b/Assets/PerfectWorld/Scripts/Task/TaskTempl.cs
index cfe1825d25..9d719f0a22 100644
--- a/Assets/PerfectWorld/Scripts/Task/TaskTempl.cs
+++ b/Assets/PerfectWorld/Scripts/Task/TaskTempl.cs
@@ -109,6 +109,11 @@ namespace BrewMonster.Scripts.Task
public const int TASK_STORAGE_COUNT = 32;
public const int TASK_STORAGE_LEN = 10;
+
+ public const int TASK_DEFAULT_MAX_SIMULTANEOUS_COUT = 20;
+ public const int TASK_MAX_SIMULTANEOUS_COUT = 30;
+ public const int TASK_HIDDEN_COUNT = 30; // formally 6, for test
+ public const int TASK_TITLE_TASK_COUNT = 10 ; // 锟狡猴拷锟斤拷锟斤拷锟斤拷锟斤拷
}
@@ -129,53 +134,53 @@ namespace BrewMonster.Scripts.Task
public short z;
}
- public class ServerNotificationConstants
- {
- // 新任务发放 // New task issued
- public const int TASK_SVR_NOTIFY_NEW = 1;
-
- // 任务完毕 // Task completed
- public const int TASK_SVR_NOTIFY_COMPLETE = 2;
-
- // 任务放弃 // Task abandoned
- public const int TASK_SVR_NOTIFY_GIVE_UP = 3;
-
- // 杀怪数量 // Monster kill count
- public const int TASK_SVR_NOTIFY_MONSTER_KILLED = 4;
-
- // 处于得到奖励状态 // In reward receiving state
- public const int TASK_SVR_NOTIFY_FINISHED = 5;
-
- // 错误码 // Error code
- public const int TASK_SVR_NOTIFY_ERROR_CODE = 6;
-
- // 遗忘生活技能 // Forget life skill
- public const int TASK_SVR_NOTIFY_FORGET_SKILL = 7;
-
- // 动态任务时间标记 // Dynamic task time mark
- public const int TASK_SVR_NOTIFY_DYN_TIME_MARK = 8;
-
- // 动态任务数据 // Dynamic task data
- public const int TASK_SVR_NOTIFY_DYN_DATA = 9;
-
- // 特殊奖励信息 // Special reward info
- public const int TASK_SVR_NOTIFY_SPECIAL_AWARD = 10;
-
- // 仓库数据 // Storage data
- public const int TASK_SVR_NOTIFY_STORAGE = 11;
-
- // 显示全局变量 // Display global variables
- public const int TASK_SVR_NOTIFY_DIS_GLOBAL_VAL = 12;
-
- // 藏宝位置 // Treasure location
- public const int TASK_SVR_NOTIFY_TREASURE_MAP = 13;
-
- // 设置任务列表上限 // Set task list limit
- public const int TASK_SVR_NOTIFY_SET_TASK_LIMIT = 14;
-
- // 杀人数量 // Player kill count
- public const int TASK_SVR_NOTIFY_PLAYER_KILLED = 15;
- }
+ // public class ServerNotificationConstants
+ // {
+ // // 新任务发放 // New task issued
+ // public const int TASK_SVR_NOTIFY_NEW = 1;
+ //
+ // // 任务完毕 // Task completed
+ // public const int TASK_SVR_NOTIFY_COMPLETE = 2;
+ //
+ // // 任务放弃 // Task abandoned
+ // public const int TASK_SVR_NOTIFY_GIVE_UP = 3;
+ //
+ // // 杀怪数量 // Monster kill count
+ // public const int TASK_SVR_NOTIFY_MONSTER_KILLED = 4;
+ //
+ // // 处于得到奖励状态 // In reward receiving state
+ // public const int TASK_SVR_NOTIFY_FINISHED = 5;
+ //
+ // // 错误码 // Error code
+ // public const int TASK_SVR_NOTIFY_ERROR_CODE = 6;
+ //
+ // // 遗忘生活技能 // Forget life skill
+ // public const int TASK_SVR_NOTIFY_FORGET_SKILL = 7;
+ //
+ // // 动态任务时间标记 // Dynamic task time mark
+ // public const int TASK_SVR_NOTIFY_DYN_TIME_MARK = 8;
+ //
+ // // 动态任务数据 // Dynamic task data
+ // public const int TASK_SVR_NOTIFY_DYN_DATA = 9;
+ //
+ // // 特殊奖励信息 // Special reward info
+ // public const int TASK_SVR_NOTIFY_SPECIAL_AWARD = 10;
+ //
+ // // 仓库数据 // Storage data
+ // public const int TASK_SVR_NOTIFY_STORAGE = 11;
+ //
+ // // 显示全局变量 // Display global variables
+ // public const int TASK_SVR_NOTIFY_DIS_GLOBAL_VAL = 12;
+ //
+ // // 藏宝位置 // Treasure location
+ // public const int TASK_SVR_NOTIFY_TREASURE_MAP = 13;
+ //
+ // // 设置任务列表上限 // Set task list limit
+ // public const int TASK_SVR_NOTIFY_SET_TASK_LIMIT = 14;
+ //
+ // // 杀人数量 // Player kill count
+ // public const int TASK_SVR_NOTIFY_PLAYER_KILLED = 15;
+ // }
public class ClientNotificationConstants
{
diff --git a/Assets/PerfectWorld/Scripts/Task/TaskTest.cs b/Assets/PerfectWorld/Scripts/Task/TaskTest.cs
index d444e9f969..922a697489 100644
--- a/Assets/PerfectWorld/Scripts/Task/TaskTest.cs
+++ b/Assets/PerfectWorld/Scripts/Task/TaskTest.cs
@@ -3,6 +3,8 @@ using System;
using System.IO;
using System.Reflection;
using System.Runtime.InteropServices;
+using BrewMonster.Scripts.Task.UI;
+using ModelRenderer.Scripts.Common;
using PerfectWorld.Scripts.Task;
using UnityEngine;
@@ -11,7 +13,8 @@ namespace BrewMonster.Scripts.Task
{
public class TaskTest : MonoSingleton
{
- public ATaskTemplMan m_pTaskMan;
+ public GameObject m_pTaskDlg;
+ public static ATaskTemplMan m_pTaskMan; // use static to store loaded data across instances
public bool WasLoadTaskData = false;
private void OnValidate()
@@ -19,6 +22,27 @@ namespace BrewMonster.Scripts.Task
WasLoadTaskData = m_pTaskMan != null && m_pTaskMan.TaskLoadedCount > 0;
}
+ private void Update()
+ {
+#if UNITY_EDITOR
+ if (Input.GetKeyDown(KeyCode.Q))
+ {
+ m_pTaskDlg.SetActive(!m_pTaskDlg.activeInHierarchy);
+ }
+#endif
+ }
+
+ [ContextMenu("Show Task Name")]
+ public void ShowTaskName()
+ {
+
+ var text01 = ByteToStringUtils.UshortArrayToUnicodeString(m_pTaskMan
+ .GetTaskTemplByID((uint)TaskTemplConstants.TASK_SPECIAL_AWARD[0]).m_FixedData.m_szName);
+ var text02 = ByteToStringUtils.UshortArrayToUnicodeString(m_pTaskMan
+ .GetTaskTemplByID((uint)TaskTemplConstants.TASK_SPECIAL_AWARD[1]).m_FixedData.m_szName);
+ Debug.Log($" Task Name 01: {text01} \n Task Name 02: {text02}");
+ }
+
[ContextMenu("Load Data")]
void LoadTaskData()
{
diff --git a/Assets/PerfectWorld/Scripts/Task/UI/DlgTask.cs b/Assets/PerfectWorld/Scripts/Task/UI/DlgTask.cs
index f352c2b71f..4d9184acbb 100644
--- a/Assets/PerfectWorld/Scripts/Task/UI/DlgTask.cs
+++ b/Assets/PerfectWorld/Scripts/Task/UI/DlgTask.cs
@@ -29,7 +29,6 @@ namespace BrewMonster.Scripts.Task.UI
}
#endif
-
// Keep original macro as constant for array sizing
public const int CDLGTASK_AWARDITEM_MAX = 8;
@@ -133,6 +132,8 @@ namespace BrewMonster.Scripts.Task.UI
// [中文] 任务跟踪计时器
// [English] Task trace counter
private CECCounter m_TaskTraceCounter = new (); // CECCounter -> object placeholder
+
+ public static DlgTask Instance;
#region Unity METHODS
@@ -160,6 +161,11 @@ namespace BrewMonster.Scripts.Task.UI
Tick();
}
+ private void OnDestroy()
+ {
+ Instance = null;
+ }
+
#endregion
#region PUBLIC METHODS
@@ -605,7 +611,10 @@ namespace BrewMonster.Scripts.Task.UI
}
//
// //�������������б��������ɽ�������ѽ����� zhangyitian
- // bool UpdateQuestView();
+ public bool UpdateQuestView()
+ {
+ return UpdateTask() && SearchForTask();
+ }
//
// bool IsPQTaskOrSubTask(int idTask);
// bool IsTreasureMapTask(int idTask);
diff --git a/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs b/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs
index 291031739d..b43ace4a56 100644
--- a/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs
+++ b/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs
@@ -6,6 +6,8 @@ using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
+using BrewMonster.Scripts.Task;
+using BrewMonster.Scripts.Task.UI;
using UnityEngine;
namespace BrewMonster.UI
@@ -15,6 +17,7 @@ namespace BrewMonster.UI
DlgNPC m_pDlgNPC;
public NPC_ESSENCE? m_pCurNPCEssence;
public int m_idCurFinishTask = -1;
+ private DlgTask m_pDlgTask => DlgTask.Instance;
public static bool TALKPROC_IS_TERMINAL(uint id)
{
@@ -59,6 +62,47 @@ namespace BrewMonster.UI
//EC_Game.GetGameRun().GetHostPlayer().EndNPCService();
EC_ManMessageMono.Instance.EC_ManPlayer.GetHostPlayer().EndNPCService();
}
+
+ public bool UpdateTask(uint idTask, int reason)
+ {
+ // TODO:
+ // CDlgTaskTrace* pDlg = dynamic_cast(GetDialog("Win_QuestMinion"));
+ // if (pDlg) {
+ // pDlg->SetBtnUnTraceY(-1, 0);
+ // pDlg->UpdateContributionTask();
+ // if (reason == TASK_SVR_NOTIFY_NEW)
+ // pDlg->OnTaskNew(idTask);
+ // }
+
+ // TODO
+ // ���´����������
+ // if (reason == TaskTemplConstants.TASK_SVR_NOTIFY_NEW)
+ // {
+ // m_pDlgQuestionTask.AddQuestionTask(idTask);
+ // }
+ // else if (reason == TaskTemplConstants.TASK_SVR_NOTIFY_COMPLETE || reason == TaskTemplConstants.TASK_SVR_NOTIFY_GIVE_UP)
+ // {
+ // m_pDlgQuestionTask.RemoveQuestionTask(idTask);
+ // }
+
+ if(reason == TaskTemplConstants.TASK_SVR_NOTIFY_STORAGE)
+ {
+ // TODO
+ // CDlgTaskList* pDlg = (CDlgTaskList*)GetDialog("Win_QuestList");
+ // if (pDlg && pDlg.IsShow())
+ // {
+ // // refresh data in OnShow()
+ // pDlg.RefreshTaskList();
+ // }
+ return true;
+ }
+ else
+ {
+ // zhangyitian 20140521
+ // �������ʱ���ɽ������б�ҲҪ���£������˿ɽ������б������µ�����
+ return m_pDlgTask.UpdateQuestView();
+ }
+ }
}
public enum EC_GAMEUI_ICONS
diff --git a/Assets/PerfectWorld/Scripts/UI/HUDPlayer.cs b/Assets/PerfectWorld/Scripts/UI/HUDPlayer.cs
index ce7c7ea87c..8e55d1efad 100644
--- a/Assets/PerfectWorld/Scripts/UI/HUDPlayer.cs
+++ b/Assets/PerfectWorld/Scripts/UI/HUDPlayer.cs
@@ -44,7 +44,7 @@ namespace BrewMonster
private void UpdateHostPlayerInfoUI(cmd_self_info_00 obj)
{
- BMLogger.LogError("Update HUD Player Info");
+ // BMLogger.LogError("Update HUD Player Info");
healthText.text = $"{obj.iHP}/{obj.iMaxHP}";
manaText.text = $"{obj.iMP}/{obj.iMaxMP}";
expText.text = $"{((float)obj.iExp/neededExp)*100}%";
diff --git a/Assets/PerfectWorld/Scripts/UI/Login/LoginScreenUI.cs b/Assets/PerfectWorld/Scripts/UI/Login/LoginScreenUI.cs
index fd8b05427e..aff7ee75ef 100644
--- a/Assets/PerfectWorld/Scripts/UI/Login/LoginScreenUI.cs
+++ b/Assets/PerfectWorld/Scripts/UI/Login/LoginScreenUI.cs
@@ -159,10 +159,7 @@ namespace BrewMonster.UI
UnityGameSession.RequestAllInventoriesAsync(() => { /*BMLogger.Log("Sent Inventory Detail Requests (all packs)");*/ }, 0, 1, 2);
await Task.Delay(1000);
UnityGameSession.RequestCheckSecurityPassWd("");
- await Task.Delay(10000);
- UnityGameSession.RequesrQueryPlayerCash();
await Task.Delay(1000);
-
}
//private void OnInventoryReceived(List inventoryData)
diff --git a/Assets/PerfectWorld/Scripts/UI/UIPlayer.cs b/Assets/PerfectWorld/Scripts/UI/UIPlayer.cs
index 3f6b670746..7965f78638 100644
--- a/Assets/PerfectWorld/Scripts/UI/UIPlayer.cs
+++ b/Assets/PerfectWorld/Scripts/UI/UIPlayer.cs
@@ -9,11 +9,12 @@ namespace BrewMonster.PerfectWorld.Scripts.UI
public class UIPlayer : MonoBehaviour
{
public Image healthImage;
- // public TextMeshProUGUI healthText;
- public CECHostPlayer hostplayer;
+ // public TextMeshProUGUI healthText;
+ [Header("DEBUG")]
+ [SerializeField] private CECPlayer hostplayer;
private void Start()
{
- hostplayer = GetComponentInParent();
+ hostplayer = GetComponentInParent();
if (hostplayer == null)
{
Debug.LogError("Host player not found");
diff --git a/Assets/Scenes/a61.unity b/Assets/Scenes/a61.unity
index fd6057f60b..9d6d48ae01 100644
--- a/Assets/Scenes/a61.unity
+++ b/Assets/Scenes/a61.unity
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:73d34a362e429fa75e583ca88989d3ab3d29f8d85bcdff8fa64582b7145930c2
-size 530552564
+oid sha256:a7e6f5ba276f3a9bc3eef485161bba926dcdbb3e98f53fd0cebd57efbf8a8bbc
+size 200173095
diff --git a/Assets/Scenes/a61_Te.unity b/Assets/Scenes/a61_Te.unity
new file mode 100644
index 0000000000..dec2e9c1c1
--- /dev/null
+++ b/Assets/Scenes/a61_Te.unity
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2dbddc1e295aac8a88c415e4dd325144090f2a3289e9249b142ca5513d692cdb
+size 192046192
diff --git a/Assets/Scenes/a61_Te.unity.meta b/Assets/Scenes/a61_Te.unity.meta
new file mode 100644
index 0000000000..4c1ccddc66
--- /dev/null
+++ b/Assets/Scenes/a61_Te.unity.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: d8506df92f662514986fe5556809250e
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/CECHostPlayer.cs b/Assets/Scripts/CECHostPlayer.cs
index 87be8267d8..2e87a47ab8 100644
--- a/Assets/Scripts/CECHostPlayer.cs
+++ b/Assets/Scripts/CECHostPlayer.cs
@@ -528,7 +528,6 @@ namespace BrewMonster
case int value when value == EC_MsgDef.MSG_HST_WAYPOINT: OnMsgHstWayPoint(Msg); break;
case int value when value == EC_MsgDef.MSG_HST_SKILLDATA: OnMsgHstSkillData(Msg); break;
case int value when value == EC_MsgDef.MSG_HST_DIED: OnMsgHstDied(Msg); break;
- case int value when value == EC_MsgDef.MSG_HST_GOTO: OnMsgHstGoto(Msg); break;
case int value when value == EC_MsgDef.MSG_HST_STARTATTACK: OnMsgHstStartAttack(Msg); break;
case int value when value == EC_MsgDef.MSG_HST_STOPATTACK: OnMsgHstStopAttack(Msg); break;
case int value when value == EC_MsgDef.MSG_HST_SKILLRESULT: OnMsgHstSkillResult(Msg); break;
@@ -1185,6 +1184,9 @@ namespace BrewMonster
m_pWorkMan?.FinishRunningWork(CECHPWork.Host_work_ID.WORK_DEAD);
// Clear corpse state so player is alive again
m_dwStates &= ~(uint)PlayerNPCState.GP_STATE_CORPSE;
+ UnityGameSession.c2s_CmdGetAllData(true, true, false);
+ UnityGameSession.c2s_CmdSendEnterPKPrecinct();
+ UnityGameSession.RequesrQueryPlayerCash();
}
public void OnMsgHstGoto(in ECMSG Msg)
@@ -1335,6 +1337,7 @@ namespace BrewMonster
public async void InitCharacter(cmd_self_info_1 role)
{
SetUpPlayer();
+ m_dwStates = (uint)role.state;
controller = GetComponent();
if (!controller)
{
@@ -1361,7 +1364,6 @@ namespace BrewMonster
{
visual.InitPlayerEventDoneHandler();
}
-
m_aabb.Center = GPDataTypeHelper.g_vOrigin;
m_aabb.Extents.Set(0.3f, 0.9f, 0.3f);
m_aabbServer = m_aabb;
@@ -1378,12 +1380,18 @@ namespace BrewMonster
//CECHPWorkDead pWork = (CECHPWorkDead*)m_pWorkMan->CreateWork(CECHPWork.Host_work_ID.WORK_DEAD);
//pWork->SetBeDeadFlag(true);
//m_pWorkMan->StartWork_p0(pWork);
- EventBus.PublishChannel(GetCharacterID(), new CECPlayer.ClearComActFlagAllRankNodesEvent(true));
- PlayAction((int)PLAYER_ACTION_TYPE.ACT_GROUNDDIE);
- if (PopupManager.Instance != null)
- {
- PopupManager.Instance.OnPlayerDied();
- }
+ EventBus.PublishChannel(GetCharacterID(), new CECPlayer.ClearComActFlagAllRankNodesEvent(true));
+ PlayAction((int)PLAYER_ACTION_TYPE.ACT_GROUNDDIE);
+ if (PopupManager.Instance != null)
+ {
+ PopupManager.Instance.OnPlayerDied();
+ }
+ }
+ else
+ {
+ UnityGameSession.c2s_CmdGetAllData(true, true, false);
+ UnityGameSession.c2s_CmdSendEnterPKPrecinct();
+ UnityGameSession.RequesrQueryPlayerCash();
}
/*
else if (IsSitting())
@@ -1417,10 +1425,7 @@ namespace BrewMonster
}
else
m_pActionSwitcher = new CECActionSwitcherBase(this);
-
- UnityGameSession.c2s_CmdGetAllData(true, true, false);
// TODO: Move this to right flow later , it's just for test now
- UnityGameSession.c2s_CmdSendEnterPKPrecinct();
}
private void OnMsgHstPushMove(JoystickPressEvent joystickPressEvent)