This commit is contained in:
Tran Hai Nam
2026-05-16 10:33:30 +07:00
34 changed files with 10948 additions and 57 deletions
@@ -49,7 +49,7 @@ TextureImporter:
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteBorder: {x: 3, y: 3, z: 3, w: 3}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
@@ -93,6 +93,19 @@ TextureImporter:
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
spriteSheet:
serializedVersion: 2
sprites: []
@@ -101,7 +114,7 @@ TextureImporter:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
internalID: 1537655665
vertices: []
indices:
edges: []
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

@@ -0,0 +1,153 @@
fileFormatVersion: 2
guid: 69063cfcb3505724e8bd505dc3e28b03
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: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 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
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: common_slide_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 533
height: 17
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: e42a62df77bd0cf44acb009fc5621bc3
internalID: 2042434889
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 2dece465b7235f543b32bcf7ec5425dc
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
common_slide_0: 2042434889
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

@@ -0,0 +1,153 @@
fileFormatVersion: 2
guid: f333bac6e02f98f49b1f69f44f451d54
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: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 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
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: common_slider_0
rect:
serializedVersion: 2
x: 6
y: 8
width: 23
height: 23
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 773c06c514272154f8916873c4bc9597
internalID: -1783195739
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 0d9d62d35ebd1e048a1222e4f02c3bd0
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
common_slider_0: -1783195739
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 500 B

@@ -0,0 +1,153 @@
fileFormatVersion: 2
guid: 7fe023a7136a94d4393d0a3a4901efdb
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: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 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
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: icon_checked_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 22
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: 022fbaeaf7465384ba66ec58aa317a41
internalID: -1390858318
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 1f5988c15a6a16c488898c9526378f0a
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
icon_checked_0: -1390858318
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 370 B

@@ -0,0 +1,153 @@
fileFormatVersion: 2
guid: e806a3056e41c8743a93ff291ebcf2c8
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: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 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
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: icon_tieude_4_0
rect:
serializedVersion: 2
x: 1
y: 1
width: 14
height: 14
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 85de70303a14da84baac3dec13d09aeb
internalID: 1563912341
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 497a4499296da4a4294a088ef036c190
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
icon_tieude_4_0: 1563912341
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

