Compare commits
7 Commits
4a56c1a74d
...
d1ded3446d
Author | SHA1 | Date | |
---|---|---|---|
d1ded3446d | |||
|
0783d7d90e | ||
|
c3d0bce281 | ||
|
946141ed61 | ||
|
7233e17888 | ||
|
2ecf190107 | ||
|
fd853f3723 |
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 48 KiB |
@ -0,0 +1,429 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a8e14774cb9b81d4799116466bc09437
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable:
|
||||||
|
- first:
|
||||||
|
213: -4959326954622038618
|
||||||
|
second: vv1imdvm00bhsrp2j3evsc0807-dd2b714d32579038cd0e713f482ab243_0
|
||||||
|
- first:
|
||||||
|
213: -5964753451609424764
|
||||||
|
second: vv1imdvm00bhsrp2j3evsc0807-dd2b714d32579038cd0e713f482ab243_1
|
||||||
|
- first:
|
||||||
|
213: -4801715788788902516
|
||||||
|
second: vv1imdvm00bhsrp2j3evsc0807-dd2b714d32579038cd0e713f482ab243_2
|
||||||
|
- first:
|
||||||
|
213: 4561171062942135429
|
||||||
|
second: vv1imdvm00bhsrp2j3evsc0807-dd2b714d32579038cd0e713f482ab243_3
|
||||||
|
- first:
|
||||||
|
213: -5549305347284123853
|
||||||
|
second: vv1imdvm00bhsrp2j3evsc0807-dd2b714d32579038cd0e713f482ab243_4
|
||||||
|
- first:
|
||||||
|
213: 6860963059624718238
|
||||||
|
second: vv1imdvm00bhsrp2j3evsc0807-dd2b714d32579038cd0e713f482ab243_5
|
||||||
|
- first:
|
||||||
|
213: -4498413793718531433
|
||||||
|
second: vv1imdvm00bhsrp2j3evsc0807-dd2b714d32579038cd0e713f482ab243_6
|
||||||
|
- first:
|
||||||
|
213: -8124222410993000122
|
||||||
|
second: vv1imdvm00bhsrp2j3evsc0807-dd2b714d32579038cd0e713f482ab243_7
|
||||||
|
- first:
|
||||||
|
213: -3950121511746819120
|
||||||
|
second: vv1imdvm00bhsrp2j3evsc0807-dd2b714d32579038cd0e713f482ab243_8
|
||||||
|
- first:
|
||||||
|
213: 5164087282620923207
|
||||||
|
second: vv1imdvm00bhsrp2j3evsc0807-dd2b714d32579038cd0e713f482ab243_9
|
||||||
|
- first:
|
||||||
|
213: 8949408723004945982
|
||||||
|
second: vv1imdvm00bhsrp2j3evsc0807-dd2b714d32579038cd0e713f482ab243_10
|
||||||
|
- first:
|
||||||
|
213: 5770958956045166959
|
||||||
|
second: misc_0
|
||||||
|
- first:
|
||||||
|
213: -9177418277584700315
|
||||||
|
second: misc_1
|
||||||
|
- first:
|
||||||
|
213: 3445910035351170775
|
||||||
|
second: misc_2
|
||||||
|
- first:
|
||||||
|
213: 8671351589016534120
|
||||||
|
second: misc_3
|
||||||
|
- first:
|
||||||
|
213: 173538500886388945
|
||||||
|
second: misc_4
|
||||||
|
- first:
|
||||||
|
213: -4076281113925471536
|
||||||
|
second: misc_5
|
||||||
|
- first:
|
||||||
|
213: 7637870703528583553
|
||||||
|
second: misc_6
|
||||||
|
- first:
|
||||||
|
213: -3818157907930065138
|
||||||
|
second: misc_7
|
||||||
|
- first:
|
||||||
|
213: -3356990613430728209
|
||||||
|
second: misc_8
|
||||||
|
- first:
|
||||||
|
213: 8307504999820893422
|
||||||
|
second: misc_9
|
||||||
|
- first:
|
||||||
|
213: 4452512340041527070
|
||||||
|
second: misc_10
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 11
|
||||||
|
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
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 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
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: iPhone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites:
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: misc_0
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 39
|
||||||
|
y: 81
|
||||||
|
width: 92
|
||||||
|
height: 93
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0, y: 0}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: f696e6c3890961050800000000000000
|
||||||
|
internalID: 5770958956045166959
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: misc_1
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 167
|
||||||
|
y: 74
|
||||||
|
width: 107
|
||||||
|
height: 108
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0, y: 0}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 56cf26953b243a080800000000000000
|
||||||
|
internalID: -9177418277584700315
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: misc_2
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 310
|
||||||
|
y: 74
|
||||||
|
width: 107
|
||||||
|
height: 108
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0, y: 0}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 7de6f018be452df20800000000000000
|
||||||
|
internalID: 3445910035351170775
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: misc_3
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 458
|
||||||
|
y: 78
|
||||||
|
width: 73
|
||||||
|
height: 114
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0, y: 0}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 86c79d1d354d65870800000000000000
|
||||||
|
internalID: 8671351589016534120
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: misc_4
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 524
|
||||||
|
y: 83
|
||||||
|
width: 76
|
||||||
|
height: 115
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0, y: 0}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 1d0ef2cd858886200800000000000000
|
||||||
|
internalID: 173538500886388945
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: misc_5
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 649
|
||||||
|
y: 76
|
||||||
|
width: 109
|
||||||
|
height: 118
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0, y: 0}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 0d2b6d78ce32e67c0800000000000000
|
||||||
|
internalID: -4076281113925471536
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: misc_6
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 803
|
||||||
|
y: 79
|
||||||
|
width: 134
|
||||||
|
height: 113
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0, y: 0}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 1812f2c00fa2ff960800000000000000
|
||||||
|
internalID: 7637870703528583553
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: misc_7
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 996
|
||||||
|
y: 76
|
||||||
|
width: 116
|
||||||
|
height: 129
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0, y: 0}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: e07da79bc9d230bc0800000000000000
|
||||||
|
internalID: -3818157907930065138
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: misc_8
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 1172
|
||||||
|
y: 86
|
||||||
|
width: 126
|
||||||
|
height: 98
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0, y: 0}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: fe9042cb2d29961d0800000000000000
|
||||||
|
internalID: -3356990613430728209
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: misc_9
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 1339
|
||||||
|
y: 95
|
||||||
|
width: 103
|
||||||
|
height: 79
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0, y: 0}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: eec1b1448cf2a4370800000000000000
|
||||||
|
internalID: 8307504999820893422
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: misc_10
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 1480
|
||||||
|
y: 85
|
||||||
|
width: 70
|
||||||
|
height: 102
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0, y: 0}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: e1fe73202608acd30800000000000000
|
||||||
|
internalID: 4452512340041527070
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
spritePackingTag:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
pSDShowRemoveMatteOption: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -1,120 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: a8e14774cb9b81d4799116466bc09437
|
|
||||||
TextureImporter:
|
|
||||||
internalIDToNameTable: []
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 11
|
|
||||||
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
|
|
||||||
isReadable: 0
|
|
||||||
streamingMipmaps: 0
|
|
||||||
streamingMipmapsPriority: 0
|
|
||||||
vTOnly: 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: 1
|
|
||||||
spriteExtrude: 1
|
|
||||||
spriteMeshType: 1
|
|
||||||
alignment: 0
|
|
||||||
spritePivot: {x: 0.5, y: 0.5}
|
|
||||||
spritePixelsToUnits: 100
|
|
||||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
spriteGenerateFallbackPhysicsShape: 1
|
|
||||||
alphaUsage: 1
|
|
||||||
alphaIsTransparency: 1
|
|
||||||
spriteTessellationDetail: -1
|
|
||||||
textureType: 8
|
|
||||||
textureShape: 1
|
|
||||||
singleChannelComponent: 0
|
|
||||||
flipbookRows: 1
|
|
||||||
flipbookColumns: 1
|
|
||||||
maxTextureSizeSet: 0
|
|
||||||
compressionQualitySet: 0
|
|
||||||
textureFormatSet: 0
|
|
||||||
ignorePngGamma: 0
|
|
||||||
applyGammaDecoding: 0
|
|
||||||
platformSettings:
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: DefaultTexturePlatform
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Standalone
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Android
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
spriteSheet:
|
|
||||||
serializedVersion: 2
|
|
||||||
sprites: []
|
|
||||||
outline: []
|
|
||||||
physicsShape: []
|
|
||||||
bones: []
|
|
||||||
spriteID: 5e97eb03825dee720800000000000000
|
|
||||||
internalID: 0
|
|
||||||
vertices: []
|
|
||||||
indices:
|
|
||||||
edges: []
|
|
||||||
weights: []
|
|
||||||
secondaryTextures: []
|
|
||||||
spritePackingTag:
|
|
||||||
pSDRemoveMatte: 0
|
|
||||||
pSDShowRemoveMatteOption: 0
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
@ -124,11 +124,11 @@ RectTransform:
|
|||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 793983410033291345}
|
m_GameObject: {fileID: 793983410033291345}
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 5397686940312333149}
|
m_Father: {fileID: 4478785627166277610}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
@ -207,8 +207,8 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
m_Direction: 0
|
m_Direction: 0
|
||||||
m_Color1: {r: 1, g: 1, b: 1, a: 1}
|
m_Color1: {r: 0.032306872, g: 0.24870302, b: 0.6226415, a: 1}
|
||||||
m_Color2: {r: 1, g: 1, b: 1, a: 1}
|
m_Color2: {r: 0.7264151, g: 0.67501783, b: 0.67501783, a: 1}
|
||||||
m_Color3: {r: 1, g: 1, b: 1, a: 1}
|
m_Color3: {r: 1, g: 1, b: 1, a: 1}
|
||||||
m_Color4: {r: 1, g: 1, b: 1, a: 1}
|
m_Color4: {r: 1, g: 1, b: 1, a: 1}
|
||||||
m_Rotation: 0
|
m_Rotation: 0
|
||||||
@ -230,6 +230,102 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
gradient: {fileID: 46877084639177849}
|
gradient: {fileID: 46877084639177849}
|
||||||
|
--- !u!1 &1501213187178026014
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 4264754383554125665}
|
||||||
|
- component: {fileID: 1867204054070772534}
|
||||||
|
- component: {fileID: 9114498533396602649}
|
||||||
|
- component: {fileID: 8983615257379814102}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: expandArrow
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &4264754383554125665
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1501213187178026014}
|
||||||
|
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_Children: []
|
||||||
|
m_Father: {fileID: 2780569438310375802}
|
||||||
|
m_RootOrder: 2
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 1, y: 0.5}
|
||||||
|
m_AnchorMax: {x: 1, y: 0.5}
|
||||||
|
m_AnchoredPosition: {x: -5, y: 0}
|
||||||
|
m_SizeDelta: {x: 20, y: 20}
|
||||||
|
m_Pivot: {x: 1, y: 0.5}
|
||||||
|
--- !u!222 &1867204054070772534
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1501213187178026014}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &9114498533396602649
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1501213187178026014}
|
||||||
|
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: 561609785760361907, guid: d518d00d4940e854bbe45d9ef891401a, 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 &8983615257379814102
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1501213187178026014}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_IgnoreLayout: 1
|
||||||
|
m_MinWidth: -1
|
||||||
|
m_MinHeight: -1
|
||||||
|
m_PreferredWidth: -1
|
||||||
|
m_PreferredHeight: -1
|
||||||
|
m_FlexibleWidth: -1
|
||||||
|
m_FlexibleHeight: -1
|
||||||
|
m_LayoutPriority: 1
|
||||||
--- !u!1 &1731066637017514641
|
--- !u!1 &1731066637017514641
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -244,6 +340,7 @@ GameObject:
|
|||||||
- component: {fileID: 8330179430250887958}
|
- component: {fileID: 8330179430250887958}
|
||||||
- component: {fileID: 8744505332349586225}
|
- component: {fileID: 8744505332349586225}
|
||||||
- component: {fileID: 2568349821411169439}
|
- component: {fileID: 2568349821411169439}
|
||||||
|
- component: {fileID: 7857863493876124730}
|
||||||
m_Layer: 5
|
m_Layer: 5
|
||||||
m_Name: SelectBorder
|
m_Name: SelectBorder
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@ -262,12 +359,12 @@ RectTransform:
|
|||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 5397686940312333149}
|
m_Father: {fileID: 4478785627166277610}
|
||||||
m_RootOrder: 2
|
m_RootOrder: 2
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
m_AnchoredPosition: {x: 204, y: 488}
|
m_AnchoredPosition: {x: 204, y: 518}
|
||||||
m_SizeDelta: {x: 100, y: 100}
|
m_SizeDelta: {x: 100, y: 100}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &2800056879890978085
|
--- !u!222 &2800056879890978085
|
||||||
@ -359,6 +456,18 @@ CanvasGroup:
|
|||||||
m_Interactable: 1
|
m_Interactable: 1
|
||||||
m_BlocksRaycasts: 1
|
m_BlocksRaycasts: 1
|
||||||
m_IgnoreParentGroups: 0
|
m_IgnoreParentGroups: 0
|
||||||
|
--- !u!114 &7857863493876124730
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1731066637017514641}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 5f9054446a969bf4eaf7998f3ba23334, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
--- !u!1 &2500436782395572584
|
--- !u!1 &2500436782395572584
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -384,13 +493,14 @@ RectTransform:
|
|||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 2500436782395572584}
|
m_GameObject: {fileID: 2500436782395572584}
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 6503369113137645357}
|
- {fileID: 6503369113137645357}
|
||||||
- {fileID: 1714682891259844147}
|
- {fileID: 1714682891259844147}
|
||||||
m_Father: {fileID: 5397686940312333149}
|
- {fileID: 4264754383554125665}
|
||||||
|
m_Father: {fileID: 4478785627166277610}
|
||||||
m_RootOrder: 1
|
m_RootOrder: 1
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
@ -438,7 +548,8 @@ MonoBehaviour:
|
|||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
m_MenuNameTxt: {fileID: 1824253632728291860}
|
m_MenuNameTxt: {fileID: 1824253632728291860}
|
||||||
m_Icon: {fileID: 394891843266770919}
|
m_Icon: {fileID: 394891843266770919}
|
||||||
--- !u!1 &3968697266383191021
|
ExpandFlag: {fileID: 1501213187178026014}
|
||||||
|
--- !u!1 &4478785627166277609
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
@ -446,46 +557,62 @@ GameObject:
|
|||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 5397686940312333149}
|
- component: {fileID: 4478785627166277610}
|
||||||
- component: {fileID: 1188777947975519706}
|
- component: {fileID: 4478785627166277611}
|
||||||
- component: {fileID: 4924150661256616665}
|
- component: {fileID: 7033441668005100640}
|
||||||
- component: {fileID: 8076475514644024618}
|
- component: {fileID: 6385618308193594113}
|
||||||
|
- component: {fileID: 5813794464938889090}
|
||||||
m_Layer: 5
|
m_Layer: 5
|
||||||
m_Name: MenuRoot
|
m_Name: OptionUI
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 1
|
||||||
--- !u!224 &5397686940312333149
|
--- !u!224 &4478785627166277610
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 3968697266383191021}
|
m_GameObject: {fileID: 4478785627166277609}
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 8581099496228509946}
|
- {fileID: 8581099496228509946}
|
||||||
- {fileID: 2780569438310375802}
|
- {fileID: 2780569438310375802}
|
||||||
- {fileID: 2404013603202822047}
|
- {fileID: 2404013603202822047}
|
||||||
m_Father: {fileID: 4478785627166277610}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 1, y: 0}
|
m_AnchorMin: {x: 1, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 0, y: 0}
|
m_SizeDelta: {x: 300, y: 0}
|
||||||
m_Pivot: {x: 1, y: 0.5}
|
m_Pivot: {x: 0, y: 0.5}
|
||||||
--- !u!114 &1188777947975519706
|
--- !u!114 &4478785627166277611
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 3968697266383191021}
|
m_GameObject: {fileID: 4478785627166277609}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: d9077edba700447499a21395109542df, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
MenuRoot: {fileID: 4478785627166277610}
|
||||||
|
SelectBorder: {fileID: 7857863493876124730}
|
||||||
|
TEMPLATE_EXECUTEITEM: {fileID: 3721725547312714320}
|
||||||
|
--- !u!114 &7033441668005100640
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4478785627166277609}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
|
m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
|
||||||
@ -505,13 +632,13 @@ MonoBehaviour:
|
|||||||
m_ChildScaleWidth: 0
|
m_ChildScaleWidth: 0
|
||||||
m_ChildScaleHeight: 0
|
m_ChildScaleHeight: 0
|
||||||
m_ReverseArrangement: 0
|
m_ReverseArrangement: 0
|
||||||
--- !u!114 &4924150661256616665
|
--- !u!114 &6385618308193594113
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 3968697266383191021}
|
m_GameObject: {fileID: 4478785627166277609}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
|
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
|
||||||
@ -519,19 +646,19 @@ MonoBehaviour:
|
|||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
m_HorizontalFit: 2
|
m_HorizontalFit: 2
|
||||||
m_VerticalFit: 0
|
m_VerticalFit: 0
|
||||||
--- !u!114 &8076475514644024618
|
--- !u!114 &5813794464938889090
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 3968697266383191021}
|
m_GameObject: {fileID: 4478785627166277609}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
|
m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
m_IgnoreLayout: 0
|
m_IgnoreLayout: 1
|
||||||
m_MinWidth: 300
|
m_MinWidth: 300
|
||||||
m_MinHeight: -1
|
m_MinHeight: -1
|
||||||
m_PreferredWidth: -1
|
m_PreferredWidth: -1
|
||||||
@ -539,58 +666,6 @@ MonoBehaviour:
|
|||||||
m_FlexibleWidth: -1
|
m_FlexibleWidth: -1
|
||||||
m_FlexibleHeight: -1
|
m_FlexibleHeight: -1
|
||||||
m_LayoutPriority: 1
|
m_LayoutPriority: 1
|
||||||
--- !u!1 &4478785627166277609
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 4478785627166277610}
|
|
||||||
- component: {fileID: 4478785627166277611}
|
|
||||||
m_Layer: 5
|
|
||||||
m_Name: OptionUI
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &4478785627166277610
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 4478785627166277609}
|
|
||||||
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_Children:
|
|
||||||
- {fileID: 5397686940312333149}
|
|
||||||
m_Father: {fileID: 0}
|
|
||||||
m_RootOrder: 0
|
|
||||||
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!114 &4478785627166277611
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 4478785627166277609}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: d9077edba700447499a21395109542df, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
MenuRoot: {fileID: 5397686940312333149}
|
|
||||||
SelectBorder: {fileID: 2404013603202822047}
|
|
||||||
TEMPLATE_EXECUTEITEM: {fileID: 3721725547312714320}
|
|
||||||
--- !u!1 &6998597834321643812
|
--- !u!1 &6998597834321643812
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -29,6 +29,7 @@ RectTransform:
|
|||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 3531919739979819162}
|
- {fileID: 3531919739979819162}
|
||||||
|
- {fileID: 3531919738411886375}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
@ -50,6 +51,248 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
m_InputUI: {fileID: 3531919739979819165}
|
m_InputUI: {fileID: 3531919739979819165}
|
||||||
|
m_OptionUI: {fileID: 3531919738411886374}
|
||||||
|
--- !u!1001 &1091051462859282637
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
m_TransformParent: {fileID: 3531919739338806919}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: 1471584936616359931, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_AnchorMax.y
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1471584936616359931, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_AnchorMin.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1471584936616359931, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1471584936616359931, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1471584936616359931, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1714682891259844147, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_AnchorMax.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1714682891259844147, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_AnchorMin.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1714682891259844147, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1714682891259844147, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1714682891259844147, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1714682891259844147, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2780569438310375802, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_AnchorMax.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2780569438310375802, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_AnchorMin.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2780569438310375802, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2780569438310375802, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2780569438310375802, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2780569438310375802, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4264754383554125665, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4478785627166277609, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: OptionUI
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4478785627166277609, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_IsActive
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_Pivot.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_Pivot.y
|
||||||
|
value: 0.5
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_RootOrder
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_AnchorMax.x
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_AnchorMax.y
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_AnchorMin.x
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_AnchorMin.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: -0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: -0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: -0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5397686940312333149, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_AnchorMax.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5397686940312333149, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_AnchorMax.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5397686940312333149, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_AnchorMin.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5397686940312333149, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_AnchorMin.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5397686940312333149, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5397686940312333149, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5397686940312333149, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.x
|
||||||
|
value: 300
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5397686940312333149, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6503369113137645357, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_AnchorMax.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6503369113137645357, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_AnchorMin.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6503369113137645357, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6503369113137645357, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6503369113137645357, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6503369113137645357, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
--- !u!224 &3531919738411886375 stripped
|
||||||
|
RectTransform:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 1091051462859282637}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!114 &3531919738411886374 stripped
|
||||||
|
MonoBehaviour:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 4478785627166277611, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 1091051462859282637}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: d9077edba700447499a21395109542df, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
--- !u!1001 &6972157500961473863
|
--- !u!1001 &6972157500961473863
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -61,6 +304,10 @@ PrefabInstance:
|
|||||||
propertyPath: m_Name
|
propertyPath: m_Name
|
||||||
value: InputUI
|
value: InputUI
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5891255890837614044, guid: 179ef233a0b40a74f8df0748c664b5e8, type: 3}
|
||||||
|
propertyPath: m_IsActive
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 5891255890837614045, guid: 179ef233a0b40a74f8df0748c664b5e8, type: 3}
|
- target: {fileID: 5891255890837614045, guid: 179ef233a0b40a74f8df0748c664b5e8, type: 3}
|
||||||
propertyPath: m_Pivot.x
|
propertyPath: m_Pivot.x
|
||||||
value: 0.5
|
value: 0.5
|
||||||
|
@ -22,15 +22,6 @@ AnimationClip:
|
|||||||
m_Curve:
|
m_Curve:
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
time: 0
|
time: 0
|
||||||
value: 0
|
|
||||||
inSlope: 0
|
|
||||||
outSlope: 0
|
|
||||||
tangentMode: 136
|
|
||||||
weightedMode: 0
|
|
||||||
inWeight: 0.33333334
|
|
||||||
outWeight: 0.33333334
|
|
||||||
- serializedVersion: 3
|
|
||||||
time: 1
|
|
||||||
value: 1
|
value: 1
|
||||||
inSlope: 0
|
inSlope: 0
|
||||||
outSlope: 0
|
outSlope: 0
|
||||||
@ -39,7 +30,7 @@ AnimationClip:
|
|||||||
inWeight: 0.33333334
|
inWeight: 0.33333334
|
||||||
outWeight: 0.33333334
|
outWeight: 0.33333334
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
time: 2
|
time: 1
|
||||||
value: 0
|
value: 0
|
||||||
inSlope: 0
|
inSlope: 0
|
||||||
outSlope: 0
|
outSlope: 0
|
||||||
@ -47,6 +38,15 @@ AnimationClip:
|
|||||||
weightedMode: 0
|
weightedMode: 0
|
||||||
inWeight: 0.33333334
|
inWeight: 0.33333334
|
||||||
outWeight: 0.33333334
|
outWeight: 0.33333334
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 2
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 136
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0.33333334
|
||||||
|
outWeight: 0.33333334
|
||||||
m_PreInfinity: 2
|
m_PreInfinity: 2
|
||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
@ -96,15 +96,6 @@ AnimationClip:
|
|||||||
m_Curve:
|
m_Curve:
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
time: 0
|
time: 0
|
||||||
value: 0
|
|
||||||
inSlope: 0
|
|
||||||
outSlope: 0
|
|
||||||
tangentMode: 136
|
|
||||||
weightedMode: 0
|
|
||||||
inWeight: 0.33333334
|
|
||||||
outWeight: 0.33333334
|
|
||||||
- serializedVersion: 3
|
|
||||||
time: 1
|
|
||||||
value: 1
|
value: 1
|
||||||
inSlope: 0
|
inSlope: 0
|
||||||
outSlope: 0
|
outSlope: 0
|
||||||
@ -113,7 +104,7 @@ AnimationClip:
|
|||||||
inWeight: 0.33333334
|
inWeight: 0.33333334
|
||||||
outWeight: 0.33333334
|
outWeight: 0.33333334
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
time: 2
|
time: 1
|
||||||
value: 0
|
value: 0
|
||||||
inSlope: 0
|
inSlope: 0
|
||||||
outSlope: 0
|
outSlope: 0
|
||||||
@ -121,6 +112,15 @@ AnimationClip:
|
|||||||
weightedMode: 0
|
weightedMode: 0
|
||||||
inWeight: 0.33333334
|
inWeight: 0.33333334
|
||||||
outWeight: 0.33333334
|
outWeight: 0.33333334
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 2
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 136
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0.33333334
|
||||||
|
outWeight: 0.33333334
|
||||||
m_PreInfinity: 2
|
m_PreInfinity: 2
|
||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
|
@ -66,7 +66,7 @@ MonoBehaviour:
|
|||||||
m_PersistentCalls:
|
m_PersistentCalls:
|
||||||
m_Calls: []
|
m_Calls: []
|
||||||
m_FontData:
|
m_FontData:
|
||||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
m_Font: {fileID: 12800000, guid: 33a3bdf8f6bd1ec4eba7c4bc58183212, type: 3}
|
||||||
m_FontSize: 20
|
m_FontSize: 20
|
||||||
m_FontStyle: 0
|
m_FontStyle: 0
|
||||||
m_BestFit: 0
|
m_BestFit: 0
|
||||||
@ -445,10 +445,10 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: e2f2e38adaa854144b67512333b1b363, type: 3}
|
m_Script: {fileID: 11500000, guid: e2f2e38adaa854144b67512333b1b363, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
PulseInvoke_Delay: 0.4
|
|
||||||
PulseInvoke_Interval: 0.05
|
|
||||||
Icon: {fileID: 6771349210554360888}
|
Icon: {fileID: 6771349210554360888}
|
||||||
Txt: {fileID: 991446423622995247}
|
Txt: {fileID: 991446423622995247}
|
||||||
|
SubTitle: {fileID: 0}
|
||||||
|
spline: {fileID: 0}
|
||||||
Descript: {fileID: 3380485461544738227}
|
Descript: {fileID: 3380485461544738227}
|
||||||
Root: {fileID: 8754483333502849411}
|
Root: {fileID: 8754483333502849411}
|
||||||
ShadowIcon: {fileID: 2619187604372594158}
|
ShadowIcon: {fileID: 2619187604372594158}
|
||||||
@ -637,8 +637,6 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 1d1e3e91ac34bc8468f357ee247ffb6a, type: 3}
|
m_Script: {fileID: 11500000, guid: 1d1e3e91ac34bc8468f357ee247ffb6a, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
PulseInvoke_Delay: 0.4
|
|
||||||
PulseInvoke_Interval: 0.05
|
|
||||||
m_menuItemRoot: {fileID: 0}
|
m_menuItemRoot: {fileID: 0}
|
||||||
SubMenuItemTemplate: {fileID: 0}
|
SubMenuItemTemplate: {fileID: 0}
|
||||||
alphaGroup: {fileID: 0}
|
alphaGroup: {fileID: 0}
|
||||||
@ -828,7 +826,7 @@ MonoBehaviour:
|
|||||||
m_PersistentCalls:
|
m_PersistentCalls:
|
||||||
m_Calls: []
|
m_Calls: []
|
||||||
m_FontData:
|
m_FontData:
|
||||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
m_Font: {fileID: 12800000, guid: 33a3bdf8f6bd1ec4eba7c4bc58183212, type: 3}
|
||||||
m_FontSize: 30
|
m_FontSize: 30
|
||||||
m_FontStyle: 0
|
m_FontStyle: 0
|
||||||
m_BestFit: 0
|
m_BestFit: 0
|
||||||
|
@ -189,11 +189,6 @@ Transform:
|
|||||||
m_Father: {fileID: 1335662459}
|
m_Father: {fileID: 1335662459}
|
||||||
m_RootOrder: 2
|
m_RootOrder: 2
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!224 &246947326 stripped
|
|
||||||
RectTransform:
|
|
||||||
m_CorrespondingSourceObject: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
m_PrefabInstance: {fileID: 4478785627007410708}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
--- !u!1001 &730698711
|
--- !u!1001 &730698711
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -11477,10 +11472,6 @@ PrefabInstance:
|
|||||||
propertyPath: m_AnchoredPosition.x
|
propertyPath: m_AnchoredPosition.x
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 6805884945447330407, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3}
|
|
||||||
propertyPath: m_FontData.m_Font
|
|
||||||
value:
|
|
||||||
objectReference: {fileID: 12800000, guid: 33a3bdf8f6bd1ec4eba7c4bc58183212, type: 3}
|
|
||||||
- target: {fileID: 6808867381780038331, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3}
|
- target: {fileID: 6808867381780038331, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3}
|
||||||
propertyPath: m_AnchorMax.y
|
propertyPath: m_AnchorMax.y
|
||||||
value: 0
|
value: 0
|
||||||
@ -14637,10 +14628,6 @@ PrefabInstance:
|
|||||||
propertyPath: m_AnchoredPosition.x
|
propertyPath: m_AnchoredPosition.x
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 9032226979735106299, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3}
|
|
||||||
propertyPath: m_FontData.m_Font
|
|
||||||
value:
|
|
||||||
objectReference: {fileID: 12800000, guid: 33a3bdf8f6bd1ec4eba7c4bc58183212, type: 3}
|
|
||||||
- target: {fileID: 9043063300016014343, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3}
|
- target: {fileID: 9043063300016014343, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3}
|
||||||
propertyPath: m_AnchorMax.y
|
propertyPath: m_AnchorMax.y
|
||||||
value: 0
|
value: 0
|
||||||
@ -15437,6 +15424,8 @@ MonoBehaviour:
|
|||||||
m_BeforeStackBundles:
|
m_BeforeStackBundles:
|
||||||
- assemblyQualifiedName: FixingPixelArtGrille, AxibugEmuOnline.Client, Version=0.0.0.0,
|
- assemblyQualifiedName: FixingPixelArtGrille, AxibugEmuOnline.Client, Version=0.0.0.0,
|
||||||
Culture=neutral, PublicKeyToken=null
|
Culture=neutral, PublicKeyToken=null
|
||||||
|
- assemblyQualifiedName: MattiasCRT, AxibugEmuOnline.Client, Version=0.0.0.0, Culture=neutral,
|
||||||
|
PublicKeyToken=null
|
||||||
m_AfterStackBundles: []
|
m_AfterStackBundles: []
|
||||||
--- !u!1 &1498586261
|
--- !u!1 &1498586261
|
||||||
GameObject:
|
GameObject:
|
||||||
@ -15573,9 +15562,8 @@ RectTransform:
|
|||||||
m_LocalScale: {x: 0, y: 0, z: 0}
|
m_LocalScale: {x: 0, y: 0, z: 0}
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 1983793178}
|
- {fileID: 1983793178}
|
||||||
- {fileID: 246947326}
|
|
||||||
- {fileID: 1318590597}
|
|
||||||
- {fileID: 939125854}
|
- {fileID: 939125854}
|
||||||
|
- {fileID: 1318590597}
|
||||||
m_Father: {fileID: 1335662459}
|
m_Father: {fileID: 1335662459}
|
||||||
m_RootOrder: 4
|
m_RootOrder: 4
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
@ -15780,14 +15768,62 @@ PrefabInstance:
|
|||||||
m_Modification:
|
m_Modification:
|
||||||
m_TransformParent: {fileID: 1599240741}
|
m_TransformParent: {fileID: 1599240741}
|
||||||
m_Modifications:
|
m_Modifications:
|
||||||
|
- target: {fileID: 1796925837646122750, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
||||||
|
propertyPath: m_AnchorMax.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1796925837646122750, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
||||||
|
propertyPath: m_AnchorMin.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1796925837646122750, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1796925837646122750, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1796925837646122750, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1796925837646122750, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3004640554767743415, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
||||||
|
propertyPath: m_AnchorMax.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3004640554767743415, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
||||||
|
propertyPath: m_AnchorMin.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3004640554767743415, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3004640554767743415, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3004640554767743415, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3004640554767743415, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3531919738411886375, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 3531919739338806916, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
- target: {fileID: 3531919739338806916, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
||||||
propertyPath: m_Name
|
propertyPath: m_Name
|
||||||
value: Overlay
|
value: Overlay
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 3531919739338806916, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
|
||||||
propertyPath: m_IsActive
|
|
||||||
value: 1
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3531919739338806919, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
- target: {fileID: 3531919739338806919, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
||||||
propertyPath: m_Pivot.x
|
propertyPath: m_Pivot.x
|
||||||
value: 0.5
|
value: 0.5
|
||||||
@ -15798,7 +15834,7 @@ PrefabInstance:
|
|||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 3531919739338806919, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
- target: {fileID: 3531919739338806919, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
||||||
propertyPath: m_RootOrder
|
propertyPath: m_RootOrder
|
||||||
value: 3
|
value: 1
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 3531919739338806919, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
- target: {fileID: 3531919739338806919, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
||||||
propertyPath: m_AnchorMax.x
|
propertyPath: m_AnchorMax.x
|
||||||
@ -15872,190 +15908,29 @@ PrefabInstance:
|
|||||||
propertyPath: m_LocalEulerAnglesHint.z
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 3531919739979819163, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
- target: {fileID: 6153230212222214112, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
||||||
propertyPath: m_IsActive
|
propertyPath: m_AnchorMax.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6153230212222214112, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
||||||
|
propertyPath: m_AnchorMin.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6153230212222214112, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6153230212222214112, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6153230212222214112, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6153230212222214112, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
m_RemovedComponents: []
|
m_RemovedComponents: []
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
m_SourcePrefab: {fileID: 100100000, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
||||||
--- !u!1001 &4478785627007410708
|
|
||||||
PrefabInstance:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Modification:
|
|
||||||
m_TransformParent: {fileID: 1599240741}
|
|
||||||
m_Modifications:
|
|
||||||
- target: {fileID: 1714682891259844147, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_AnchorMax.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 1714682891259844147, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_AnchorMin.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 1714682891259844147, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_SizeDelta.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 1714682891259844147, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_SizeDelta.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 1714682891259844147, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_AnchoredPosition.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 1714682891259844147, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_AnchoredPosition.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 2780569438310375802, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_AnchorMax.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 2780569438310375802, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_AnchorMin.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 2780569438310375802, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_SizeDelta.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 2780569438310375802, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_SizeDelta.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 2780569438310375802, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_AnchoredPosition.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 2780569438310375802, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_AnchoredPosition.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 4478785627166277609, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_Name
|
|
||||||
value: OptionUI
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 4478785627166277609, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_IsActive
|
|
||||||
value: 1
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_Pivot.x
|
|
||||||
value: 0.5
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_Pivot.y
|
|
||||||
value: 0.5
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_RootOrder
|
|
||||||
value: 1
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_AnchorMax.x
|
|
||||||
value: 1
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_AnchorMax.y
|
|
||||||
value: 1
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_AnchorMin.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_AnchorMin.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_SizeDelta.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_SizeDelta.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.z
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.w
|
|
||||||
value: 1
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.z
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_AnchoredPosition.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_AnchoredPosition.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 4478785627166277610, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.z
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 5397686940312333149, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_SizeDelta.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 6503369113137645357, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_AnchorMax.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 6503369113137645357, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_AnchorMin.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 6503369113137645357, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_SizeDelta.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 6503369113137645357, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_SizeDelta.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 6503369113137645357, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_AnchoredPosition.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 6503369113137645357, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_AnchoredPosition.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 7896211045508186424, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
propertyPath: m_Color.a
|
|
||||||
value: 0.69803923
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
m_RemovedComponents: []
|
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
|
||||||
|
14
AxibugEmuOnline.Client/Assets/Script/Event/EventInvoker.cs
Normal file
14
AxibugEmuOnline.Client/Assets/Script/Event/EventInvoker.cs
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace AxibugEmuOnline.Client
|
||||||
|
{
|
||||||
|
public static class EventInvoker
|
||||||
|
{
|
||||||
|
public delegate void OnFilterPresetRemovedHandle(FilterManager.Filter filter, FilterManager.FilterPreset removedPreset);
|
||||||
|
public static event OnFilterPresetRemovedHandle OnFilterPresetRemoved;
|
||||||
|
public static void RaiseFilterPresetRemoved(FilterManager.Filter filter, FilterManager.FilterPreset removedPreset)
|
||||||
|
=> OnFilterPresetRemoved.Invoke(filter, removedPreset);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a972101d3e63f1d4db974980d86cbdd2
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -62,6 +62,8 @@ namespace AxibugEmuOnline.Client
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void ResetToDefault() => m_paramObject.overrideState = false;
|
||||||
|
|
||||||
public string Serilized()
|
public string Serilized()
|
||||||
{
|
{
|
||||||
return JsonUtility.ToJson(Value);
|
return JsonUtility.ToJson(Value);
|
||||||
|
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c0208df1cb66f4944a51a099464e00dc
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -1,293 +0,0 @@
|
|||||||
|
|
||||||
Shader "PostEffect/FixingPixcelArtGrille"
|
|
||||||
{
|
|
||||||
Properties
|
|
||||||
{
|
|
||||||
_MainTex ("Base (RGB)", 2D) = "white" {}
|
|
||||||
}
|
|
||||||
SubShader
|
|
||||||
{
|
|
||||||
Pass
|
|
||||||
{
|
|
||||||
CGPROGRAM
|
|
||||||
|
|
||||||
#pragma shader_feature_local _MASKSTYLE_TVSTYLE _MASKSTYLE_APERTUREGRILLE _MASKSTYLE_STRETCHEDVGA _MASKSTYLE_VGASTYLE
|
|
||||||
#pragma vertex vert_img
|
|
||||||
#pragma fragment frag
|
|
||||||
#include "UnityCG.cginc"
|
|
||||||
|
|
||||||
sampler2D _MainTex;
|
|
||||||
float4 _MainTex_TexelSize;
|
|
||||||
|
|
||||||
//
|
|
||||||
// PUBLIC DOMAIN CRT STYLED SCAN-LINE SHADER
|
|
||||||
//
|
|
||||||
// by Timothy Lottes
|
|
||||||
//
|
|
||||||
// This is more along the style of a really good CGA arcade monitor.
|
|
||||||
// With RGB inputs instead of NTSC.
|
|
||||||
// The shadow mask example has the mask rotated 90 degrees for less chromatic aberration.
|
|
||||||
//
|
|
||||||
// Left it unoptimized to show the theory behind the algorithm.
|
|
||||||
//
|
|
||||||
// It is an example what I personally would want as a display option for pixel art games.
|
|
||||||
// Please take and use, change, or whatever.
|
|
||||||
//
|
|
||||||
|
|
||||||
float2 _iResolution = float2(1920,1080);
|
|
||||||
|
|
||||||
// Emulated input resolution.
|
|
||||||
// Optimize for resize.
|
|
||||||
float2 _res = float2(272.0,240.0);
|
|
||||||
|
|
||||||
// Hardness of scanline.
|
|
||||||
// -8.0 = soft
|
|
||||||
// -16.0 = medium
|
|
||||||
float _hardScan = -10.0;
|
|
||||||
|
|
||||||
// Hardness of pixels in scanline.
|
|
||||||
// -2.0 = soft
|
|
||||||
// -4.0 = hard
|
|
||||||
float _hardPix =-2.0;
|
|
||||||
|
|
||||||
// Hardness of short vertical bloom.
|
|
||||||
// -1.0 = wide to the point of clipping (bad)
|
|
||||||
// -1.5 = wide
|
|
||||||
// -4.0 = not very wide at all
|
|
||||||
float _hardBloomScan = -4.0;
|
|
||||||
|
|
||||||
// Hardness of short horizontal bloom.
|
|
||||||
// -0.5 = wide to the point of clipping (bad)
|
|
||||||
// -1.0 = wide
|
|
||||||
// -2.0 = not very wide at all
|
|
||||||
float _hardBloomPix = -1.5;
|
|
||||||
|
|
||||||
// Amount of small bloom effect.
|
|
||||||
// 1.0/1.0 = only bloom
|
|
||||||
// 1.0/16.0 = what I think is a good amount of small bloom
|
|
||||||
// 0.0 = no bloom
|
|
||||||
float _bloomAmount = 1.0/16.0;
|
|
||||||
|
|
||||||
// Display warp.
|
|
||||||
// 0.0 = none
|
|
||||||
// 1.0/8.0 = extreme
|
|
||||||
float2 _warp = float2(1.0/64.0,1.0/24.0);
|
|
||||||
|
|
||||||
// Amount of shadow mask.
|
|
||||||
float _maskDark = 0.5;
|
|
||||||
float _maskLight = 1.5;
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------
|
|
||||||
|
|
||||||
float fract(float x){
|
|
||||||
return x-floor(x);
|
|
||||||
}
|
|
||||||
|
|
||||||
// sRGB to Linear.
|
|
||||||
// Assuing using sRGB typed textures this should not be needed.
|
|
||||||
float ToLinear1(float c){return(c<=0.04045)?c/12.92:pow((c+0.055)/1.055,2.4);}
|
|
||||||
float3 ToLinear(float3 c){return float3(ToLinear1(c.r),ToLinear1(c.g),ToLinear1(c.b));}
|
|
||||||
|
|
||||||
// Linear to sRGB.
|
|
||||||
// Assuing using sRGB typed textures this should not be needed.
|
|
||||||
float ToSrgb1(float c){return(c<0.0031308?c*12.92:1.055*pow(c,0.41666)-0.055);}
|
|
||||||
float3 ToSrgb(float3 c){return float3(ToSrgb1(c.r),ToSrgb1(c.g),ToSrgb1(c.b));}
|
|
||||||
|
|
||||||
|
|
||||||
float3 Test(float3 c){return c*(1.0/64.0)+c*c*c;}
|
|
||||||
|
|
||||||
// Nearest emulated sample given floating point position and texel offset.
|
|
||||||
// Also zero's off screen.
|
|
||||||
float3 Fetch( float2 pos,float2 off){
|
|
||||||
pos=floor(pos*_res+off)/_res;
|
|
||||||
if(max(abs(pos.x-0.5),abs(pos.y-0.5))>0.5)return float3(0.0,0.0,0.0);
|
|
||||||
return Test(ToLinear(tex2D(_MainTex,pos.xy).rgb));}
|
|
||||||
|
|
||||||
// Distance in emulated pixels to nearest texel.
|
|
||||||
float2 Dist(float2 pos){pos=pos*_res;return -((pos-floor(pos))-float2(0.5,0.5));}
|
|
||||||
|
|
||||||
// 1D Gaussian.
|
|
||||||
float Gaus(float pos,float scale){return exp2(scale*pos*pos);}
|
|
||||||
|
|
||||||
// 3-tap Gaussian filter along horz line.
|
|
||||||
float3 Horz3(float2 pos,float off){
|
|
||||||
float3 b=Fetch(pos,float2(-1.0,off));
|
|
||||||
float3 c=Fetch(pos,float2( 0.0,off));
|
|
||||||
float3 d=Fetch(pos,float2( 1.0,off));
|
|
||||||
float dst=Dist(pos).x;
|
|
||||||
// Convert distance to weight.
|
|
||||||
float scale=_hardPix;
|
|
||||||
float wb=Gaus(dst-1.0,scale);
|
|
||||||
float wc=Gaus(dst+0.0,scale);
|
|
||||||
float wd=Gaus(dst+1.0,scale);
|
|
||||||
// Return filtered sample.
|
|
||||||
return (b*wb+c*wc+d*wd)/(wb+wc+wd);}
|
|
||||||
|
|
||||||
// 5-tap Gaussian filter along horz line.
|
|
||||||
float3 Horz5(float2 pos,float off){
|
|
||||||
float3 a=Fetch(pos,float2(-2.0,off));
|
|
||||||
float3 b=Fetch(pos,float2(-1.0,off));
|
|
||||||
float3 c=Fetch(pos,float2( 0.0,off));
|
|
||||||
float3 d=Fetch(pos,float2( 1.0,off));
|
|
||||||
float3 e=Fetch(pos,float2( 2.0,off));
|
|
||||||
float dst=Dist(pos).x;
|
|
||||||
// Convert distance to weight.
|
|
||||||
float scale=_hardPix;
|
|
||||||
float wa=Gaus(dst-2.0,scale);
|
|
||||||
float wb=Gaus(dst-1.0,scale);
|
|
||||||
float wc=Gaus(dst+0.0,scale);
|
|
||||||
float wd=Gaus(dst+1.0,scale);
|
|
||||||
float we=Gaus(dst+2.0,scale);
|
|
||||||
// Return filtered sample.
|
|
||||||
return (a*wa+b*wb+c*wc+d*wd+e*we)/(wa+wb+wc+wd+we);}
|
|
||||||
|
|
||||||
// 7-tap Gaussian filter along horz line.
|
|
||||||
float3 Horz7(float2 pos,float off){
|
|
||||||
float3 a=Fetch(pos,float2(-3.0,off));
|
|
||||||
float3 b=Fetch(pos,float2(-2.0,off));
|
|
||||||
float3 c=Fetch(pos,float2(-1.0,off));
|
|
||||||
float3 d=Fetch(pos,float2( 0.0,off));
|
|
||||||
float3 e=Fetch(pos,float2( 1.0,off));
|
|
||||||
float3 f=Fetch(pos,float2( 2.0,off));
|
|
||||||
float3 g=Fetch(pos,float2( 3.0,off));
|
|
||||||
float dst=Dist(pos).x;
|
|
||||||
// Convert distance to weight.
|
|
||||||
float scale=_hardBloomPix;
|
|
||||||
float wa=Gaus(dst-3.0,scale);
|
|
||||||
float wb=Gaus(dst-2.0,scale);
|
|
||||||
float wc=Gaus(dst-1.0,scale);
|
|
||||||
float wd=Gaus(dst+0.0,scale);
|
|
||||||
float we=Gaus(dst+1.0,scale);
|
|
||||||
float wf=Gaus(dst+2.0,scale);
|
|
||||||
float wg=Gaus(dst+3.0,scale);
|
|
||||||
// Return filtered sample.
|
|
||||||
return (a*wa+b*wb+c*wc+d*wd+e*we+f*wf+g*wg)/(wa+wb+wc+wd+we+wf+wg);}
|
|
||||||
|
|
||||||
// Return scanline weight.
|
|
||||||
float Scan(float2 pos,float off){
|
|
||||||
float dst=Dist(pos).y;
|
|
||||||
return Gaus(dst+off,_hardScan);}
|
|
||||||
|
|
||||||
// Return scanline weight for bloom.
|
|
||||||
float BloomScan(float2 pos,float off){
|
|
||||||
float dst=Dist(pos).y;
|
|
||||||
return Gaus(dst+off,_hardBloomScan);}
|
|
||||||
|
|
||||||
// Allow nearest three lines to effect pixel.
|
|
||||||
float3 Tri(float2 pos){
|
|
||||||
float3 a=Horz3(pos,-1.0);
|
|
||||||
float3 b=Horz5(pos, 0.0);
|
|
||||||
float3 c=Horz3(pos, 1.0);
|
|
||||||
float wa=Scan(pos,-1.0);
|
|
||||||
float wb=Scan(pos, 0.0);
|
|
||||||
float wc=Scan(pos, 1.0);
|
|
||||||
return a*wa+b*wb+c*wc;}
|
|
||||||
|
|
||||||
// Small bloom.
|
|
||||||
float3 Bloom(float2 pos){
|
|
||||||
float3 a=Horz5(pos,-2.0);
|
|
||||||
float3 b=Horz7(pos,-1.0);
|
|
||||||
float3 c=Horz7(pos, 0.0);
|
|
||||||
float3 d=Horz7(pos, 1.0);
|
|
||||||
float3 e=Horz5(pos, 2.0);
|
|
||||||
float wa=BloomScan(pos,-2.0);
|
|
||||||
float wb=BloomScan(pos,-1.0);
|
|
||||||
float wc=BloomScan(pos, 0.0);
|
|
||||||
float wd=BloomScan(pos, 1.0);
|
|
||||||
float we=BloomScan(pos, 2.0);
|
|
||||||
return a*wa+b*wb+c*wc+d*wd+e*we;}
|
|
||||||
|
|
||||||
// Distortion of scanlines, and end of screen alpha.
|
|
||||||
float2 Warp(float2 pos){
|
|
||||||
|
|
||||||
pos=pos*2.0-1.0;
|
|
||||||
pos*=float2(1.0+(pos.y*pos.y)*_warp.x,1.0+(pos.x*pos.x)*_warp.y);
|
|
||||||
return pos*0.5+0.5;}
|
|
||||||
|
|
||||||
#if defined(_MASKSTYLE_TVSTYLE)
|
|
||||||
// Very compressed TV style shadow mask.
|
|
||||||
float3 Mask(float2 pos){
|
|
||||||
float lineee=_maskLight;
|
|
||||||
float odd=0.0;
|
|
||||||
if(fract(pos.x/6.0)<0.5)odd=1.0;
|
|
||||||
if(fract((pos.y+odd)/2.0)<0.5) lineee=_maskDark;
|
|
||||||
pos.x=fract(pos.x/3.0);
|
|
||||||
float3 mask=float3(_maskDark,_maskDark,_maskDark);
|
|
||||||
if(pos.x<0.333)mask.r=_maskLight;
|
|
||||||
else if(pos.x<0.666)mask.g=_maskLight;
|
|
||||||
else mask.b=_maskLight;
|
|
||||||
mask*=lineee;
|
|
||||||
return mask;
|
|
||||||
}
|
|
||||||
#elif defined(_MASKSTYLE_APERTUREGRILLE)
|
|
||||||
// Aperture-grille.
|
|
||||||
float3 Mask(float2 pos){
|
|
||||||
pos.x=fract(pos.x/3.0);
|
|
||||||
float3 mask=float3(_maskDark,_maskDark,_maskDark);
|
|
||||||
if(pos.x<0.333)mask.r=_maskLight;
|
|
||||||
else if(pos.x<0.666)mask.g=_maskLight;
|
|
||||||
else mask.b=_maskLight;
|
|
||||||
return mask;}
|
|
||||||
#elif defined(_MASKSTYLE_STRETCHEDVGA)
|
|
||||||
// Stretched VGA style shadow mask (same as prior shaders).
|
|
||||||
float3 Mask(float2 pos){
|
|
||||||
pos.x+=pos.y*3.0;
|
|
||||||
float3 mask=float3(_maskDark,_maskDark,_maskDark);
|
|
||||||
pos.x=fract(pos.x/6.0);
|
|
||||||
if(pos.x<0.333)mask.r=_maskLight;
|
|
||||||
else if(pos.x<0.666)mask.g=_maskLight;
|
|
||||||
else mask.b=_maskLight;
|
|
||||||
return mask;}
|
|
||||||
#elif defined(_MASKSTYLE_VGASTYLE)
|
|
||||||
// VGA style shadow mask.
|
|
||||||
float3 Mask(float2 pos){
|
|
||||||
pos.xy=floor(pos.xy*float2(1.0,0.5));
|
|
||||||
pos.x+=pos.y*3.0;
|
|
||||||
float3 mask=float3(_maskDark,_maskDark,_maskDark);
|
|
||||||
pos.x=fract(pos.x/6.0);
|
|
||||||
if(pos.x<0.333)mask.r=_maskLight;
|
|
||||||
else if(pos.x<0.666)mask.g=_maskLight;
|
|
||||||
else mask.b=_maskLight;
|
|
||||||
return mask;}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Draw dividing bars.
|
|
||||||
float Bar(float pos,float bar){pos-=bar;return pos*pos<4.0?0.0:1.0;}
|
|
||||||
|
|
||||||
// Entry.
|
|
||||||
float4 mainImage(float2 fragCoord){
|
|
||||||
|
|
||||||
float4 fragColor = float4(1,1,1,1);
|
|
||||||
float2 pos=Warp(fragCoord.xy/_iResolution.xy);
|
|
||||||
|
|
||||||
fragColor.rgb=Tri(pos)*Mask(fragCoord.xy);
|
|
||||||
|
|
||||||
fragColor.rgb+=Bloom(pos)*_bloomAmount;
|
|
||||||
|
|
||||||
fragColor.a=1.0;
|
|
||||||
fragColor.rgb=ToSrgb(fragColor.rgb);
|
|
||||||
|
|
||||||
return fragColor;
|
|
||||||
}
|
|
||||||
|
|
||||||
struct v2f
|
|
||||||
{
|
|
||||||
float4 pos : POSITION;
|
|
||||||
float2 uv : TEXCOORD0;
|
|
||||||
};
|
|
||||||
|
|
||||||
fixed4 frag (v2f i) : SV_Target
|
|
||||||
{
|
|
||||||
float2 pos = _iResolution.xy*i.uv;
|
|
||||||
fixed4 col = mainImage(pos);
|
|
||||||
return col;
|
|
||||||
}
|
|
||||||
ENDCG
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,293 @@
|
|||||||
|
|
||||||
|
Shader "PostEffect/FixingPixcelArtGrille"
|
||||||
|
{
|
||||||
|
Properties
|
||||||
|
{
|
||||||
|
_MainTex ("Base (RGB)", 2D) = "white" {}
|
||||||
|
}
|
||||||
|
SubShader
|
||||||
|
{
|
||||||
|
Pass
|
||||||
|
{
|
||||||
|
CGPROGRAM
|
||||||
|
|
||||||
|
#pragma shader_feature_local _MASKSTYLE_TVSTYLE _MASKSTYLE_APERTUREGRILLE _MASKSTYLE_STRETCHEDVGA _MASKSTYLE_VGASTYLE
|
||||||
|
#pragma vertex vert_img
|
||||||
|
#pragma fragment frag
|
||||||
|
#include "UnityCG.cginc"
|
||||||
|
|
||||||
|
sampler2D _MainTex;
|
||||||
|
float4 _MainTex_TexelSize;
|
||||||
|
|
||||||
|
//
|
||||||
|
// PUBLIC DOMAIN CRT STYLED SCAN-LINE SHADER
|
||||||
|
//
|
||||||
|
// by Timothy Lottes
|
||||||
|
//
|
||||||
|
// This is more along the style of a really good CGA arcade monitor.
|
||||||
|
// With RGB inputs instead of NTSC.
|
||||||
|
// The shadow mask example has the mask rotated 90 degrees for less chromatic aberration.
|
||||||
|
//
|
||||||
|
// Left it unoptimized to show the theory behind the algorithm.
|
||||||
|
//
|
||||||
|
// It is an example what I personally would want as a display option for pixel art games.
|
||||||
|
// Please take and use, change, or whatever.
|
||||||
|
//
|
||||||
|
|
||||||
|
float2 _iResolution = float2(1920,1080);
|
||||||
|
|
||||||
|
// Emulated input resolution.
|
||||||
|
// Optimize for resize.
|
||||||
|
float2 _res = float2(272.0,240.0);
|
||||||
|
|
||||||
|
// Hardness of scanline.
|
||||||
|
// -8.0 = soft
|
||||||
|
// -16.0 = medium
|
||||||
|
float _hardScan = -10.0;
|
||||||
|
|
||||||
|
// Hardness of pixels in scanline.
|
||||||
|
// -2.0 = soft
|
||||||
|
// -4.0 = hard
|
||||||
|
float _hardPix =-2.0;
|
||||||
|
|
||||||
|
// Hardness of short vertical bloom.
|
||||||
|
// -1.0 = wide to the point of clipping (bad)
|
||||||
|
// -1.5 = wide
|
||||||
|
// -4.0 = not very wide at all
|
||||||
|
float _hardBloomScan = -4.0;
|
||||||
|
|
||||||
|
// Hardness of short horizontal bloom.
|
||||||
|
// -0.5 = wide to the point of clipping (bad)
|
||||||
|
// -1.0 = wide
|
||||||
|
// -2.0 = not very wide at all
|
||||||
|
float _hardBloomPix = -1.5;
|
||||||
|
|
||||||
|
// Amount of small bloom effect.
|
||||||
|
// 1.0/1.0 = only bloom
|
||||||
|
// 1.0/16.0 = what I think is a good amount of small bloom
|
||||||
|
// 0.0 = no bloom
|
||||||
|
float _bloomAmount = 1.0/16.0;
|
||||||
|
|
||||||
|
// Display warp.
|
||||||
|
// 0.0 = none
|
||||||
|
// 1.0/8.0 = extreme
|
||||||
|
float2 _warp = float2(1.0/64.0,1.0/24.0);
|
||||||
|
|
||||||
|
// Amount of shadow mask.
|
||||||
|
float _maskDark = 0.5;
|
||||||
|
float _maskLight = 1.5;
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
|
||||||
|
float fract(float x){
|
||||||
|
return x-floor(x);
|
||||||
|
}
|
||||||
|
|
||||||
|
// sRGB to Linear.
|
||||||
|
// Assuing using sRGB typed textures this should not be needed.
|
||||||
|
float ToLinear1(float c){return(c<=0.04045)?c/12.92:pow((c+0.055)/1.055,2.4);}
|
||||||
|
float3 ToLinear(float3 c){return float3(ToLinear1(c.r),ToLinear1(c.g),ToLinear1(c.b));}
|
||||||
|
|
||||||
|
// Linear to sRGB.
|
||||||
|
// Assuing using sRGB typed textures this should not be needed.
|
||||||
|
float ToSrgb1(float c){return(c<0.0031308?c*12.92:1.055*pow(c,0.41666)-0.055);}
|
||||||
|
float3 ToSrgb(float3 c){return float3(ToSrgb1(c.r),ToSrgb1(c.g),ToSrgb1(c.b));}
|
||||||
|
|
||||||
|
|
||||||
|
float3 Test(float3 c){return c*(1.0/64.0)+c*c*c;}
|
||||||
|
|
||||||
|
// Nearest emulated sample given floating point position and texel offset.
|
||||||
|
// Also zero's off screen.
|
||||||
|
float3 Fetch( float2 pos,float2 off){
|
||||||
|
pos=floor(pos*_res+off)/_res;
|
||||||
|
if(max(abs(pos.x-0.5),abs(pos.y-0.5))>0.5)return float3(0.0,0.0,0.0);
|
||||||
|
return Test(ToLinear(tex2D(_MainTex,pos.xy).rgb));}
|
||||||
|
|
||||||
|
// Distance in emulated pixels to nearest texel.
|
||||||
|
float2 Dist(float2 pos){pos=pos*_res;return -((pos-floor(pos))-float2(0.5,0.5));}
|
||||||
|
|
||||||
|
// 1D Gaussian.
|
||||||
|
float Gaus(float pos,float scale){return exp2(scale*pos*pos);}
|
||||||
|
|
||||||
|
// 3-tap Gaussian filter along horz line.
|
||||||
|
float3 Horz3(float2 pos,float off){
|
||||||
|
float3 b=Fetch(pos,float2(-1.0,off));
|
||||||
|
float3 c=Fetch(pos,float2( 0.0,off));
|
||||||
|
float3 d=Fetch(pos,float2( 1.0,off));
|
||||||
|
float dst=Dist(pos).x;
|
||||||
|
// Convert distance to weight.
|
||||||
|
float scale=_hardPix;
|
||||||
|
float wb=Gaus(dst-1.0,scale);
|
||||||
|
float wc=Gaus(dst+0.0,scale);
|
||||||
|
float wd=Gaus(dst+1.0,scale);
|
||||||
|
// Return filtered sample.
|
||||||
|
return (b*wb+c*wc+d*wd)/(wb+wc+wd);}
|
||||||
|
|
||||||
|
// 5-tap Gaussian filter along horz line.
|
||||||
|
float3 Horz5(float2 pos,float off){
|
||||||
|
float3 a=Fetch(pos,float2(-2.0,off));
|
||||||
|
float3 b=Fetch(pos,float2(-1.0,off));
|
||||||
|
float3 c=Fetch(pos,float2( 0.0,off));
|
||||||
|
float3 d=Fetch(pos,float2( 1.0,off));
|
||||||
|
float3 e=Fetch(pos,float2( 2.0,off));
|
||||||
|
float dst=Dist(pos).x;
|
||||||
|
// Convert distance to weight.
|
||||||
|
float scale=_hardPix;
|
||||||
|
float wa=Gaus(dst-2.0,scale);
|
||||||
|
float wb=Gaus(dst-1.0,scale);
|
||||||
|
float wc=Gaus(dst+0.0,scale);
|
||||||
|
float wd=Gaus(dst+1.0,scale);
|
||||||
|
float we=Gaus(dst+2.0,scale);
|
||||||
|
// Return filtered sample.
|
||||||
|
return (a*wa+b*wb+c*wc+d*wd+e*we)/(wa+wb+wc+wd+we);}
|
||||||
|
|
||||||
|
// 7-tap Gaussian filter along horz line.
|
||||||
|
float3 Horz7(float2 pos,float off){
|
||||||
|
float3 a=Fetch(pos,float2(-3.0,off));
|
||||||
|
float3 b=Fetch(pos,float2(-2.0,off));
|
||||||
|
float3 c=Fetch(pos,float2(-1.0,off));
|
||||||
|
float3 d=Fetch(pos,float2( 0.0,off));
|
||||||
|
float3 e=Fetch(pos,float2( 1.0,off));
|
||||||
|
float3 f=Fetch(pos,float2( 2.0,off));
|
||||||
|
float3 g=Fetch(pos,float2( 3.0,off));
|
||||||
|
float dst=Dist(pos).x;
|
||||||
|
// Convert distance to weight.
|
||||||
|
float scale=_hardBloomPix;
|
||||||
|
float wa=Gaus(dst-3.0,scale);
|
||||||
|
float wb=Gaus(dst-2.0,scale);
|
||||||
|
float wc=Gaus(dst-1.0,scale);
|
||||||
|
float wd=Gaus(dst+0.0,scale);
|
||||||
|
float we=Gaus(dst+1.0,scale);
|
||||||
|
float wf=Gaus(dst+2.0,scale);
|
||||||
|
float wg=Gaus(dst+3.0,scale);
|
||||||
|
// Return filtered sample.
|
||||||
|
return (a*wa+b*wb+c*wc+d*wd+e*we+f*wf+g*wg)/(wa+wb+wc+wd+we+wf+wg);}
|
||||||
|
|
||||||
|
// Return scanline weight.
|
||||||
|
float Scan(float2 pos,float off){
|
||||||
|
float dst=Dist(pos).y;
|
||||||
|
return Gaus(dst+off,_hardScan);}
|
||||||
|
|
||||||
|
// Return scanline weight for bloom.
|
||||||
|
float BloomScan(float2 pos,float off){
|
||||||
|
float dst=Dist(pos).y;
|
||||||
|
return Gaus(dst+off,_hardBloomScan);}
|
||||||
|
|
||||||
|
// Allow nearest three lines to effect pixel.
|
||||||
|
float3 Tri(float2 pos){
|
||||||
|
float3 a=Horz3(pos,-1.0);
|
||||||
|
float3 b=Horz5(pos, 0.0);
|
||||||
|
float3 c=Horz3(pos, 1.0);
|
||||||
|
float wa=Scan(pos,-1.0);
|
||||||
|
float wb=Scan(pos, 0.0);
|
||||||
|
float wc=Scan(pos, 1.0);
|
||||||
|
return a*wa+b*wb+c*wc;}
|
||||||
|
|
||||||
|
// Small bloom.
|
||||||
|
float3 Bloom(float2 pos){
|
||||||
|
float3 a=Horz5(pos,-2.0);
|
||||||
|
float3 b=Horz7(pos,-1.0);
|
||||||
|
float3 c=Horz7(pos, 0.0);
|
||||||
|
float3 d=Horz7(pos, 1.0);
|
||||||
|
float3 e=Horz5(pos, 2.0);
|
||||||
|
float wa=BloomScan(pos,-2.0);
|
||||||
|
float wb=BloomScan(pos,-1.0);
|
||||||
|
float wc=BloomScan(pos, 0.0);
|
||||||
|
float wd=BloomScan(pos, 1.0);
|
||||||
|
float we=BloomScan(pos, 2.0);
|
||||||
|
return a*wa+b*wb+c*wc+d*wd+e*we;}
|
||||||
|
|
||||||
|
// Distortion of scanlines, and end of screen alpha.
|
||||||
|
float2 Warp(float2 pos){
|
||||||
|
|
||||||
|
pos=pos*2.0-1.0;
|
||||||
|
pos*=float2(1.0+(pos.y*pos.y)*_warp.x,1.0+(pos.x*pos.x)*_warp.y);
|
||||||
|
return pos*0.5+0.5;}
|
||||||
|
|
||||||
|
#if defined(_MASKSTYLE_TVSTYLE)
|
||||||
|
// Very compressed TV style shadow mask.
|
||||||
|
float3 Mask(float2 pos){
|
||||||
|
float lineee=_maskLight;
|
||||||
|
float odd=0.0;
|
||||||
|
if(fract(pos.x/6.0)<0.5)odd=1.0;
|
||||||
|
if(fract((pos.y+odd)/2.0)<0.5) lineee=_maskDark;
|
||||||
|
pos.x=fract(pos.x/3.0);
|
||||||
|
float3 mask=float3(_maskDark,_maskDark,_maskDark);
|
||||||
|
if(pos.x<0.333)mask.r=_maskLight;
|
||||||
|
else if(pos.x<0.666)mask.g=_maskLight;
|
||||||
|
else mask.b=_maskLight;
|
||||||
|
mask*=lineee;
|
||||||
|
return mask;
|
||||||
|
}
|
||||||
|
#elif defined(_MASKSTYLE_APERTUREGRILLE)
|
||||||
|
// Aperture-grille.
|
||||||
|
float3 Mask(float2 pos){
|
||||||
|
pos.x=fract(pos.x/3.0);
|
||||||
|
float3 mask=float3(_maskDark,_maskDark,_maskDark);
|
||||||
|
if(pos.x<0.333)mask.r=_maskLight;
|
||||||
|
else if(pos.x<0.666)mask.g=_maskLight;
|
||||||
|
else mask.b=_maskLight;
|
||||||
|
return mask;}
|
||||||
|
#elif defined(_MASKSTYLE_STRETCHEDVGA)
|
||||||
|
// Stretched VGA style shadow mask (same as prior shaders).
|
||||||
|
float3 Mask(float2 pos){
|
||||||
|
pos.x+=pos.y*3.0;
|
||||||
|
float3 mask=float3(_maskDark,_maskDark,_maskDark);
|
||||||
|
pos.x=fract(pos.x/6.0);
|
||||||
|
if(pos.x<0.333)mask.r=_maskLight;
|
||||||
|
else if(pos.x<0.666)mask.g=_maskLight;
|
||||||
|
else mask.b=_maskLight;
|
||||||
|
return mask;}
|
||||||
|
#elif defined(_MASKSTYLE_VGASTYLE)
|
||||||
|
// VGA style shadow mask.
|
||||||
|
float3 Mask(float2 pos){
|
||||||
|
pos.xy=floor(pos.xy*float2(1.0,0.5));
|
||||||
|
pos.x+=pos.y*3.0;
|
||||||
|
float3 mask=float3(_maskDark,_maskDark,_maskDark);
|
||||||
|
pos.x=fract(pos.x/6.0);
|
||||||
|
if(pos.x<0.333)mask.r=_maskLight;
|
||||||
|
else if(pos.x<0.666)mask.g=_maskLight;
|
||||||
|
else mask.b=_maskLight;
|
||||||
|
return mask;}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Draw dividing bars.
|
||||||
|
float Bar(float pos,float bar){pos-=bar;return pos*pos<4.0?0.0:1.0;}
|
||||||
|
|
||||||
|
// Entry.
|
||||||
|
float4 mainImage(float2 fragCoord){
|
||||||
|
|
||||||
|
float4 fragColor = float4(1,1,1,1);
|
||||||
|
float2 pos=Warp(fragCoord.xy/_iResolution.xy);
|
||||||
|
|
||||||
|
fragColor.rgb=Tri(pos)*Mask(fragCoord.xy);
|
||||||
|
|
||||||
|
fragColor.rgb+=Bloom(pos)*_bloomAmount;
|
||||||
|
|
||||||
|
fragColor.a=1.0;
|
||||||
|
fragColor.rgb=ToSrgb(fragColor.rgb);
|
||||||
|
|
||||||
|
return fragColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
struct v2f
|
||||||
|
{
|
||||||
|
float4 pos : POSITION;
|
||||||
|
float2 uv : TEXCOORD0;
|
||||||
|
};
|
||||||
|
|
||||||
|
fixed4 frag (v2f i) : SV_Target
|
||||||
|
{
|
||||||
|
float2 pos = _iResolution.xy*i.uv;
|
||||||
|
fixed4 col = mainImage(pos);
|
||||||
|
return col;
|
||||||
|
}
|
||||||
|
ENDCG
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,5 +1,21 @@
|
|||||||
%YAML 1.1
|
%YAML 1.1
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &-2985742813244632235
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 3
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 98a055cea8a1355429d1cbb752c4e60e, type: 3}
|
||||||
|
m_Name: MattiasCRT
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
active: 1
|
||||||
|
enabled:
|
||||||
|
overrideState: 1
|
||||||
|
value: 1
|
||||||
--- !u!114 &11400000
|
--- !u!114 &11400000
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -14,6 +30,7 @@ MonoBehaviour:
|
|||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
settings:
|
settings:
|
||||||
- {fileID: 117625959343581733}
|
- {fileID: 117625959343581733}
|
||||||
|
- {fileID: -2985742813244632235}
|
||||||
--- !u!114 &117625959343581733
|
--- !u!114 &117625959343581733
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 3
|
m_ObjectHideFlags: 3
|
||||||
|
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 890a033cb91c7a24f9dbc97bf87f6dca
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -0,0 +1,28 @@
|
|||||||
|
using AxibugEmuOnline.Client;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.Rendering.PostProcessing;
|
||||||
|
|
||||||
|
[System.Serializable]
|
||||||
|
[PostProcess(typeof(MattiasCRTRenderer), PostProcessEvent.BeforeStack, "Filter/MattiasCRT")]
|
||||||
|
public sealed class MattiasCRT : FilterEffect
|
||||||
|
{
|
||||||
|
public override string Name => nameof(MattiasCRT);
|
||||||
|
}
|
||||||
|
|
||||||
|
public sealed class MattiasCRTRenderer : PostProcessEffectRenderer<MattiasCRT>
|
||||||
|
{
|
||||||
|
private Shader shader;
|
||||||
|
private Material material;
|
||||||
|
|
||||||
|
public override void Init()
|
||||||
|
{
|
||||||
|
shader = Shader.Find("Filter/MattiasCRT");
|
||||||
|
material = new Material(shader);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Render(PostProcessRenderContext context)
|
||||||
|
{
|
||||||
|
material.SetVector("_iResolution", new Vector4(Screen.width, Screen.height, 0, 0));
|
||||||
|
context.command.Blit(context.source, context.destination, material);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 98a055cea8a1355429d1cbb752c4e60e
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -0,0 +1,98 @@
|
|||||||
|
|
||||||
|
Shader "Filter/MattiasCRT"
|
||||||
|
{
|
||||||
|
Properties
|
||||||
|
{
|
||||||
|
_MainTex ("Base (RGB)", 2D) = "white" {}
|
||||||
|
}
|
||||||
|
SubShader
|
||||||
|
{
|
||||||
|
Pass
|
||||||
|
{
|
||||||
|
CGPROGRAM
|
||||||
|
|
||||||
|
#pragma vertex vert_img
|
||||||
|
#pragma fragment frag
|
||||||
|
#include "UnityCG.cginc"
|
||||||
|
|
||||||
|
sampler2D _MainTex;
|
||||||
|
float4 _MainTex_TexelSize;
|
||||||
|
float2 _iResolution;
|
||||||
|
|
||||||
|
float2 curve(float2 uv)
|
||||||
|
{
|
||||||
|
uv = (uv - 0.5) * 2.0;
|
||||||
|
uv *= 1.1;
|
||||||
|
uv.x *= 1.0 + pow((abs(uv.y) / 5.0), 2.0);
|
||||||
|
uv.y *= 1.0 + pow((abs(uv.x) / 4.0), 2.0);
|
||||||
|
uv = (uv / 2.0) + 0.5;
|
||||||
|
uv = uv *0.92 + 0.04;
|
||||||
|
return uv;
|
||||||
|
}
|
||||||
|
|
||||||
|
float4 mainImage( float2 fragCoord )
|
||||||
|
{
|
||||||
|
float4 fragColor = float4(0,0,0,1);
|
||||||
|
|
||||||
|
float2 q = fragCoord.xy / _iResolution.xy;
|
||||||
|
float2 uv = q;
|
||||||
|
uv = curve( uv );
|
||||||
|
float3 oricol = tex2D(_MainTex,uv).xyz;
|
||||||
|
float3 col;
|
||||||
|
float x = sin(0.3*_Time+uv.y*21.0)*sin(0.7*_Time+uv.y*29.0)*sin(0.3+0.33*_Time+uv.y*31.0)*0.0017;
|
||||||
|
|
||||||
|
col.r = tex2D(_MainTex,float2(x+uv.x+0.001,uv.y+0.001)).x+0.05;
|
||||||
|
col.g = tex2D(_MainTex,float2(x+uv.x+0.000,uv.y-0.002)).y+0.05;
|
||||||
|
col.b = tex2D(_MainTex,float2(x+uv.x-0.002,uv.y+0.000)).z+0.05;
|
||||||
|
col.r += 0.08*tex2D(_MainTex,0.75*float2(x+0.025, -0.027)+float2(uv.x+0.001,uv.y+0.001)).x;
|
||||||
|
col.g += 0.05*tex2D(_MainTex,0.75*float2(x+-0.022, -0.02)+float2(uv.x+0.000,uv.y-0.002)).y;
|
||||||
|
col.b += 0.08*tex2D(_MainTex,0.75*float2(x+-0.02, -0.018)+float2(uv.x-0.002,uv.y+0.000)).z;
|
||||||
|
|
||||||
|
col = clamp(col*0.6+0.4*col*col*1.0,0.0,1.0);
|
||||||
|
|
||||||
|
float vig = (0.0 + 1.0*16.0*uv.x*uv.y*(1.0-uv.x)*(1.0-uv.y));
|
||||||
|
col *= pow(vig,0.3);
|
||||||
|
|
||||||
|
col *= float3(0.95,1.05,0.95);
|
||||||
|
col *= 2.8;
|
||||||
|
|
||||||
|
float scans = clamp( 0.35+0.35*sin(3.5*_Time+uv.y*_iResolution.y*1.5), 0.0, 1.0);
|
||||||
|
|
||||||
|
float s = pow(scans,1.7);
|
||||||
|
col = col*( 0.4+0.7*s) ;
|
||||||
|
|
||||||
|
col *= 1.0+0.01*sin(110.0*_Time);
|
||||||
|
if (uv.x < 0.0 || uv.x > 1.0)
|
||||||
|
col *= 0.0;
|
||||||
|
if (uv.y < 0.0 || uv.y > 1.0)
|
||||||
|
col *= 0.0;
|
||||||
|
|
||||||
|
|
||||||
|
col*=1.0-0.65*clamp((fragCoord.x % 2.0 -1.0 )*2.0,0.0,1.0);
|
||||||
|
|
||||||
|
float comp = smoothstep( 0.1, 0.9, sin(_Time) );
|
||||||
|
|
||||||
|
fragColor = float4(col,1.0);
|
||||||
|
|
||||||
|
return fragColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
struct v2f
|
||||||
|
{
|
||||||
|
float4 pos : POSITION;
|
||||||
|
float2 uv : TEXCOORD0;
|
||||||
|
};
|
||||||
|
|
||||||
|
fixed4 frag (v2f i) : SV_Target
|
||||||
|
{
|
||||||
|
float2 pos = _iResolution.xy*i.uv;
|
||||||
|
fixed4 col = mainImage(pos);
|
||||||
|
return col;
|
||||||
|
}
|
||||||
|
ENDCG
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,10 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 5dd9160e7dde4dd4db07347ce4780217
|
||||||
|
ShaderImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
defaultTextures: []
|
||||||
|
nonModifiableTextures: []
|
||||||
|
preprocessorOverride: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -67,15 +67,122 @@ namespace AxibugEmuOnline.Client
|
|||||||
public class Filter
|
public class Filter
|
||||||
{
|
{
|
||||||
public string Name => m_setting.Name;
|
public string Name => m_setting.Name;
|
||||||
|
public IReadOnlyCollection<EditableParamerter> Paramerters => m_setting.EditableParam;
|
||||||
|
/// <summary> 滤镜预设 </summary>
|
||||||
|
public List<FilterPreset> Presets = new List<FilterPreset>();
|
||||||
|
|
||||||
internal FilterEffect m_setting;
|
internal FilterEffect m_setting;
|
||||||
|
|
||||||
public Filter(FilterEffect setting)
|
public Filter(FilterEffect setting)
|
||||||
{
|
{
|
||||||
m_setting = setting;
|
m_setting = setting;
|
||||||
|
|
||||||
|
loadPresets();
|
||||||
}
|
}
|
||||||
|
|
||||||
internal IReadOnlyCollection<EditableParamerter> Paramerters => m_setting.EditableParam;
|
private void loadPresets()
|
||||||
|
{
|
||||||
|
var json = PlayerPrefs.GetString($"Filter_{Name}_PresetList", string.Empty);
|
||||||
|
var loadedPresets = JsonUtility.FromJson<FilterPresetList>(json);
|
||||||
|
if (loadedPresets == null) return;
|
||||||
|
else Presets = loadedPresets.presets;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void savePresets()
|
||||||
|
{
|
||||||
|
var json = JsonUtility.ToJson(new FilterPresetList { presets = Presets });
|
||||||
|
PlayerPrefs.SetString($"Filter_{Name}_PresetList", json);
|
||||||
|
}
|
||||||
|
|
||||||
|
public MsgBool CreatePreset(string presetName, out FilterPreset newPreset)
|
||||||
|
{
|
||||||
|
newPreset = null;
|
||||||
|
if (string.IsNullOrWhiteSpace(presetName)) return "名称不能为空";
|
||||||
|
if (Presets.Count(p => p.Name == presetName) != 0) return "名称重复";
|
||||||
|
|
||||||
|
newPreset = new FilterPreset(presetName);
|
||||||
|
Presets.Add(newPreset);
|
||||||
|
|
||||||
|
savePresets();
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RemovePreset(FilterPreset preset)
|
||||||
|
{
|
||||||
|
if (!Presets.Remove(preset)) return;
|
||||||
|
savePresets();
|
||||||
|
|
||||||
|
EventInvoker.RaiseFilterPresetRemoved(this, preset);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ResetPreset()
|
||||||
|
{
|
||||||
|
foreach (var param in Paramerters)
|
||||||
|
{
|
||||||
|
param.ResetToDefault();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ApplyPreset(FilterPreset preset)
|
||||||
|
{
|
||||||
|
foreach (var param in Paramerters)
|
||||||
|
{
|
||||||
|
var json = preset.GetParamValueJson(param.Name);
|
||||||
|
if (string.IsNullOrEmpty(json))
|
||||||
|
param.ResetToDefault();
|
||||||
|
else
|
||||||
|
param.Apply(json);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
[Serializable]
|
||||||
|
private class FilterPresetList
|
||||||
|
{
|
||||||
|
public List<FilterPreset> presets;
|
||||||
|
}
|
||||||
|
|
||||||
|
[Serializable]
|
||||||
|
public class FilterPreset
|
||||||
|
{
|
||||||
|
[SerializeField]
|
||||||
|
public string Name;
|
||||||
|
[SerializeField]
|
||||||
|
private List<string> m_paramName = new List<string>();
|
||||||
|
[SerializeField]
|
||||||
|
private List<string> m_valueJson = new List<string>();
|
||||||
|
|
||||||
|
private bool m_cacheReady = false;
|
||||||
|
private Dictionary<string, string> m_paramName2ValueJson;
|
||||||
|
public FilterPreset(string presetName)
|
||||||
|
{
|
||||||
|
Name = presetName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string GetParamValueJson(string paramName)
|
||||||
|
{
|
||||||
|
prepareCache();
|
||||||
|
|
||||||
|
m_paramName2ValueJson.TryGetValue(paramName, out var value);
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void prepareCache()
|
||||||
|
{
|
||||||
|
if (m_cacheReady) return;
|
||||||
|
|
||||||
|
m_paramName2ValueJson = new Dictionary<string, string>();
|
||||||
|
for (int i = 0; i < m_paramName.Count; i++)
|
||||||
|
{
|
||||||
|
m_paramName2ValueJson[m_paramName[i]] = m_valueJson[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
m_cacheReady = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
45
AxibugEmuOnline.Client/Assets/Script/MsgBool.cs
Normal file
45
AxibugEmuOnline.Client/Assets/Script/MsgBool.cs
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
/// <summary>
|
||||||
|
/// StringºÍBoolµÄ·ìºÏ¹Ö
|
||||||
|
/// </summary>
|
||||||
|
public struct MsgBool
|
||||||
|
{
|
||||||
|
public string ErrorMsg;
|
||||||
|
public bool Value;
|
||||||
|
|
||||||
|
public override readonly string ToString()
|
||||||
|
{
|
||||||
|
if (Value)
|
||||||
|
{
|
||||||
|
return true.ToString();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return ErrorMsg;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static implicit operator MsgBool(string errorMsg)
|
||||||
|
{
|
||||||
|
return new MsgBool { Value = false, ErrorMsg = errorMsg };
|
||||||
|
}
|
||||||
|
|
||||||
|
public static implicit operator MsgBool(bool value)
|
||||||
|
{
|
||||||
|
return new MsgBool { Value = value };
|
||||||
|
}
|
||||||
|
|
||||||
|
public static implicit operator bool(MsgBool msgBool)
|
||||||
|
{
|
||||||
|
return msgBool.Value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static implicit operator (bool, string)(MsgBool msgBool)
|
||||||
|
{
|
||||||
|
return (msgBool.Value, msgBool.ErrorMsg);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static implicit operator string(MsgBool msgBool)
|
||||||
|
{
|
||||||
|
return msgBool.ToString();
|
||||||
|
}
|
||||||
|
}
|
11
AxibugEmuOnline.Client/Assets/Script/MsgBool.cs.meta
Normal file
11
AxibugEmuOnline.Client/Assets/Script/MsgBool.cs.meta
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 26339d0bd71e1644daa0324182bd2bbf
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -51,7 +51,7 @@ namespace AxibugEmuOnline.Client
|
|||||||
var options = Datacontext.Presets.Select(preset => new ColorOption(preset)).ToList();
|
var options = Datacontext.Presets.Select(preset => new ColorOption(preset)).ToList();
|
||||||
var currentColor = Datacontext.CurrentColor;
|
var currentColor = Datacontext.CurrentColor;
|
||||||
var index = options.FindIndex(op => op.Color.GetHashCode() == currentColor.GetHashCode());
|
var index = options.FindIndex(op => op.Color.GetHashCode() == currentColor.GetHashCode());
|
||||||
OptionUI.Instance.Pop(options, Mathf.Clamp(index, 0, options.Count - 1));
|
OverlayManager.Pop(options, Mathf.Clamp(index, 0, options.Count - 1));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -96,10 +96,7 @@ namespace AxibugEmuOnline.Client
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void OnExcute()
|
public override void OnExcute(OptionUI optionUI, ref bool cancelHide) { }
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
using AxibugEmuOnline.Client.ClientCore;
|
using AxibugEmuOnline.Client.ClientCore;
|
||||||
using AxibugEmuOnline.Client.UI;
|
using AxibugEmuOnline.Client.UI;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using UnityEngine;
|
||||||
|
using static AxibugEmuOnline.Client.FilterManager;
|
||||||
|
|
||||||
namespace AxibugEmuOnline.Client
|
namespace AxibugEmuOnline.Client
|
||||||
{
|
{
|
||||||
@ -9,12 +13,11 @@ namespace AxibugEmuOnline.Client
|
|||||||
public class UI_FilterItem : MenuItem, IVirtualItem
|
public class UI_FilterItem : MenuItem, IVirtualItem
|
||||||
{
|
{
|
||||||
public int Index { get; set; }
|
public int Index { get; set; }
|
||||||
public FilterManager.Filter Datacontext { get; private set; }
|
public Filter Datacontext { get; private set; }
|
||||||
|
|
||||||
|
|
||||||
public void SetData(object data)
|
public void SetData(object data)
|
||||||
{
|
{
|
||||||
Datacontext = data as FilterManager.Filter;
|
Datacontext = data as Filter;
|
||||||
|
|
||||||
UpdateView();
|
UpdateView();
|
||||||
}
|
}
|
||||||
@ -35,13 +38,109 @@ namespace AxibugEmuOnline.Client
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Release()
|
public void Release() { }
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
public override bool OnEnterItem()
|
public override bool OnEnterItem()
|
||||||
{
|
{
|
||||||
|
var opts = new List<OptionMenu>();
|
||||||
|
opts.Add(new Opt_CreatePreset(Datacontext));
|
||||||
|
opts.AddRange(Datacontext.Presets.Select(p => new Opt_Presets(Datacontext, p)));
|
||||||
|
|
||||||
|
OverlayManager.Pop(opts, onClose: () =>
|
||||||
|
{
|
||||||
|
App.filter.EnableFilterPreview();
|
||||||
|
Datacontext.ResetPreset();
|
||||||
|
App.filter.EnableFilter(Datacontext);
|
||||||
|
});
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public class Opt_CreatePreset : ExecuteMenu
|
||||||
|
{
|
||||||
|
private Filter m_filter;
|
||||||
|
|
||||||
|
public Opt_CreatePreset(Filter filter) : base("创建滤镜预设", Resources.LoadAll<Sprite>("Icons/XMB-Icons/misc")[0])
|
||||||
|
{
|
||||||
|
m_filter = filter;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnFocus()
|
||||||
|
{
|
||||||
|
m_filter.ResetPreset();
|
||||||
|
App.filter.EnableFilter(m_filter);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnExcute(OptionUI optionUI, ref bool cancelHide)
|
||||||
|
{
|
||||||
|
cancelHide = true;
|
||||||
|
|
||||||
|
OverlayManager.Input((presetName) =>
|
||||||
|
{
|
||||||
|
var result = m_filter.CreatePreset(presetName, out var newPreset);
|
||||||
|
if (!result) OverlayManager.PopMsg(result);
|
||||||
|
else optionUI.AddOptionMenuWhenPoping(new Opt_Presets(m_filter, newPreset));
|
||||||
|
}, "为预设设置一个名称", string.Empty);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public class Opt_Presets : ExpandMenu
|
||||||
|
{
|
||||||
|
private Filter m_filter;
|
||||||
|
private FilterPreset m_preset;
|
||||||
|
private OptionUI_MenuItem m_ui;
|
||||||
|
|
||||||
|
public Opt_Presets(Filter filter, FilterPreset preset) : base(preset.Name, null)
|
||||||
|
{
|
||||||
|
m_filter = filter;
|
||||||
|
m_preset = preset;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnShow(OptionUI_MenuItem ui)
|
||||||
|
{
|
||||||
|
EventInvoker.OnFilterPresetRemoved += EventInvoker_OnFilterPresetRemoved;
|
||||||
|
m_ui = ui;
|
||||||
|
base.OnShow(ui);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnHide()
|
||||||
|
{
|
||||||
|
EventInvoker.OnFilterPresetRemoved -= EventInvoker_OnFilterPresetRemoved;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void EventInvoker_OnFilterPresetRemoved(Filter filter, FilterPreset removedPreset)
|
||||||
|
{
|
||||||
|
if (filter != m_filter || m_preset != removedPreset) return;
|
||||||
|
m_ui.OptionUI.RemoveItem(m_ui);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnFocus()
|
||||||
|
{
|
||||||
|
m_filter.ApplyPreset(m_preset);
|
||||||
|
App.filter.EnableFilter(m_filter);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override List<OptionMenu> GetOptionMenus()
|
||||||
|
{
|
||||||
|
return new List<OptionMenu> { new Opt_Delete(m_filter, m_preset) };
|
||||||
|
}
|
||||||
|
|
||||||
|
public class Opt_Delete : ExecuteMenu
|
||||||
|
{
|
||||||
|
private Filter m_filter;
|
||||||
|
private FilterPreset m_preset;
|
||||||
|
|
||||||
|
public Opt_Delete(Filter filter, FilterPreset preset) : base("删除预设", null)
|
||||||
|
{
|
||||||
|
m_filter = filter;
|
||||||
|
m_preset = preset;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnExcute(OptionUI optionUI, ref bool cancelHide)
|
||||||
|
{
|
||||||
|
m_filter.RemovePreset(m_preset);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,8 @@ using AxibugEmuOnline.Client.ClientCore;
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
using UnityEngine.EventSystems;
|
||||||
|
using UnityEngine.UI;
|
||||||
|
|
||||||
namespace AxibugEmuOnline.Client
|
namespace AxibugEmuOnline.Client
|
||||||
{
|
{
|
||||||
@ -80,9 +82,12 @@ namespace AxibugEmuOnline.Client
|
|||||||
|
|
||||||
readonly List<CommandExecuter> oneFrameRegister = new List<CommandExecuter>();
|
readonly List<CommandExecuter> oneFrameRegister = new List<CommandExecuter>();
|
||||||
private void Update()
|
private void Update()
|
||||||
|
{
|
||||||
|
if (!InputUI.IsInputing)
|
||||||
{
|
{
|
||||||
peekRegister(oneFrameRegister);
|
peekRegister(oneFrameRegister);
|
||||||
m_listener.Update(oneFrameRegister);
|
m_listener.Update(oneFrameRegister);
|
||||||
|
}
|
||||||
|
|
||||||
//键位映射在按键响应的堆栈结束后处理,防止迭代器修改问题
|
//键位映射在按键响应的堆栈结束后处理,防止迭代器修改问题
|
||||||
if (m_waitMapperSetting != null)
|
if (m_waitMapperSetting != null)
|
||||||
|
@ -33,7 +33,7 @@ namespace AxibugEmuOnline.Client
|
|||||||
|
|
||||||
protected virtual void Update()
|
protected virtual void Update()
|
||||||
{
|
{
|
||||||
if (Registed)
|
if (Registed && Enable)
|
||||||
{
|
{
|
||||||
m_pulsInvoker_Left.Update(Time.deltaTime);
|
m_pulsInvoker_Left.Update(Time.deltaTime);
|
||||||
m_pulsInvoker_Right.Update(Time.deltaTime);
|
m_pulsInvoker_Right.Update(Time.deltaTime);
|
||||||
|
@ -62,7 +62,7 @@ namespace AxibugEmuOnline.Client
|
|||||||
|
|
||||||
protected override void OnCmdOptionMenu()
|
protected override void OnCmdOptionMenu()
|
||||||
{
|
{
|
||||||
OptionUI.Instance.Pop(m_options);
|
OverlayManager.Pop(m_options);
|
||||||
}
|
}
|
||||||
|
|
||||||
public class OptMenu_Search : ExecuteMenu
|
public class OptMenu_Search : ExecuteMenu
|
||||||
@ -74,9 +74,9 @@ namespace AxibugEmuOnline.Client
|
|||||||
m_romListUI = romListUI;
|
m_romListUI = romListUI;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void OnExcute()
|
public override void OnExcute(OptionUI optionUI, ref bool cancelHide)
|
||||||
{
|
{
|
||||||
OverlayManager.Input((OnSearchCommit, "ÊäÈëRomÃû³Æ", m_romListUI.SearchKey));
|
OverlayManager.Input(OnSearchCommit, "ÊäÈëRomÃû³Æ", m_romListUI.SearchKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnSearchCommit(string text)
|
private void OnSearchCommit(string text)
|
||||||
@ -97,7 +97,7 @@ namespace AxibugEmuOnline.Client
|
|||||||
m_ui = romListUI;
|
m_ui = romListUI;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void OnExcute()
|
public override void OnExcute(OptionUI optionUI, ref bool cancelHide)
|
||||||
{
|
{
|
||||||
m_ui.SearchKey = null;
|
m_ui.SearchKey = null;
|
||||||
m_ui.RefreshUI();
|
m_ui.RefreshUI();
|
||||||
|
@ -82,7 +82,6 @@ namespace AxibugEmuOnline.Client
|
|||||||
}
|
}
|
||||||
|
|
||||||
Eventer.Instance.RegisterEvent<int>(EEvent.OnRoomWaitStepChange, OnServerStepUpdate);
|
Eventer.Instance.RegisterEvent<int>(EEvent.OnRoomWaitStepChange, OnServerStepUpdate);
|
||||||
OptionUI.Instance.OnHide += PopMenu_OnHide;
|
|
||||||
|
|
||||||
gameObject.SetActiveEx(true);
|
gameObject.SetActiveEx(true);
|
||||||
}
|
}
|
||||||
@ -95,14 +94,12 @@ namespace AxibugEmuOnline.Client
|
|||||||
public void Hide()
|
public void Hide()
|
||||||
{
|
{
|
||||||
CommandDispatcher.Instance.UnRegistController(this);
|
CommandDispatcher.Instance.UnRegistController(this);
|
||||||
|
|
||||||
OptionUI.Instance.OnHide -= PopMenu_OnHide;
|
|
||||||
gameObject.SetActiveEx(false);
|
gameObject.SetActiveEx(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void OnCmdOptionMenu()
|
protected override void OnCmdOptionMenu()
|
||||||
{
|
{
|
||||||
OptionUI.Instance.Pop(menus);
|
OverlayManager.Pop(menus, 0, PopMenu_OnHide);
|
||||||
|
|
||||||
if (!IsNetPlay)//单人模式暂停模拟器
|
if (!IsNetPlay)//单人模式暂停模拟器
|
||||||
{
|
{
|
||||||
|
@ -13,7 +13,7 @@ namespace AxibugEmuOnline.Client
|
|||||||
m_gameUI = gameUI;
|
m_gameUI = gameUI;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void OnExcute()
|
public override void OnExcute(OptionUI optionUI, ref bool cancelHide)
|
||||||
{
|
{
|
||||||
if (m_gameUI.IsNetPlay) return;
|
if (m_gameUI.IsNetPlay) return;
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ namespace AxibugEmuOnline.Client
|
|||||||
m_gameUI = gameUI;
|
m_gameUI = gameUI;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void OnExcute()
|
public override void OnExcute(OptionUI optionUI, ref bool cancelHide)
|
||||||
{
|
{
|
||||||
m_gameUI.QuitGame();
|
m_gameUI.QuitGame();
|
||||||
}
|
}
|
||||||
|
@ -17,12 +17,13 @@ namespace AxibugEmuOnline.Client
|
|||||||
m_gameUI = gameUI;
|
m_gameUI = gameUI;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void OnExcute()
|
public override void OnExcute(OptionUI optionUI, ref bool cancelHide)
|
||||||
{
|
{
|
||||||
if (!m_gameUI.IsNetPlay)
|
if (!m_gameUI.IsNetPlay)
|
||||||
{
|
{
|
||||||
App.emu.ResetGame();
|
App.emu.ResetGame();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@ namespace AxibugEmuOnline.Client
|
|||||||
m_gameUI = gameUI;
|
m_gameUI = gameUI;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void OnExcute()
|
public override void OnExcute(OptionUI optionUI, ref bool cancelHide)
|
||||||
{
|
{
|
||||||
if (m_gameUI.IsNetPlay) return;
|
if (m_gameUI.IsNetPlay) return;
|
||||||
|
|
||||||
|
@ -8,64 +8,67 @@ namespace AxibugEmuOnline.Client
|
|||||||
{
|
{
|
||||||
public class OptionUI : CommandExecuter
|
public class OptionUI : CommandExecuter
|
||||||
{
|
{
|
||||||
public static OptionUI Instance { get; private set; }
|
|
||||||
|
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
RectTransform MenuRoot;
|
RectTransform MenuRoot;
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
RectTransform SelectBorder;
|
Selector SelectBorder;
|
||||||
|
|
||||||
[Space]
|
[Space]
|
||||||
[Header("Ä£°å")]
|
[Header("Ä£°å")]
|
||||||
[SerializeField] OptionUI_ExecuteItem TEMPLATE_EXECUTEITEM;
|
[SerializeField] OptionUI_ExecuteItem TEMPLATE_EXECUTEITEM;
|
||||||
|
|
||||||
|
private OptionUI m_child;
|
||||||
|
private OptionUI m_parent;
|
||||||
|
|
||||||
public override bool AloneMode => true;
|
public override bool AloneMode => true;
|
||||||
public override bool Enable => m_bPoped;
|
public override bool Enable => m_bPoped && (m_child == null || !m_child.m_bPoped);
|
||||||
|
|
||||||
private bool m_bPoped = false;
|
private bool m_bPoped = false;
|
||||||
private List<OptionUI_MenuItem> m_runtimeMenuItems = new List<OptionUI_MenuItem>();
|
private List<OptionUI_MenuItem> m_runtimeMenuItems = new List<OptionUI_MenuItem>();
|
||||||
|
|
||||||
public event Action OnHide;
|
|
||||||
|
|
||||||
private int m_selectIndex = -1;
|
private int m_selectIndex = -1;
|
||||||
public int SelectIndex
|
public int SelectIndex
|
||||||
{
|
{
|
||||||
get { return m_selectIndex; }
|
get { return m_selectIndex; }
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
var selectableItems = m_runtimeMenuItems.Where(t => t.Visible).ToList();
|
value = Mathf.Clamp(value, 0, m_runtimeMenuItems.Count - 1);
|
||||||
value = Mathf.Clamp(value, 0, selectableItems.Count - 1);
|
|
||||||
if (m_selectIndex == value) return;
|
if (m_selectIndex == value) return;
|
||||||
|
|
||||||
|
var gap = value - m_selectIndex;
|
||||||
|
|
||||||
|
while (!m_runtimeMenuItems[value].Visible)
|
||||||
|
{
|
||||||
|
var temp = value;
|
||||||
|
if (gap > 0)
|
||||||
|
{
|
||||||
|
temp++;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
temp--;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (temp >= 0 && temp < m_runtimeMenuItems.Count)
|
||||||
|
value = temp;
|
||||||
|
}
|
||||||
|
|
||||||
m_selectIndex = value;
|
m_selectIndex = value;
|
||||||
|
|
||||||
OptionUI_MenuItem optionUI_MenuItem = selectableItems[m_selectIndex];
|
OptionUI_MenuItem optionUI_MenuItem = m_runtimeMenuItems[m_selectIndex];
|
||||||
optionUI_MenuItem.OnFocus();
|
optionUI_MenuItem.OnFocus();
|
||||||
var itemUIRect = optionUI_MenuItem.transform as RectTransform;
|
var itemUIRect = optionUI_MenuItem.transform as RectTransform;
|
||||||
SelectBorder.pivot = itemUIRect.pivot;
|
SelectBorder.Target = itemUIRect;
|
||||||
SelectBorder.sizeDelta = itemUIRect.rect.size;
|
|
||||||
DOTween.To(() => SelectBorder.position, (value) => SelectBorder.position = value, itemUIRect.position, 0.125f);
|
|
||||||
SelectBorder.SetAsLastSibling();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void Awake()
|
protected override void Awake()
|
||||||
{
|
{
|
||||||
Instance = this;
|
|
||||||
TEMPLATE_EXECUTEITEM.gameObject.SetActiveEx(false);
|
TEMPLATE_EXECUTEITEM.gameObject.SetActiveEx(false);
|
||||||
SelectBorder.gameObject.SetActiveEx(false);
|
SelectBorder.gameObject.SetActiveEx(false);
|
||||||
base.Awake();
|
base.Awake();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Start()
|
|
||||||
{
|
|
||||||
Canvas.ForceUpdateCanvases();
|
|
||||||
var width = MenuRoot.rect.size.x;
|
|
||||||
var temp = MenuRoot.anchoredPosition;
|
|
||||||
temp.x = width;
|
|
||||||
MenuRoot.anchoredPosition = temp;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void Update()
|
protected override void Update()
|
||||||
{
|
{
|
||||||
UpdateMenuState();
|
UpdateMenuState();
|
||||||
@ -76,19 +79,21 @@ namespace AxibugEmuOnline.Client
|
|||||||
private void UpdateMenuState()
|
private void UpdateMenuState()
|
||||||
{
|
{
|
||||||
bool dirty = false;
|
bool dirty = false;
|
||||||
foreach (var menuItem in m_runtimeMenuItems)
|
dirty = checkDirty();
|
||||||
{
|
|
||||||
if (menuItem.gameObject.activeSelf != menuItem.Visible)
|
|
||||||
{
|
|
||||||
dirty = true;
|
|
||||||
menuItem.gameObject.SetActive(menuItem.Visible);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (dirty)
|
if (dirty)
|
||||||
|
{
|
||||||
|
RebuildSelectIndex();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void RebuildSelectIndex()
|
||||||
{
|
{
|
||||||
Canvas.ForceUpdateCanvases();
|
Canvas.ForceUpdateCanvases();
|
||||||
|
|
||||||
if (m_runtimeMenuItems[SelectIndex].Visible == false)
|
SelectIndex = Mathf.Clamp(SelectIndex, 0, m_runtimeMenuItems.Count - 1);
|
||||||
|
var selectItem = m_runtimeMenuItems[SelectIndex];
|
||||||
|
|
||||||
|
if (selectItem.Visible == false)
|
||||||
{
|
{
|
||||||
bool find = false;
|
bool find = false;
|
||||||
int currentSelect = SelectIndex;
|
int currentSelect = SelectIndex;
|
||||||
@ -118,18 +123,47 @@ namespace AxibugEmuOnline.Client
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var selectItem = m_runtimeMenuItems[SelectIndex];
|
|
||||||
var itemUIRect = selectItem.transform as RectTransform;
|
var itemUIRect = selectItem.transform as RectTransform;
|
||||||
SelectBorder.pivot = itemUIRect.pivot;
|
SelectBorder.Target = itemUIRect;
|
||||||
SelectBorder.position = itemUIRect.position;
|
|
||||||
SelectBorder.sizeDelta = itemUIRect.rect.size;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
IKeyMapperChanger m_lastCS;
|
private bool checkDirty()
|
||||||
public void Pop<T>(List<T> menus, int defaultIndex = 0) where T : OptionMenu
|
|
||||||
{
|
{
|
||||||
|
bool dirty = false;
|
||||||
|
foreach (var menuItem in m_runtimeMenuItems)
|
||||||
|
{
|
||||||
|
if (menuItem.gameObject.activeSelf != menuItem.Visible)
|
||||||
|
{
|
||||||
|
dirty = true;
|
||||||
|
menuItem.gameObject.SetActive(menuItem.Visible);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return dirty;
|
||||||
|
}
|
||||||
|
|
||||||
|
IKeyMapperChanger m_lastCS;
|
||||||
|
private Action m_onClose;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 当菜单弹出时,动态添加一个菜单选项
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="menu"></param>
|
||||||
|
public void AddOptionMenuWhenPoping(OptionMenu menu)
|
||||||
|
{
|
||||||
|
if (!m_bPoped) return;
|
||||||
|
|
||||||
|
CreateRuntimeMenuItem(menu);
|
||||||
|
Canvas.ForceUpdateCanvases();
|
||||||
|
|
||||||
|
OptionUI_MenuItem optionUI_MenuItem = m_runtimeMenuItems[m_selectIndex];
|
||||||
|
SelectBorder.Target = optionUI_MenuItem.transform as RectTransform;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Pop<T>(List<T> menus, int defaultIndex = 0, Action onClose = null) where T : OptionMenu
|
||||||
|
{
|
||||||
|
m_onClose = onClose;
|
||||||
ReleaseRuntimeMenus();
|
ReleaseRuntimeMenus();
|
||||||
foreach (var menu in menus) CreateRuntimeMenuItem(menu);
|
foreach (var menu in menus) CreateRuntimeMenuItem(menu);
|
||||||
CommandDispatcher.Instance.RegistController(this);
|
CommandDispatcher.Instance.RegistController(this);
|
||||||
@ -140,25 +174,37 @@ namespace AxibugEmuOnline.Client
|
|||||||
m_selectIndex = defaultIndex;
|
m_selectIndex = defaultIndex;
|
||||||
OptionUI_MenuItem optionUI_MenuItem = m_runtimeMenuItems[defaultIndex];
|
OptionUI_MenuItem optionUI_MenuItem = m_runtimeMenuItems[defaultIndex];
|
||||||
optionUI_MenuItem.OnFocus();
|
optionUI_MenuItem.OnFocus();
|
||||||
|
|
||||||
var itemUIRect = optionUI_MenuItem.transform as RectTransform;
|
var itemUIRect = optionUI_MenuItem.transform as RectTransform;
|
||||||
SelectBorder.pivot = itemUIRect.pivot;
|
SelectBorder.Target = itemUIRect;
|
||||||
SelectBorder.position = itemUIRect.position;
|
|
||||||
SelectBorder.sizeDelta = itemUIRect.rect.size;
|
|
||||||
SelectBorder.SetAsLastSibling();
|
|
||||||
|
|
||||||
if (!m_bPoped)
|
if (!m_bPoped)
|
||||||
{
|
{
|
||||||
m_bPoped = true;
|
m_bPoped = true;
|
||||||
|
Vector2 start = new Vector2(0, MenuRoot.anchoredPosition.y);
|
||||||
|
Vector2 end = new Vector2(-MenuRoot.rect.width, MenuRoot.anchoredPosition.y);
|
||||||
DOTween.To(
|
DOTween.To(
|
||||||
() => MenuRoot.anchoredPosition.x,
|
() => start,
|
||||||
(value) =>
|
(value) =>
|
||||||
{
|
{
|
||||||
var temp = MenuRoot.anchoredPosition;
|
var moveDelta = value - start;
|
||||||
temp.x = value;
|
start = value;
|
||||||
MenuRoot.anchoredPosition = temp;
|
|
||||||
|
var topParent = m_parent;
|
||||||
|
while (topParent != null && topParent.m_parent != null)
|
||||||
|
{
|
||||||
|
topParent = topParent.m_parent;
|
||||||
|
}
|
||||||
|
if (topParent != null)
|
||||||
|
{
|
||||||
|
topParent.MenuRoot.anchoredPosition += moveDelta;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
MenuRoot.anchoredPosition += moveDelta;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
0,
|
end,
|
||||||
0.3f
|
0.3f
|
||||||
).SetEase(Ease.OutCubic);
|
).SetEase(Ease.OutCubic);
|
||||||
|
|
||||||
@ -179,16 +225,30 @@ namespace AxibugEmuOnline.Client
|
|||||||
|
|
||||||
CommandDispatcher.Instance.UnRegistController(this);
|
CommandDispatcher.Instance.UnRegistController(this);
|
||||||
Canvas.ForceUpdateCanvases();
|
Canvas.ForceUpdateCanvases();
|
||||||
var width = MenuRoot.rect.width;
|
Vector2 start = new Vector2(-MenuRoot.rect.width, MenuRoot.anchoredPosition.y);
|
||||||
|
Vector2 end = new Vector2(0, MenuRoot.anchoredPosition.y);
|
||||||
DOTween.To(
|
DOTween.To(
|
||||||
() => MenuRoot.anchoredPosition.x,
|
() => start,
|
||||||
(value) =>
|
(value) =>
|
||||||
{
|
{
|
||||||
var temp = MenuRoot.anchoredPosition;
|
var moveDelta = value - start;
|
||||||
temp.x = value;
|
start = value;
|
||||||
MenuRoot.anchoredPosition = temp;
|
|
||||||
|
var topParent = m_parent;
|
||||||
|
while (topParent != null && topParent.m_parent != null)
|
||||||
|
{
|
||||||
|
topParent = topParent.m_parent;
|
||||||
|
}
|
||||||
|
if (topParent != null)
|
||||||
|
{
|
||||||
|
topParent.MenuRoot.anchoredPosition += moveDelta;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
MenuRoot.anchoredPosition += moveDelta;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
width,
|
end,
|
||||||
0.3f
|
0.3f
|
||||||
).SetEase(Ease.OutCubic);
|
).SetEase(Ease.OutCubic);
|
||||||
|
|
||||||
@ -196,7 +256,8 @@ namespace AxibugEmuOnline.Client
|
|||||||
|
|
||||||
CommandDispatcher.Instance.Current = m_lastCS;
|
CommandDispatcher.Instance.Current = m_lastCS;
|
||||||
|
|
||||||
OnHide?.Invoke();
|
m_onClose?.Invoke();
|
||||||
|
m_onClose = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -206,7 +267,7 @@ namespace AxibugEmuOnline.Client
|
|||||||
{
|
{
|
||||||
var menuUI = GameObject.Instantiate(TEMPLATE_EXECUTEITEM.gameObject, TEMPLATE_EXECUTEITEM.transform.parent).GetComponent<OptionUI_ExecuteItem>();
|
var menuUI = GameObject.Instantiate(TEMPLATE_EXECUTEITEM.gameObject, TEMPLATE_EXECUTEITEM.transform.parent).GetComponent<OptionUI_ExecuteItem>();
|
||||||
menuUI.gameObject.SetActive(true);
|
menuUI.gameObject.SetActive(true);
|
||||||
menuUI.SetData(executeMenu);
|
menuUI.SetData(this, executeMenu);
|
||||||
m_runtimeMenuItems.Add(menuUI);
|
m_runtimeMenuItems.Add(menuUI);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -219,6 +280,7 @@ namespace AxibugEmuOnline.Client
|
|||||||
{
|
{
|
||||||
foreach (var item in m_runtimeMenuItems)
|
foreach (var item in m_runtimeMenuItems)
|
||||||
{
|
{
|
||||||
|
item.OnHide();
|
||||||
Destroy(item.gameObject);
|
Destroy(item.gameObject);
|
||||||
}
|
}
|
||||||
m_runtimeMenuItems.Clear();
|
m_runtimeMenuItems.Clear();
|
||||||
@ -239,39 +301,89 @@ namespace AxibugEmuOnline.Client
|
|||||||
Hide();
|
Hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected override void OnCmdSelectItemRight()
|
||||||
|
{
|
||||||
|
var executer = m_runtimeMenuItems[SelectIndex];
|
||||||
|
if (!executer.IsExpandMenu) return;
|
||||||
|
|
||||||
|
OnCmdEnter();
|
||||||
|
}
|
||||||
|
|
||||||
protected override bool OnCmdEnter()
|
protected override bool OnCmdEnter()
|
||||||
{
|
{
|
||||||
var executer = m_runtimeMenuItems[SelectIndex];
|
var executer = m_runtimeMenuItems[SelectIndex];
|
||||||
Hide();
|
bool cancelHide = false;
|
||||||
executer.OnExecute();
|
executer.OnExecute(this, ref cancelHide);
|
||||||
return true;
|
if (!cancelHide) Hide();
|
||||||
}
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract class OptionMenu
|
/// <summary>
|
||||||
|
/// 展开下级菜单
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="T"></typeparam>
|
||||||
|
/// <param name="menus"></param>
|
||||||
|
/// <param name="defaultIndex"></param>
|
||||||
|
/// <param name="onClose"></param>
|
||||||
|
public void ExpandSubMenu<T>(List<T> menus, int defaultIndex = 0, Action onClose = null) where T : OptionMenu
|
||||||
{
|
{
|
||||||
public string Name { get; protected set; }
|
if (m_child == null)
|
||||||
public Sprite Icon { get; protected set; }
|
|
||||||
public virtual bool Visible => true;
|
|
||||||
public virtual bool Enable => true;
|
|
||||||
|
|
||||||
public OptionMenu(string name, Sprite icon = null)
|
|
||||||
{
|
{
|
||||||
Name = name;
|
var sourcePrefab = Resources.Load<GameObject>("UIPrefabs/OptionUI");
|
||||||
Icon = icon;
|
m_child = Instantiate(sourcePrefab, transform).GetComponent<OptionUI>();
|
||||||
|
m_child.name = $"{name}_Sub";
|
||||||
|
m_child.m_parent = this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void OnFocus() { }
|
Canvas.ForceUpdateCanvases();
|
||||||
public virtual void OnShow(OptionUI_MenuItem ui) { }
|
|
||||||
|
m_child.Pop(menus, 0, onClose);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void RemoveItem(OptionUI_MenuItem ui)
|
||||||
|
{
|
||||||
|
var index = m_runtimeMenuItems.IndexOf(ui);
|
||||||
|
if (index == -1) return;
|
||||||
|
|
||||||
|
m_runtimeMenuItems.Remove(ui);
|
||||||
|
ui.OnHide();
|
||||||
|
Destroy(ui.gameObject);
|
||||||
|
|
||||||
|
RebuildSelectIndex();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 带有执行行为的菜单
|
||||||
|
/// </summary>
|
||||||
public abstract class ExecuteMenu : OptionMenu
|
public abstract class ExecuteMenu : OptionMenu
|
||||||
{
|
{
|
||||||
public ExecuteMenu(string name, Sprite icon = null) : base(name, icon) { }
|
public ExecuteMenu(string name, Sprite icon = null) : base(name, icon) { }
|
||||||
|
|
||||||
public abstract void OnExcute();
|
public abstract void OnExcute(OptionUI optionUI, ref bool cancelHide);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 带有展开行为的菜单
|
||||||
|
/// </summary>
|
||||||
|
public abstract class ExpandMenu : ExecuteMenu
|
||||||
|
{
|
||||||
|
protected ExpandMenu(string name, Sprite icon = null) : base(name, icon) { }
|
||||||
|
|
||||||
|
public sealed override void OnExcute(OptionUI optionUI, ref bool cancelHide)
|
||||||
|
{
|
||||||
|
cancelHide = true;
|
||||||
|
optionUI.ExpandSubMenu(GetOptionMenus());
|
||||||
|
}
|
||||||
|
|
||||||
|
protected abstract List<OptionMenu> GetOptionMenus();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 带有值类型显示和编辑的菜单
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="T"></typeparam>
|
||||||
public class ValueSetMenu<T> : ValueSetMenu
|
public class ValueSetMenu<T> : ValueSetMenu
|
||||||
{
|
{
|
||||||
public sealed override Type ValueType => typeof(T);
|
public sealed override Type ValueType => typeof(T);
|
||||||
@ -287,6 +399,25 @@ namespace AxibugEmuOnline.Client
|
|||||||
protected ValueSetMenu(string name) : base(name) { }
|
protected ValueSetMenu(string name) : base(name) { }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary> 不要直接继承这个类 </summary>
|
||||||
|
public abstract class OptionMenu
|
||||||
|
{
|
||||||
|
public string Name { get; protected set; }
|
||||||
|
public Sprite Icon { get; protected set; }
|
||||||
|
public virtual bool Visible => true;
|
||||||
|
public virtual bool Enable => true;
|
||||||
|
|
||||||
|
public OptionMenu(string name, Sprite icon = null)
|
||||||
|
{
|
||||||
|
Name = name;
|
||||||
|
Icon = icon;
|
||||||
|
}
|
||||||
|
|
||||||
|
public virtual void OnFocus() { }
|
||||||
|
public virtual void OnShow(OptionUI_MenuItem ui) { }
|
||||||
|
public virtual void OnHide() { }
|
||||||
|
}
|
||||||
|
/// <summary> 不要直接继承这个类 </summary>
|
||||||
public abstract class ValueSetMenu : OptionMenu
|
public abstract class ValueSetMenu : OptionMenu
|
||||||
{
|
{
|
||||||
public ValueSetMenu(string name) : base(name) { }
|
public ValueSetMenu(string name) : base(name) { }
|
||||||
|
@ -1,10 +1,21 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
|
||||||
namespace AxibugEmuOnline.Client
|
namespace AxibugEmuOnline.Client
|
||||||
{
|
{
|
||||||
public class OptionUI_ExecuteItem : OptionUI_MenuItem<ExecuteMenu>
|
public class OptionUI_ExecuteItem : OptionUI_MenuItem<ExecuteMenu>
|
||||||
{
|
{
|
||||||
public override void OnExecute()
|
public GameObject ExpandFlag;
|
||||||
|
|
||||||
|
protected override void OnSetData(OptionMenu menuData)
|
||||||
{
|
{
|
||||||
MenuData.OnExcute();
|
base.OnSetData(menuData);
|
||||||
|
|
||||||
|
ExpandFlag.SetActiveEx(IsExpandMenu);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnExecute(OptionUI optionUI, ref bool cancelHide)
|
||||||
|
{
|
||||||
|
MenuData.OnExcute(optionUI, ref cancelHide);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,3 @@
|
|||||||
using System;
|
|
||||||
using System.Collections;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using UnityEditor;
|
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.UI;
|
using UnityEngine.UI;
|
||||||
|
|
||||||
@ -15,11 +11,12 @@ namespace AxibugEmuOnline.Client
|
|||||||
public Image IconUI => m_Icon;
|
public Image IconUI => m_Icon;
|
||||||
|
|
||||||
public bool Visible => m_Menu.Visible;
|
public bool Visible => m_Menu.Visible;
|
||||||
|
public OptionUI OptionUI { get; private set; }
|
||||||
protected OptionMenu m_Menu;
|
protected OptionMenu m_Menu;
|
||||||
|
|
||||||
public void SetData(OptionMenu menuData)
|
public void SetData(OptionUI optionUI, OptionMenu menuData)
|
||||||
{
|
{
|
||||||
|
OptionUI = optionUI;
|
||||||
m_Menu = menuData;
|
m_Menu = menuData;
|
||||||
m_MenuNameTxt.text = menuData.Name;
|
m_MenuNameTxt.text = menuData.Name;
|
||||||
if (menuData.Icon == null) m_Icon.gameObject.SetActiveEx(false);
|
if (menuData.Icon == null) m_Icon.gameObject.SetActiveEx(false);
|
||||||
@ -33,10 +30,13 @@ namespace AxibugEmuOnline.Client
|
|||||||
OnSetData(menuData);
|
OnSetData(menuData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool IsExpandMenu => m_Menu is ExpandMenu;
|
||||||
|
|
||||||
protected abstract void OnSetData(OptionMenu menuData);
|
protected abstract void OnSetData(OptionMenu menuData);
|
||||||
|
|
||||||
public abstract void OnExecute();
|
public abstract void OnExecute(OptionUI optionUI, ref bool cancelHide);
|
||||||
public abstract void OnFocus();
|
public abstract void OnFocus();
|
||||||
|
public virtual void OnHide() { }
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract class OptionUI_MenuItem<T> : OptionUI_MenuItem
|
public abstract class OptionUI_MenuItem<T> : OptionUI_MenuItem
|
||||||
@ -53,5 +53,10 @@ namespace AxibugEmuOnline.Client
|
|||||||
{
|
{
|
||||||
MenuData.OnFocus();
|
MenuData.OnFocus();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override void OnHide()
|
||||||
|
{
|
||||||
|
MenuData.OnHide();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -12,6 +12,9 @@ namespace AxibugEmuOnline.Client
|
|||||||
|
|
||||||
Action<string> OnCommit;
|
Action<string> OnCommit;
|
||||||
|
|
||||||
|
public static bool IsInputing { get; private set; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
protected override void OnShow(object param)
|
protected override void OnShow(object param)
|
||||||
{
|
{
|
||||||
@ -22,6 +25,24 @@ namespace AxibugEmuOnline.Client
|
|||||||
m_input.text = t.defaultText;
|
m_input.text = t.defaultText;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected override void Update()
|
||||||
|
{
|
||||||
|
base.Update();
|
||||||
|
|
||||||
|
IsInputing = m_input.isFocused;
|
||||||
|
|
||||||
|
if (IsInputing && Input.GetButtonDown("Submit"))
|
||||||
|
{
|
||||||
|
OnCmdEnter();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnDisable()
|
||||||
|
{
|
||||||
|
base.OnDisable();
|
||||||
|
IsInputing = false;
|
||||||
|
}
|
||||||
|
|
||||||
protected override void OnEnable()
|
protected override void OnEnable()
|
||||||
{
|
{
|
||||||
base.OnEnable();
|
base.OnEnable();
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
namespace AxibugEmuOnline.Client
|
namespace AxibugEmuOnline.Client
|
||||||
@ -9,6 +10,8 @@ namespace AxibugEmuOnline.Client
|
|||||||
|
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
InputUI m_InputUI;
|
InputUI m_InputUI;
|
||||||
|
[SerializeField]
|
||||||
|
OptionUI m_OptionUI;
|
||||||
|
|
||||||
private void Awake()
|
private void Awake()
|
||||||
{
|
{
|
||||||
@ -17,11 +20,20 @@ namespace AxibugEmuOnline.Client
|
|||||||
m_InputUI.gameObject.SetActive(false);
|
m_InputUI.gameObject.SetActive(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static InputUI Input((Action<string> callback, string placeHolder, string defaultText) param)
|
public static InputUI Input(Action<string> callback, string placeHolder, string defaultText)
|
||||||
{
|
{
|
||||||
s_ins.m_InputUI.Show(param);
|
s_ins.m_InputUI.Show((callback, placeHolder, defaultText));
|
||||||
|
|
||||||
return s_ins.m_InputUI;
|
return s_ins.m_InputUI;
|
||||||
}
|
}
|
||||||
|
public static void Pop<T>(List<T> menus, int defaultIndex = 0, Action onClose = null) where T : OptionMenu
|
||||||
|
{
|
||||||
|
s_ins.m_OptionUI.Pop(menus, defaultIndex, onClose);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void PopMsg(string msg)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
54
AxibugEmuOnline.Client/Assets/Script/UI/Selector.cs
Normal file
54
AxibugEmuOnline.Client/Assets/Script/UI/Selector.cs
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
using DG.Tweening;
|
||||||
|
using DG.Tweening.Core;
|
||||||
|
using DG.Tweening.Plugins.Options;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace AxibugEmuOnline.Client
|
||||||
|
{
|
||||||
|
public class Selector : MonoBehaviour
|
||||||
|
{
|
||||||
|
private RectTransform m_rect => transform as RectTransform;
|
||||||
|
|
||||||
|
private RectTransform m_target;
|
||||||
|
private TweenerCore<Vector3, Vector3, VectorOptions> m_trackTween;
|
||||||
|
|
||||||
|
public RectTransform Target
|
||||||
|
{
|
||||||
|
get => m_target;
|
||||||
|
set
|
||||||
|
{
|
||||||
|
if (m_target == value) return;
|
||||||
|
|
||||||
|
m_target = value;
|
||||||
|
|
||||||
|
//ÖØÖÃÑ¡ÔñÓαêµÄ¶¯»
|
||||||
|
gameObject.SetActive(false);
|
||||||
|
gameObject.SetActive(true);
|
||||||
|
|
||||||
|
var itemUIRect = m_target.transform as RectTransform;
|
||||||
|
m_rect.pivot = itemUIRect.pivot;
|
||||||
|
m_rect.sizeDelta = itemUIRect.rect.size;
|
||||||
|
m_rect.SetAsLastSibling();
|
||||||
|
|
||||||
|
if (m_trackTween != null)
|
||||||
|
{
|
||||||
|
m_trackTween.Kill();
|
||||||
|
m_trackTween = null;
|
||||||
|
}
|
||||||
|
m_trackTween = DOTween.To(() => m_rect.position, (value) => m_rect.position = value, itemUIRect.position, 0.125f);
|
||||||
|
m_trackTween.onComplete = () => m_trackTween = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void LateUpdate()
|
||||||
|
{
|
||||||
|
if (m_trackTween != null)
|
||||||
|
{
|
||||||
|
m_trackTween.endValue = Target.position;
|
||||||
|
}
|
||||||
|
if (Target == null) return;
|
||||||
|
|
||||||
|
m_rect.position = Target.position;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
11
AxibugEmuOnline.Client/Assets/Script/UI/Selector.cs.meta
Normal file
11
AxibugEmuOnline.Client/Assets/Script/UI/Selector.cs.meta
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 5f9054446a969bf4eaf7998f3ba23334
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -5,273 +5,17 @@ InputManager:
|
|||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Axes:
|
m_Axes:
|
||||||
- serializedVersion: 3
|
|
||||||
m_Name: Horizontal
|
|
||||||
descriptiveName:
|
|
||||||
descriptiveNegativeName:
|
|
||||||
negativeButton: left
|
|
||||||
positiveButton: right
|
|
||||||
altNegativeButton: a
|
|
||||||
altPositiveButton: d
|
|
||||||
gravity: 3
|
|
||||||
dead: 0.001
|
|
||||||
sensitivity: 3
|
|
||||||
snap: 1
|
|
||||||
invert: 0
|
|
||||||
type: 0
|
|
||||||
axis: 0
|
|
||||||
joyNum: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
m_Name: Vertical
|
|
||||||
descriptiveName:
|
|
||||||
descriptiveNegativeName:
|
|
||||||
negativeButton: down
|
|
||||||
positiveButton: up
|
|
||||||
altNegativeButton: s
|
|
||||||
altPositiveButton: w
|
|
||||||
gravity: 3
|
|
||||||
dead: 0.001
|
|
||||||
sensitivity: 3
|
|
||||||
snap: 1
|
|
||||||
invert: 0
|
|
||||||
type: 0
|
|
||||||
axis: 0
|
|
||||||
joyNum: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
m_Name: Fire1
|
|
||||||
descriptiveName:
|
|
||||||
descriptiveNegativeName:
|
|
||||||
negativeButton:
|
|
||||||
positiveButton: left ctrl
|
|
||||||
altNegativeButton:
|
|
||||||
altPositiveButton: mouse 0
|
|
||||||
gravity: 1000
|
|
||||||
dead: 0.001
|
|
||||||
sensitivity: 1000
|
|
||||||
snap: 0
|
|
||||||
invert: 0
|
|
||||||
type: 0
|
|
||||||
axis: 0
|
|
||||||
joyNum: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
m_Name: Fire2
|
|
||||||
descriptiveName:
|
|
||||||
descriptiveNegativeName:
|
|
||||||
negativeButton:
|
|
||||||
positiveButton: left alt
|
|
||||||
altNegativeButton:
|
|
||||||
altPositiveButton: mouse 1
|
|
||||||
gravity: 1000
|
|
||||||
dead: 0.001
|
|
||||||
sensitivity: 1000
|
|
||||||
snap: 0
|
|
||||||
invert: 0
|
|
||||||
type: 0
|
|
||||||
axis: 0
|
|
||||||
joyNum: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
m_Name: Fire3
|
|
||||||
descriptiveName:
|
|
||||||
descriptiveNegativeName:
|
|
||||||
negativeButton:
|
|
||||||
positiveButton: left shift
|
|
||||||
altNegativeButton:
|
|
||||||
altPositiveButton: mouse 2
|
|
||||||
gravity: 1000
|
|
||||||
dead: 0.001
|
|
||||||
sensitivity: 1000
|
|
||||||
snap: 0
|
|
||||||
invert: 0
|
|
||||||
type: 0
|
|
||||||
axis: 0
|
|
||||||
joyNum: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
m_Name: Jump
|
|
||||||
descriptiveName:
|
|
||||||
descriptiveNegativeName:
|
|
||||||
negativeButton:
|
|
||||||
positiveButton: space
|
|
||||||
altNegativeButton:
|
|
||||||
altPositiveButton:
|
|
||||||
gravity: 1000
|
|
||||||
dead: 0.001
|
|
||||||
sensitivity: 1000
|
|
||||||
snap: 0
|
|
||||||
invert: 0
|
|
||||||
type: 0
|
|
||||||
axis: 0
|
|
||||||
joyNum: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
m_Name: Mouse X
|
|
||||||
descriptiveName:
|
|
||||||
descriptiveNegativeName:
|
|
||||||
negativeButton:
|
|
||||||
positiveButton:
|
|
||||||
altNegativeButton:
|
|
||||||
altPositiveButton:
|
|
||||||
gravity: 0
|
|
||||||
dead: 0
|
|
||||||
sensitivity: 0.1
|
|
||||||
snap: 0
|
|
||||||
invert: 0
|
|
||||||
type: 1
|
|
||||||
axis: 0
|
|
||||||
joyNum: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
m_Name: Mouse Y
|
|
||||||
descriptiveName:
|
|
||||||
descriptiveNegativeName:
|
|
||||||
negativeButton:
|
|
||||||
positiveButton:
|
|
||||||
altNegativeButton:
|
|
||||||
altPositiveButton:
|
|
||||||
gravity: 0
|
|
||||||
dead: 0
|
|
||||||
sensitivity: 0.1
|
|
||||||
snap: 0
|
|
||||||
invert: 0
|
|
||||||
type: 1
|
|
||||||
axis: 1
|
|
||||||
joyNum: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
m_Name: Mouse ScrollWheel
|
|
||||||
descriptiveName:
|
|
||||||
descriptiveNegativeName:
|
|
||||||
negativeButton:
|
|
||||||
positiveButton:
|
|
||||||
altNegativeButton:
|
|
||||||
altPositiveButton:
|
|
||||||
gravity: 0
|
|
||||||
dead: 0
|
|
||||||
sensitivity: 0.1
|
|
||||||
snap: 0
|
|
||||||
invert: 0
|
|
||||||
type: 1
|
|
||||||
axis: 2
|
|
||||||
joyNum: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
m_Name: Horizontal
|
|
||||||
descriptiveName:
|
|
||||||
descriptiveNegativeName:
|
|
||||||
negativeButton:
|
|
||||||
positiveButton:
|
|
||||||
altNegativeButton:
|
|
||||||
altPositiveButton:
|
|
||||||
gravity: 0
|
|
||||||
dead: 0.19
|
|
||||||
sensitivity: 1
|
|
||||||
snap: 0
|
|
||||||
invert: 0
|
|
||||||
type: 2
|
|
||||||
axis: 0
|
|
||||||
joyNum: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
m_Name: Vertical
|
|
||||||
descriptiveName:
|
|
||||||
descriptiveNegativeName:
|
|
||||||
negativeButton:
|
|
||||||
positiveButton:
|
|
||||||
altNegativeButton:
|
|
||||||
altPositiveButton:
|
|
||||||
gravity: 0
|
|
||||||
dead: 0.19
|
|
||||||
sensitivity: 1
|
|
||||||
snap: 0
|
|
||||||
invert: 1
|
|
||||||
type: 2
|
|
||||||
axis: 1
|
|
||||||
joyNum: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
m_Name: Fire1
|
|
||||||
descriptiveName:
|
|
||||||
descriptiveNegativeName:
|
|
||||||
negativeButton:
|
|
||||||
positiveButton: joystick button 0
|
|
||||||
altNegativeButton:
|
|
||||||
altPositiveButton:
|
|
||||||
gravity: 1000
|
|
||||||
dead: 0.001
|
|
||||||
sensitivity: 1000
|
|
||||||
snap: 0
|
|
||||||
invert: 0
|
|
||||||
type: 0
|
|
||||||
axis: 0
|
|
||||||
joyNum: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
m_Name: Fire2
|
|
||||||
descriptiveName:
|
|
||||||
descriptiveNegativeName:
|
|
||||||
negativeButton:
|
|
||||||
positiveButton: joystick button 1
|
|
||||||
altNegativeButton:
|
|
||||||
altPositiveButton:
|
|
||||||
gravity: 1000
|
|
||||||
dead: 0.001
|
|
||||||
sensitivity: 1000
|
|
||||||
snap: 0
|
|
||||||
invert: 0
|
|
||||||
type: 0
|
|
||||||
axis: 0
|
|
||||||
joyNum: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
m_Name: Fire3
|
|
||||||
descriptiveName:
|
|
||||||
descriptiveNegativeName:
|
|
||||||
negativeButton:
|
|
||||||
positiveButton: joystick button 2
|
|
||||||
altNegativeButton:
|
|
||||||
altPositiveButton:
|
|
||||||
gravity: 1000
|
|
||||||
dead: 0.001
|
|
||||||
sensitivity: 1000
|
|
||||||
snap: 0
|
|
||||||
invert: 0
|
|
||||||
type: 0
|
|
||||||
axis: 0
|
|
||||||
joyNum: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
m_Name: Jump
|
|
||||||
descriptiveName:
|
|
||||||
descriptiveNegativeName:
|
|
||||||
negativeButton:
|
|
||||||
positiveButton: joystick button 3
|
|
||||||
altNegativeButton:
|
|
||||||
altPositiveButton:
|
|
||||||
gravity: 1000
|
|
||||||
dead: 0.001
|
|
||||||
sensitivity: 1000
|
|
||||||
snap: 0
|
|
||||||
invert: 0
|
|
||||||
type: 0
|
|
||||||
axis: 0
|
|
||||||
joyNum: 0
|
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
m_Name: Submit
|
m_Name: Submit
|
||||||
descriptiveName:
|
descriptiveName:
|
||||||
descriptiveNegativeName:
|
descriptiveNegativeName:
|
||||||
negativeButton:
|
negativeButton:
|
||||||
positiveButton: return
|
positiveButton:
|
||||||
altNegativeButton:
|
altNegativeButton:
|
||||||
altPositiveButton: joystick button 0
|
altPositiveButton:
|
||||||
gravity: 1000
|
gravity: 0
|
||||||
dead: 0.001
|
dead: 0
|
||||||
sensitivity: 1000
|
sensitivity: 0
|
||||||
snap: 0
|
|
||||||
invert: 0
|
|
||||||
type: 0
|
|
||||||
axis: 0
|
|
||||||
joyNum: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
m_Name: Submit
|
|
||||||
descriptiveName:
|
|
||||||
descriptiveNegativeName:
|
|
||||||
negativeButton:
|
|
||||||
positiveButton: enter
|
|
||||||
altNegativeButton:
|
|
||||||
altPositiveButton: space
|
|
||||||
gravity: 1000
|
|
||||||
dead: 0.001
|
|
||||||
sensitivity: 1000
|
|
||||||
snap: 0
|
snap: 0
|
||||||
invert: 0
|
invert: 0
|
||||||
type: 0
|
type: 0
|
||||||
@ -282,15 +26,46 @@ InputManager:
|
|||||||
descriptiveName:
|
descriptiveName:
|
||||||
descriptiveNegativeName:
|
descriptiveNegativeName:
|
||||||
negativeButton:
|
negativeButton:
|
||||||
positiveButton: escape
|
positiveButton:
|
||||||
altNegativeButton:
|
altNegativeButton:
|
||||||
altPositiveButton: joystick button 1
|
altPositiveButton:
|
||||||
gravity: 1000
|
gravity: 0
|
||||||
dead: 0.001
|
dead: 0
|
||||||
sensitivity: 1000
|
sensitivity: 0
|
||||||
|
snap: 0
|
||||||
|
invert: 0
|
||||||
|
type: 0
|
||||||
|
axis: 0
|
||||||
|
joyNum: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
m_Name: Horizontal
|
||||||
|
descriptiveName:
|
||||||
|
descriptiveNegativeName:
|
||||||
|
negativeButton:
|
||||||
|
positiveButton:
|
||||||
|
altNegativeButton:
|
||||||
|
altPositiveButton:
|
||||||
|
gravity: 0
|
||||||
|
dead: 0
|
||||||
|
sensitivity: 0
|
||||||
|
snap: 0
|
||||||
|
invert: 0
|
||||||
|
type: 0
|
||||||
|
axis: 0
|
||||||
|
joyNum: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
m_Name: Vertical
|
||||||
|
descriptiveName:
|
||||||
|
descriptiveNegativeName:
|
||||||
|
negativeButton:
|
||||||
|
positiveButton:
|
||||||
|
altNegativeButton:
|
||||||
|
altPositiveButton:
|
||||||
|
gravity: 0
|
||||||
|
dead: 0
|
||||||
|
sensitivity: 0
|
||||||
snap: 0
|
snap: 0
|
||||||
invert: 0
|
invert: 0
|
||||||
type: 0
|
type: 0
|
||||||
axis: 0
|
axis: 0
|
||||||
joyNum: 0
|
joyNum: 0
|
||||||
m_UsePhysicalKeys: 1
|
|
||||||
|
Loading…
Reference in New Issue
Block a user