@@ -0,0 +1,153 @@
fileFormatVersion: 2
guid: 3badba543fa647c488ea32bb5ebc8835
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: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 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
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: label_khung_switch_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 96
height: 37
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 116f4392788b6544cad4168e8a8a888d
internalID: 1507717390
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 3217e423a4a794840af3563407cb1749
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
label_khung_switch_0: 1507717390
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
@@ -69,7 +69,7 @@ TextureImporter:
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
@@ -93,6 +93,19 @@ TextureImporter:
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
spriteSheet:
serializedVersion: 2
sprites: []
@@ -12,7 +12,60 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 913f99a0553e9ec438c859c044d5c04b, type: 3}
m_Name: GameRunConfig
m_EditorClassIdentifier:
playerPrefab: {fileID: 6513559496054861882, guid: 1f80fef119a826b4a826baf52a8f92d7, type: 3}
monsterPrefab: {fileID: 6975799234359536760, guid: 244942d3fb9382846b82581ce24fbf4e, type: 3}
npcServerPrefab: {fileID: 2426933851766496167, guid: 9bd42cdc18b3d624db35707155fc50de, type: 3}
testVfxPrefab: {fileID: 2282869967233380084, guid: 88e840e5dac12ed4383d994c7fadfef1, type: 3}
viewDistanceCfg:
- title: Config 1
fShow: 200
fHide: 400
- title: Config 2
fShow: 400
fHide: 600
- title: Config 3
fShow: 600
fHide: 800
- title: Config 4
fShow: 800
fHide: 1000
- title: Config 5
fShow: 1000
fHide: 1200
- title: Config 6
fShow: 1200
fHide: 1400
viewDistanceNPCCfg:
- title: Config 1
fShow: 25
fHide: 40
- title: Config 2
fShow: 40
fHide: 55
- title: Config 3
fShow: 55
fHide: 70
- title: Config 4
fShow: 70
fHide: 85
- title: Config 5
fShow: 85
fHide: 100
- title: Config 6
fShow: 100
fHide: 115
viewDistanceEPCfg:
- title: Config 1
fShow: 25
fHide: 40
- title: Config 2
fShow: 40
fHide: 55
- title: Config 3
fShow: 55
fHide: 70
- title: Config 4
fShow: 70
fHide: 85
- title: Config 5
fShow: 85
fHide: 100
- title: Config 6
fShow: 100
fHide: 115
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 12e3fbc87fab9044abb62aba808775c8
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+278 -11
View File
@@ -682,7 +682,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 0}
m_AnchorMax: {x: 1, y: 0}
m_AnchoredPosition: {x: -365.6, y: 157.9}
m_AnchoredPosition: {x: -365.5996, y: 157.90002}
m_SizeDelta: {x: 60, y: 60}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5677368834917231984
@@ -2901,6 +2901,142 @@ MonoBehaviour:
m_FlexibleWidth: -1
m_FlexibleHeight: -1
m_LayoutPriority: 1
--- !u!1 &1378138514068573007
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1338850449069315884}
- component: {fileID: 4798983205928476451}
- component: {fileID: 1056062056842140503}
m_Layer: 5
m_Name: Text (TMP)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1338850449069315884
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1378138514068573007}
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: 6316423652623308809}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4798983205928476451
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1378138514068573007}
m_CullTransparentMesh: 1
--- !u!114 &1056062056842140503
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1378138514068573007}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text:
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4281479730
m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 24
m_fontSizeBase: 24
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_TextWrappingMode: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 0
m_ActiveFontFeatures: 6e72656b
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_EmojiFallbackSupport: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &1400832610860055065
GameObject:
m_ObjectHideFlags: 0
@@ -5573,7 +5709,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -104.1001, y: -685.9}
m_AnchoredPosition: {x: -104.09961, y: -685.9}
m_SizeDelta: {x: 69, y: 69}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4294505687272824498
@@ -6030,7 +6166,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -573.3, y: -60}
m_AnchoredPosition: {x: -500, y: -60}
m_SizeDelta: {x: 85, y: 95}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3725287594404594500
@@ -7205,7 +7341,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0.97314453, y: 48.68799}
m_AnchoredPosition: {x: 0.9736328, y: 48.68799}
m_SizeDelta: {x: -30.7139, y: -502.456}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7878709850570617337
@@ -8726,7 +8862,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 0}
m_AnchorMax: {x: 1, y: 0}
m_AnchoredPosition: {x: -105.6001, y: 263}
m_AnchoredPosition: {x: -105.59961, y: 263}
m_SizeDelta: {x: 76, y: 76}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1896346771968462987
@@ -9099,7 +9235,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -468.5, y: -61.19995}
m_AnchoredPosition: {x: -395.19922, y: -61.19995}
m_SizeDelta: {x: 93, y: 95}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2051684615504035519
@@ -9988,7 +10124,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -675.9995, y: -62.6}
m_AnchoredPosition: {x: -602.6987, y: -62.6}
m_SizeDelta: {x: 85, y: 99}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6123887107398507141
@@ -10608,6 +10744,127 @@ MonoBehaviour:
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &6286690471151213487
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6316423652623308809}
- component: {fileID: 8479593421816810}
- component: {fileID: 2706050623307446940}
- component: {fileID: 1376098175126032485}
m_Layer: 5
m_Name: SettingBtn
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6316423652623308809
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6286690471151213487}
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: 1338850449069315884}
m_Father: {fileID: 3483809415181351540}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -704, y: -62.6}
m_SizeDelta: {x: 85, y: 99}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8479593421816810
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6286690471151213487}
m_CullTransparentMesh: 1
--- !u!114 &2706050623307446940
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6286690471151213487}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 2dfaf1789fc4d9549aef1e775bd269e2, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &1376098175126032485
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6286690471151213487}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 2706050623307446940}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!1 &6353807544545313732
GameObject:
m_ObjectHideFlags: 0
@@ -12485,6 +12742,7 @@ RectTransform:
- {fileID: 7889600498641702394}
- {fileID: 2430319032688992992}
- {fileID: 8913509984865075419}
- {fileID: 6316423652623308809}
- {fileID: 7306104429597638794}
- {fileID: 5823843793071880086}
- {fileID: 1462603449517194619}
@@ -12521,6 +12779,7 @@ MonoBehaviour:
_escapeBtn: {fileID: 2013061949432893537}
_btnTask: {fileID: 8640845703001841192}
_btnInvntory: {fileID: 7124460838393469068}
_btnSettings: {fileID: 1376098175126032485}
_btnTeam: {fileID: 7702438348439019520}
_btnTaskTrace: {fileID: 3253955040536933532}
_taskTraceParent: {fileID: 2578159539417438268}
@@ -13325,7 +13584,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -791.1102, y: -64.70001}
m_AnchoredPosition: {x: -791.1094, y: -64.70001}
m_SizeDelta: {x: 96, y: 96}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7156160830622099876
@@ -14096,7 +14355,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 219, y: -24}
m_AnchoredPosition: {x: 219, y: -24.000122}
m_SizeDelta: {x: -866.9302, y: 14.923}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4601529256775030850
@@ -17965,7 +18224,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 5834405183358786743, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3}
propertyPath: m_AnchoredPosition.x
value: 41.144287
value: 41.143555
objectReference: {fileID: 0}
- target: {fileID: 5834405183358786743, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3}
propertyPath: m_AnchoredPosition.y
@@ -20552,7 +20811,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 121983901978661093, guid: fd12cafdb76332a488e2a1f3782fe40f, type: 3}
propertyPath: m_AnchoredPosition.x
value: -192.78015
value: -192.7793
objectReference: {fileID: 0}
- target: {fileID: 121983901978661093, guid: fd12cafdb76332a488e2a1f3782fe40f, type: 3}
propertyPath: m_AnchoredPosition.y
@@ -21685,6 +21944,14 @@ PrefabInstance:
propertyPath: m_Name
value: prefab_MiniChat
objectReference: {fileID: 0}
- target: {fileID: 1026350322123039068, guid: 05206a01b3910384cb9a17c74225d554, type: 3}
propertyPath: m_AnchoredPosition.x
value: -157.2002
objectReference: {fileID: 0}
- target: {fileID: 1026350322123039068, guid: 05206a01b3910384cb9a17c74225d554, type: 3}
propertyPath: m_AnchoredPosition.y
value: 151.79999
objectReference: {fileID: 0}
- target: {fileID: 3676046446549609595, guid: 05206a01b3910384cb9a17c74225d554, type: 3}
propertyPath: m_Pivot.x
value: 0.5
@@ -61,3 +61,5 @@ MonoBehaviour:
prefab: {fileID: 7959803810568030828, guid: c3fe60ca49d530e4a9d03e185154c4f5, type: 3}
- id: Win_WorldMap
prefab: {fileID: 6225996695219405878, guid: 2ed5e05eaa1d87341bf25c3cf111cc01, type: 3}
- id: Win_Settings
prefab: {fileID: 5193882765232824931, guid: 12e3fbc87fab9044abb62aba808775c8, type: 3}
@@ -1,4 +1,8 @@
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.Serialization;
namespace BrewMonster
@@ -6,16 +10,20 @@ namespace BrewMonster
[CreateAssetMenu(fileName = "GameRunConfig", menuName = "BrewMonster/Game Run Config")]
public class GameRunConfig : ScriptableObject
{
[FormerlySerializedAs("characterPrefab")]
[Header("Prefabs")]
[SerializeField] private GameObject playerPrefab;
[SerializeField] private GameObject monsterPrefab;
[SerializeField] private GameObject npcServerPrefab;
[SerializeField] private GameObject testVfxPrefab;
[SerializeField] private List<ViewDistance> viewDistanceCfg;
[SerializeField] private List<ViewDistance> viewDistanceNPCCfg;
[SerializeField] private List<ViewDistance> viewDistanceEPCfg;
public GameObject PlayerPrefab => playerPrefab;
public GameObject MonsterPrefab => monsterPrefab;
public GameObject NpcServerPrefab => npcServerPrefab.gameObject;
public GameObject TestVfxPrefab => testVfxPrefab;
public List<ViewDistance> GetViewDistanceCfg { get => viewDistanceCfg;}
public List<ViewDistance> GetViewDistanceNPCCfg { get => viewDistanceNPCCfg;}
public List<ViewDistance> GetViewDistanceEPCfg { get => viewDistanceEPCfg;}
}
[Serializable]
public struct ViewDistance
{
public string title;
public float fShow;
public float fHide;
}
}
@@ -1,6 +1,7 @@
using BrewMonster;
using BrewMonster.Scripts.Task;
using CSNetwork;
using CSNetwork.GPDataType;
using Cysharp.Threading.Tasks;
using ModelRenderer.Scripts.GameData;
using System;
@@ -10,8 +11,9 @@ using System.IO;
using System.Threading.Tasks;
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.Rendering;
using UnityEngine.Rendering.Universal;
using UnityEngine.ResourceManagement.AsyncOperations;
using CSNetwork.GPDataType;
namespace BrewMonster.Network
{
@@ -31,7 +33,7 @@ namespace BrewMonster.Network
private static BrewMonster.CECStringTab m_ItemExtDesc; // Item extend description string table
private static BrewMonster.CECStringTab m_ItemExtProp; // Item extend prop string table
private static BrewMonster.CECStringTab ItemColTab; // Item color string table
private static Dictionary<int, int> m_SuiteEquipTab; // Item suite string table
private static Dictionary<int, int> m_SuiteEquipTab; // Item suite string table
private static BrewMonster.CECStringTab m_SkillDesc = new CECStringTab(); // Skill description string table
private static BrewMonster.CECStringTab m_BuffDesc; // Buff description string table
@@ -40,6 +42,16 @@ namespace BrewMonster.Network
private static int m_iCurCursor; // Current cursor
private static List<int> m_PetAutoSkills = new List<int>();
private static GameRunConfig gameRunConfigSO;
private readonly static string keySettingViewDistance = "_keySettingViewDistance";
private readonly static string keySettingViewDistanceNPC = "_keySettingViewDistanceNPC";
private readonly static string keySettingViewDistanceEP = "_keySettingViewDistanceEP";
private readonly static string keySettingActiveShadow = "_keySettingActiveShadow";
private readonly static string keySettingActiveFullResolution = "_keySettingActiveFullResolution";
private readonly static string keySettingActiveFog = "_keySettingActiveFog";
private static ViewDistance m_viewDistance;
private static ViewDistance m_viewDistanceNPC;
private static ViewDistance m_viewDistanceEP;
#endregion
#region Properties
@@ -140,6 +152,7 @@ namespace BrewMonster.Network
LoadPetAutoSkill();
GlobalDataManager.globaldata_load();
InitSetting();
return true;
}
public static CECConfigs GetConfigs() { return m_pConfigs; }
@@ -615,6 +628,71 @@ namespace BrewMonster.Network
return null;
}
}
public static GameRunConfig GameRunConfigSO
{
get
{
if(gameRunConfigSO == null)
{
gameRunConfigSO = Resources.Load<GameRunConfig>("GameRunConfig");
}
return gameRunConfigSO;
}
}
public static void InitSetting()
{
int index = PlayerPrefs.GetInt(keySettingViewDistance, defaultValue: 5);
m_viewDistance = GameRunConfigSO.GetViewDistanceCfg[index];
index = PlayerPrefs.GetInt(keySettingViewDistanceNPC, defaultValue: 5);
m_viewDistanceNPC = GameRunConfigSO.GetViewDistanceNPCCfg[index];
index = PlayerPrefs.GetInt(keySettingViewDistanceEP, defaultValue: 5);
m_viewDistanceEP = GameRunConfigSO.GetViewDistanceEPCfg[index];
}
public static ViewDistance GetSettingViewDistance()
{
return m_viewDistance;
}
public static ViewDistance GetSettingViewDistanceNPC()
{
return m_viewDistanceNPC;
}
public static ViewDistance GetSettingViewDistanceEP()
{
return m_viewDistanceEP;
}
public static bool GetSettingActiveShadow()
{
int index = PlayerPrefs.GetInt(keySettingActiveShadow, defaultValue: 1);
return index == 1;
}
public static void SetSettingActiveShadow(bool value)
{
}
public static void SetSettingActiveFullResolution(bool value)
{
}
public static bool GetSettingActiveFullResolution()
{
int index = PlayerPrefs.GetInt(keySettingActiveFullResolution, defaultValue: 1);
return index == 1;
}
public static bool GetSettingActiveFog()
{
int index = PlayerPrefs.GetInt(keySettingActiveFog, defaultValue: 1);
return index == 1;
}
#endregion
}
}
}
+4 -2
View File
@@ -10,7 +10,9 @@ using BrewMonster.Scripts.Chat;
using System.Collections.Generic;
using UnityEngine;
using BrewMonster.Scripts.Skills;
using BrewMonster.Network;
using Animancer;
public class CECNPC : CECObject
{
[SerializeField] protected INFO m_NPCInfo;
@@ -637,11 +639,11 @@ public class CECNPC : CECObject
if(m_modelVisual != null)
{
if(m_fDistToHostH < AddressResourceConfig.m_fDistShowModelVisual)
if(m_fDistToHostH < EC_Game.GetSettingViewDistanceNPC().fShow)
{
m_modelVisual.SetActive(true);
}
else if(m_fDistToHostH > AddressResourceConfig.m_fDistHideModelVisual)
else if(m_fDistToHostH > EC_Game.GetSettingViewDistanceNPC().fHide)
{
m_modelVisual.SetActive(false);
}
@@ -449,11 +449,11 @@ namespace BrewMonster
m_fDistToHostH = CalcDist(pHost.GetPos(), false);
if (m_pPlayerModel != null)
{
if (m_fDistToHostH < AddressResourceConfig.m_fDistShowModelVisual)
if (m_fDistToHostH < EC_Game.GetSettingViewDistanceEP().fShow)
{
m_pPlayerModel.SetActive(true);
}
else if (m_fDistToHostH > AddressResourceConfig.m_fDistHideModelVisual)
else if (m_fDistToHostH > EC_Game.GetSettingViewDistanceEP().fHide)
{
m_pPlayerModel.SetActive(false);
}
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 4b6e00c0a650e9446b61783946078df6
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,113 @@
using BrewMonster.UI;
using System.Collections;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
namespace BrewMonster
{
public class DlgSetting : AUIDialog
{
[Header("Box Button")]
[SerializeField] private Button btn_system;
[SerializeField] private Button btn_interface;
[SerializeField] private Button btn_setting;
[SerializeField] private Button btn_sound;
[SerializeField] private Button btn_default;
[SerializeField] private Button btn_confirm;
[SerializeField] private Button btn_close;
[Header("Content")]
[SerializeField] private GameObject content_interface;
[SerializeField] private GameObject content_sound;
[Header("Sprite")]
[SerializeField] private Sprite tab_active;
[SerializeField] private Sprite tab_unactive;
[Header("Tab Text Color")]
[SerializeField] private Color activeTextColor = Color.white;
[SerializeField] private Color inactiveTextColor = Color.white;
private Button[] tabButtons;
public override void Awake()
{
tabButtons = new[]
{
btn_system,
btn_interface,
btn_setting,
btn_sound
};
}
public override void OnEnable()
{
btn_system.onClick.AddListener(OnBtnSystem);
btn_interface.onClick.AddListener(OnBtnInterface);
btn_setting.onClick.AddListener(OnBtnSetting);
btn_sound.onClick.AddListener(OnBtnSound);
btn_close.onClick.AddListener(OnBtnClose);
}
public override void OnDisable()
{
btn_system.onClick.RemoveListener(OnBtnSystem);
btn_interface.onClick.RemoveListener(OnBtnInterface);
btn_setting.onClick.RemoveListener(OnBtnSetting);
btn_sound.onClick.RemoveListener(OnBtnSound);
btn_close.onClick.RemoveListener(OnBtnClose);
}
private void OnBtnSystem()
{
SetActiveTab(btn_system);
}
private void OnBtnInterface()
{
SetActiveTab(btn_interface);
content_interface.SetActive(true);
content_sound.SetActive(false);
}
private void OnBtnSetting()
{
SetActiveTab(btn_setting);
}
private void OnBtnSound()
{
SetActiveTab(btn_sound);
content_interface.SetActive(false);
content_sound.SetActive(true);
}
private void SetActiveTab(Button activeButton)
{
foreach(Button button in tabButtons)
{
if (button == null)
continue;
Image image = button.GetComponent<Image>();
if(image != null)
{
image.sprite = button == activeButton ? tab_active : tab_unactive;
}
TMP_Text text = button.GetComponentInChildren<TMP_Text>();
if(text != null)
{
text.color = button == activeButton ? activeTextColor : inactiveTextColor;
}
}
}
private void OnBtnClose()
{
CECUIManager.Instance.HideCurrentUIInStack();
}
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 5595fd2d80a58034bb63e5c36da3bd4a
@@ -0,0 +1,45 @@
using BrewMonster.Assets.PerfectWorld.Scripts.UI;
using BrewMonster.Common;
using BrewMonster.Managers;
using BrewMonster.Scripts;
using BrewMonster.Scripts.Managers;
using BrewMonster.UI;
using CSNetwork.GPDataType;
using Cysharp.Threading.Tasks.Triggers;
using PerfectWorld.Scripts.Managers;
using System;
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
namespace BrewMonster
{
public class SettingInterface : MonoBehaviour
{
[Header("Slider Value Level")]
private float valueLevel1 = 0;
private float valueLevel2 = 0.194f;
private float valueLevel3 = 0.409f;
private float valueLevel4 = 0.603f;
private float valueLevel5 = 0.793f;
private float valueLevel6 = 1f;
[Header("slider Text Level")]
[SerializeField] private TextMeshProUGUI txt_level_of_foresight;
[SerializeField] private TextMeshProUGUI txt_level_of_distance_npc_and_mst;
[SerializeField] private TextMeshProUGUI txt_level_of_distance_player_other;
private void OnEnable()
{
}
private void OnDisable()
{
}
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 6683dd582fa268c45af1ece39633a804
@@ -0,0 +1,187 @@
using BrewMonster.Assets.PerfectWorld.Scripts.UI;
using BrewMonster.Common;
using BrewMonster.Managers;
using BrewMonster.Scripts;
using BrewMonster.Scripts.Managers;
using BrewMonster.UI;
using CSNetwork.GPDataType;
using Cysharp.Threading.Tasks.Triggers;
using PerfectWorld.Scripts.Managers;
using System;
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
namespace BrewMonster
{
public class SettingSound : MonoBehaviour
{
[Header("Sound Settings")]
[SerializeField] private Toggle tog_bgm;
[SerializeField] private Toggle tog_sfx;
[SerializeField] private Toggle tog_master;
[SerializeField] private RectTransform handle_bmg;
[SerializeField] private RectTransform handle_sfx;
[SerializeField] private RectTransform handle_master;
[SerializeField] private TextMeshProUGUI txt_bgm;
[SerializeField] private TextMeshProUGUI txt_sfx;
[SerializeField] private TextMeshProUGUI txt_master;
[Header("Sprite")]
[SerializeField] private Sprite switch_off;
[SerializeField] private Sprite switch_on;
[Header("Switch Config")]
private float slideDuration = 0.15f;
private float handleOffPositionX = -88.3f;
private float handleOnPositionX = -27.8f;
private float textOnPositionX = -27.8f;
private float textOffPositionX = 30f;
private Color textOnColor = new Color(0.96f, 0.84f, 0.61f);
private Color textOffColor = new Color(0.6f, 0.6f, 0.6f);
[Header("Slider Value Level")]
private float valueLevel1 = 0;
private float valueLevel2 = 0.173f;
private float valueLevel3 = 0.393f;
private float valueLevel4 = 0.603f;
private float valueLevel5 = 0.797f;
private float valueLevel6 = 1f;
[Header("slider Text Level")]
[SerializeField] private TextMeshProUGUI txt_level_of_bgm;
[SerializeField] private TextMeshProUGUI txt_level_of_sfx;
[SerializeField] private TextMeshProUGUI txt_level_of_master;
private Coroutine bgmCoroutine;
private Coroutine sfxCoroutine;
private Coroutine masterCoroutine;
private void OnEnable()
{
UpdateSwitchInstant(tog_bgm, handle_bmg, txt_bgm);
UpdateSwitchInstant(tog_sfx, handle_sfx, txt_sfx);
UpdateSwitchInstant(tog_master, handle_master, txt_master);
tog_bgm.onValueChanged.AddListener(OnBgmChanged);
tog_sfx.onValueChanged.AddListener(OnSfxChanged);
tog_master.onValueChanged.AddListener(OnMasterChanged);
}
private void OnDisable()
{
tog_bgm.onValueChanged.RemoveListener(OnBgmChanged);
tog_sfx.onValueChanged.RemoveListener(OnSfxChanged);
tog_master.onValueChanged.RemoveListener(OnMasterChanged);
}
private void OnBgmChanged(bool isOn)
{
if (bgmCoroutine != null)
{
StopCoroutine(bgmCoroutine);
}
bgmCoroutine = StartCoroutine(SlideSwitchCoroutine(tog_bgm, handle_bmg, txt_bgm));
// TODO: Add logic to change BGM volume or mute state
}
private void OnSfxChanged(bool isOn)
{
if (sfxCoroutine != null)
{
StopCoroutine(sfxCoroutine);
}
sfxCoroutine = StartCoroutine(SlideSwitchCoroutine(tog_sfx, handle_sfx, txt_sfx));
// TODO: Add logic to change SFX volume or mute state
}
private void OnMasterChanged(bool isOn)
{
if (masterCoroutine != null)
{
StopCoroutine(masterCoroutine);
}
masterCoroutine = StartCoroutine(SlideSwitchCoroutine(tog_master, handle_master, txt_master));
// TODO: Add logic to change Master volume or mute state
}
private void UpdateSwitchInstant(Toggle toggle, RectTransform handle, TextMeshProUGUI statusText)
{
bool isOn = toggle.isOn;
// Logic circle switch
float handleTargetX = isOn ? handleOnPositionX : handleOffPositionX;
handle.anchoredPosition = new Vector2(handleTargetX, handle.anchoredPosition.y);
// Logic text switch
if (statusText != null)
{
float textTargetX = isOn ? textOnPositionX : textOffPositionX;
statusText.rectTransform.anchoredPosition = new Vector2(textTargetX, statusText.rectTransform.anchoredPosition.y);
statusText.text = isOn ? "Mở" : "Tắt";
statusText.color = isOn ? textOnColor : textOffColor;
}
// Logic background switch
if (handle.TryGetComponent<Image>(out var handleImage))
{
handleImage.sprite = isOn ? switch_on : switch_off;
}
}
private IEnumerator SlideSwitchCoroutine(Toggle toggle, RectTransform handle, TextMeshProUGUI statusText)
{
bool isOn = toggle.isOn;
// Get info target
float handleTargetX = isOn ? handleOnPositionX : handleOffPositionX;
float handleStartX = handle.anchoredPosition.x;
float textTargetX = isOn ? textOnPositionX : textOffPositionX;
float textStartX = statusText != null ? statusText.rectTransform.anchoredPosition.x : 0f;
// Update text and background immediately
if (statusText != null)
{
statusText.text = isOn ? "Mở" : "Tắt";
statusText.color = isOn ? textOnColor : textOffColor;
}
if (handle.TryGetComponent<Image>(out var handleImage))
{
handleImage.sprite = isOn ? switch_on : switch_off;
}
float time = 0f;
while (time < slideDuration)
{
time += Time.deltaTime;
float t = Mathf.Clamp01(time / slideDuration);
float smoothT = Mathf.SmoothStep(0f, 1f, t);
// Move handle
float currentHandleX = Mathf.Lerp(handleStartX, handleTargetX, smoothT);
handle.anchoredPosition = new Vector2(currentHandleX, handle.anchoredPosition.y);
// Move text
if (statusText != null)
{
float currentTextX = Mathf.Lerp(textStartX, textTargetX, smoothT);
statusText.rectTransform.anchoredPosition = new Vector2(currentTextX, statusText.rectTransform.anchoredPosition.y);
}
yield return null;
}
// Position it correctly in the last frame to avoid errors.
handle.anchoredPosition = new Vector2(handleTargetX, handle.anchoredPosition.y);
if (statusText != null)
{
statusText.rectTransform.anchoredPosition = new Vector2(textTargetX, statusText.rectTransform.anchoredPosition.y);
}
}
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 405c79bf7a84c8d499a6733998a87b79
@@ -0,0 +1,96 @@
using BrewMonster.Assets.PerfectWorld.Scripts.UI;
using BrewMonster.Common;
using BrewMonster.Managers;
using BrewMonster.Scripts;
using BrewMonster.Scripts.Managers;
using BrewMonster.UI;
using CSNetwork.GPDataType;
using Cysharp.Threading.Tasks.Triggers;
using PerfectWorld.Scripts.Managers;
using System;
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.EventSystems;
using UnityEngine.UI;
namespace BrewMonster
{
public class SliderController : MonoBehaviour
{
[Header("Slider")]
public Slider slider;
public TextMeshProUGUI sliderValueText;
[Header("Action Event")]
private UnityEvent[] levelEvents = new UnityEvent[6];
private int currentLevel = -1;
private void OnEnable()
{
if(slider != null)
{
slider.onValueChanged.AddListener(OnSliderValueChange);
UpdateLevelFromSlider();
}
}
private void OnDisable()
{
if (slider != null)
{
slider.onValueChanged.RemoveListener(OnSliderValueChange);
}
}
private void OnSliderValueChange(float value)
{
UpdateLevelFromSlider();
}
private void UpdateLevelFromSlider()
{
if (slider == null)
return;
int level = GetLevelFromValue(slider.value);
if(level != currentLevel)
{
currentLevel = level;
Invoke(level);
}
UpdateSliderText(level);
}
private int GetLevelFromValue(float value)
{
int level = Mathf.RoundToInt(value);
return Mathf.Clamp(level, 1, 6);
}
private void UpdateSliderText(int level)
{
if (sliderValueText == null)
{
return;
}
sliderValueText.text = $"Mức {level}";
}
public void Invoke(int level)
{
int index = level - 1;
if(index < 0 || index >= levelEvents.Length)
{
return;
}
levelEvents[index]?.Invoke();
}
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: bfc4382a69b985742888061ae412685f
@@ -13,6 +13,7 @@ namespace BrewMonster
[SerializeField]private Button _escapeBtn;
[SerializeField]private Button _btnTask;
[SerializeField]private Button _btnInvntory;
[SerializeField]private Button _btnSettings;
[SerializeField]private Toggle _btnTeam;
[SerializeField]private Toggle _btnTaskTrace;
[SerializeField]private Transform _taskTraceParent;
@@ -30,6 +31,7 @@ namespace BrewMonster
_escapeBtn.onClick.AddListener(OnEscapeClicked);
_btnTask.onClick.AddListener(OnTaskClicked);
_btnInvntory.onClick.AddListener(OnInventoryClicked);
_btnSettings.onClick.AddListener(OnSettingsClicked);
_btnTeam.onValueChanged.AddListener(OnTeamClicked);
_btnTaskTrace.onValueChanged.AddListener(OnTaskTraceClicked);
_btnTeamList.onClick.AddListener(OnTeamListClicked);
@@ -43,6 +45,7 @@ namespace BrewMonster
_escapeBtn.onClick.RemoveListener(OnEscapeClicked);
_btnTask.onClick.RemoveListener(OnTaskClicked);
_btnInvntory.onClick.RemoveListener(OnInventoryClicked);
_btnSettings.onClick.RemoveListener(OnSettingsClicked);
_btnTeam.onValueChanged.RemoveListener(OnTeamClicked);
_btnTaskTrace.onValueChanged.RemoveListener(OnTaskTraceClicked);
_btnTeamList.onClick.RemoveListener(OnTeamListClicked);
@@ -81,6 +84,12 @@ namespace BrewMonster
{
CECUIManager.Instance.ShowUI("Win_Inventory");
}
private void OnSettingsClicked()
{
CECUIManager.Instance.ShowUI("Win_Settings");
}
private void OnTeamClicked(bool isOn)
{
if(isOn)
@@ -9,9 +9,5 @@ namespace BrewMonster
public static string TestVfxPrefab = "Prefabs/Vfx/TestVfx";
public static string PetServerPrefab = "Pet/PetPrefab";
public static string PetMountServerPrefab = "Pet/PetMount/PetMountPrefab";
public static float m_fDistShowModelVisual = 25f; // Display distance model NPC
public static float m_fDistHideModelVisual = 40f; // Hide/display distance model NPC
}
}
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using BrewMonster;
using BrewMonster.Network;
using BrewMonster.Scripts;
using Cysharp.Threading.Tasks;
using UnityEngine;
@@ -15,9 +16,9 @@ public class LitModelHolder : MonoSingleton<LitModelHolder>
[Header("Distance Streaming")]
[Tooltip("The distance from the host player to the object to be loaded immediately.")]
[SerializeField] private float _loadImmediateDistance = 200f;
[SerializeField] private float _loadImmediateDistance => EC_Game.GetSettingViewDistance().fShow; // 200f
[Tooltip("Objects need to go outside of this distance to be unloaded.")]
[SerializeField] private float _unloadDistance = 400f;
[SerializeField] private float _unloadDistance => EC_Game.GetSettingViewDistance().fHide; // 400f
[Header("Performance")]
[SerializeField] private float _checkIntervalSeconds = 0.25f;
@@ -134,10 +135,10 @@ public class LitModelHolder : MonoSingleton<LitModelHolder>
/// <returns></returns>
private async UniTask LoadObjectBaseOnDistance(CancellationToken destroyToken)
{
if (_unloadDistance < _loadImmediateDistance)
{
_unloadDistance = _loadImmediateDistance;
}
//if (_unloadDistance < _loadImmediateDistance)
//{
// _unloadDistance = _loadImmediateDistance;
//}
while (_hostPlayer == null)
{
@@ -174,10 +175,10 @@ public class LitModelHolder : MonoSingleton<LitModelHolder>
return;
}
if (_unloadDistance < _loadImmediateDistance)
{
_unloadDistance = _loadImmediateDistance;
}
//if (_unloadDistance < _loadImmediateDistance)
//{
// _unloadDistance = _loadImmediateDistance;
//}
float immediateSqr = _loadImmediateDistance * _loadImmediateDistance;
float paddingSqr = _unloadDistance * _unloadDistance;
@@ -196,10 +197,10 @@ public class LitModelHolder : MonoSingleton<LitModelHolder>
/// <returns></returns>
private async UniTask StreamByDistanceLoop(CancellationToken destroyToken)
{
if (_unloadDistance < _loadImmediateDistance)
{
_unloadDistance = _loadImmediateDistance;
}
//if (_unloadDistance < _loadImmediateDistance)
//{
// _unloadDistance = _loadImmediateDistance;
//}
float immediateSqr = _loadImmediateDistance * _loadImmediateDistance;
float paddingSqr = _unloadDistance * _unloadDistance;
@@ -17,8 +17,8 @@ namespace BrewMonster
public class TerrainHolder : MonoBehaviour
{
[SerializeField] private AddressableObject[] _addressableObjects;
[SerializeField] private float _loadImmediateDistance = 150f;
[SerializeField] private float _unloadDistance = 300f;
[SerializeField] private float _loadImmediateDistance => EC_Game.GetSettingViewDistance().fShow; //150f;
[SerializeField] private float _unloadDistance => EC_Game.GetSettingViewDistance().fHide; //300f;
[SerializeField] private float _minHostMoveToUpdate = 5f;
private List<AddressableObject> _candidatesForLoading = new List<AddressableObject>();
@@ -100,8 +100,8 @@ namespace BrewMonster
if (_addressableObjects == null || _addressableObjects.Length == 0)
return;
if (_unloadDistance < _loadImmediateDistance)
_unloadDistance = _loadImmediateDistance;
//if (_unloadDistance < _loadImmediateDistance)
// _unloadDistance = _loadImmediateDistance;
float immediateSqr = _loadImmediateDistance * _loadImmediateDistance;
float paddingSqr = _unloadDistance * _unloadDistance;