master #58
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_PrefabAsset: {fileID: 0}
|
||||
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_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 5397686940312333149}
|
||||
m_Father: {fileID: 4478785627166277610}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
@ -207,8 +207,8 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Direction: 0
|
||||
m_Color1: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_Color2: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_Color1: {r: 0.032306872, g: 0.24870302, b: 0.6226415, 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_Color4: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_Rotation: 0
|
||||
@ -230,6 +230,102 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
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
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -244,6 +340,7 @@ GameObject:
|
||||
- component: {fileID: 8330179430250887958}
|
||||
- component: {fileID: 8744505332349586225}
|
||||
- component: {fileID: 2568349821411169439}
|
||||
- component: {fileID: 7857863493876124730}
|
||||
m_Layer: 5
|
||||
m_Name: SelectBorder
|
||||
m_TagString: Untagged
|
||||
@ -262,12 +359,12 @@ RectTransform:
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 5397686940312333149}
|
||||
m_Father: {fileID: 4478785627166277610}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {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_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &2800056879890978085
|
||||
@ -359,6 +456,18 @@ CanvasGroup:
|
||||
m_Interactable: 1
|
||||
m_BlocksRaycasts: 1
|
||||
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
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -384,13 +493,14 @@ RectTransform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
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_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 6503369113137645357}
|
||||
- {fileID: 1714682891259844147}
|
||||
m_Father: {fileID: 5397686940312333149}
|
||||
- {fileID: 4264754383554125665}
|
||||
m_Father: {fileID: 4478785627166277610}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
@ -438,7 +548,8 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_MenuNameTxt: {fileID: 1824253632728291860}
|
||||
m_Icon: {fileID: 394891843266770919}
|
||||
--- !u!1 &3968697266383191021
|
||||
ExpandFlag: {fileID: 1501213187178026014}
|
||||
--- !u!1 &4478785627166277609
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
@ -446,46 +557,62 @@ GameObject:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5397686940312333149}
|
||||
- component: {fileID: 1188777947975519706}
|
||||
- component: {fileID: 4924150661256616665}
|
||||
- component: {fileID: 8076475514644024618}
|
||||
- component: {fileID: 4478785627166277610}
|
||||
- component: {fileID: 4478785627166277611}
|
||||
- component: {fileID: 7033441668005100640}
|
||||
- component: {fileID: 6385618308193594113}
|
||||
- component: {fileID: 5813794464938889090}
|
||||
m_Layer: 5
|
||||
m_Name: MenuRoot
|
||||
m_Name: OptionUI
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &5397686940312333149
|
||||
--- !u!224 &4478785627166277610
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3968697266383191021}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
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: 8581099496228509946}
|
||||
- {fileID: 2780569438310375802}
|
||||
- {fileID: 2404013603202822047}
|
||||
m_Father: {fileID: 4478785627166277610}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 1, y: 0.5}
|
||||
--- !u!114 &1188777947975519706
|
||||
m_SizeDelta: {x: 300, y: 0}
|
||||
m_Pivot: {x: 0, 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: 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_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
|
||||
@ -505,13 +632,13 @@ MonoBehaviour:
|
||||
m_ChildScaleWidth: 0
|
||||
m_ChildScaleHeight: 0
|
||||
m_ReverseArrangement: 0
|
||||
--- !u!114 &4924150661256616665
|
||||
--- !u!114 &6385618308193594113
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {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: 3245ec927659c4140ac4f8d17403cc18, type: 3}
|
||||
@ -519,19 +646,19 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_HorizontalFit: 2
|
||||
m_VerticalFit: 0
|
||||
--- !u!114 &8076475514644024618
|
||||
--- !u!114 &5813794464938889090
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {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: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_IgnoreLayout: 0
|
||||
m_IgnoreLayout: 1
|
||||
m_MinWidth: 300
|
||||
m_MinHeight: -1
|
||||
m_PreferredWidth: -1
|
||||
@ -539,58 +666,6 @@ MonoBehaviour:
|
||||
m_FlexibleWidth: -1
|
||||
m_FlexibleHeight: -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
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -29,6 +29,7 @@ RectTransform:
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 3531919739979819162}
|
||||
- {fileID: 3531919738411886375}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
@ -50,6 +51,248 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
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
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -61,6 +304,10 @@ PrefabInstance:
|
||||
propertyPath: m_Name
|
||||
value: InputUI
|
||||
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}
|
||||
propertyPath: m_Pivot.x
|
||||
value: 0.5
|
||||
|
@ -22,15 +22,6 @@ AnimationClip:
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
@ -39,7 +30,7 @@ AnimationClip:
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 2
|
||||
time: 1
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
@ -47,6 +38,15 @@ AnimationClip:
|
||||
weightedMode: 0
|
||||
inWeight: 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_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
@ -96,15 +96,6 @@ AnimationClip:
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
@ -113,7 +104,7 @@ AnimationClip:
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 2
|
||||
time: 1
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
@ -121,6 +112,15 @@ AnimationClip:
|
||||
weightedMode: 0
|
||||
inWeight: 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_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
|
@ -66,7 +66,7 @@ MonoBehaviour:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_FontData:
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_Font: {fileID: 12800000, guid: 33a3bdf8f6bd1ec4eba7c4bc58183212, type: 3}
|
||||
m_FontSize: 20
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
@ -445,10 +445,10 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: e2f2e38adaa854144b67512333b1b363, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
PulseInvoke_Delay: 0.4
|
||||
PulseInvoke_Interval: 0.05
|
||||
Icon: {fileID: 6771349210554360888}
|
||||
Txt: {fileID: 991446423622995247}
|
||||
SubTitle: {fileID: 0}
|
||||
spline: {fileID: 0}
|
||||
Descript: {fileID: 3380485461544738227}
|
||||
Root: {fileID: 8754483333502849411}
|
||||
ShadowIcon: {fileID: 2619187604372594158}
|
||||
@ -637,8 +637,6 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 1d1e3e91ac34bc8468f357ee247ffb6a, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
PulseInvoke_Delay: 0.4
|
||||
PulseInvoke_Interval: 0.05
|
||||
m_menuItemRoot: {fileID: 0}
|
||||
SubMenuItemTemplate: {fileID: 0}
|
||||
alphaGroup: {fileID: 0}
|
||||
@ -828,7 +826,7 @@ MonoBehaviour:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_FontData:
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_Font: {fileID: 12800000, guid: 33a3bdf8f6bd1ec4eba7c4bc58183212, type: 3}
|
||||
m_FontSize: 30
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
|
@ -189,11 +189,6 @@ Transform:
|
||||
m_Father: {fileID: 1335662459}
|
||||
m_RootOrder: 2
|
||||
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
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -11477,10 +11472,6 @@ PrefabInstance:
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 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}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
@ -14637,10 +14628,6 @@ PrefabInstance:
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 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}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
@ -15437,6 +15424,8 @@ MonoBehaviour:
|
||||
m_BeforeStackBundles:
|
||||
- assemblyQualifiedName: FixingPixelArtGrille, AxibugEmuOnline.Client, Version=0.0.0.0,
|
||||
Culture=neutral, PublicKeyToken=null
|
||||
- assemblyQualifiedName: MattiasCRT, AxibugEmuOnline.Client, Version=0.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=null
|
||||
m_AfterStackBundles: []
|
||||
--- !u!1 &1498586261
|
||||
GameObject:
|
||||
@ -15573,9 +15562,8 @@ RectTransform:
|
||||
m_LocalScale: {x: 0, y: 0, z: 0}
|
||||
m_Children:
|
||||
- {fileID: 1983793178}
|
||||
- {fileID: 246947326}
|
||||
- {fileID: 1318590597}
|
||||
- {fileID: 939125854}
|
||||
- {fileID: 1318590597}
|
||||
m_Father: {fileID: 1335662459}
|
||||
m_RootOrder: 4
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
@ -15780,14 +15768,62 @@ PrefabInstance:
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 1599240741}
|
||||
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}
|
||||
propertyPath: m_Name
|
||||
value: Overlay
|
||||
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}
|
||||
propertyPath: m_Pivot.x
|
||||
value: 0.5
|
||||
@ -15798,7 +15834,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3531919739338806919, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 3
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3531919739338806919, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
||||
propertyPath: m_AnchorMax.x
|
||||
@ -15872,190 +15908,29 @@ PrefabInstance:
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3531919739979819163, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
||||
propertyPath: m_IsActive
|
||||
- target: {fileID: 6153230212222214112, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3}
|
||||
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
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
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()
|
||||
{
|
||||
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
|
||||
%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
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -14,6 +30,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
settings:
|
||||
- {fileID: 117625959343581733}
|
||||
- {fileID: -2985742813244632235}
|
||||
--- !u!114 &117625959343581733
|
||||
MonoBehaviour:
|
||||
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 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;
|
||||
|
||||
public Filter(FilterEffect 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 currentColor = Datacontext.CurrentColor;
|
||||
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;
|
||||
}
|
||||
|
||||
@ -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.UI;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using UnityEngine;
|
||||
using static AxibugEmuOnline.Client.FilterManager;
|
||||
|
||||
namespace AxibugEmuOnline.Client
|
||||
{
|
||||
@ -9,12 +13,11 @@ namespace AxibugEmuOnline.Client
|
||||
public class UI_FilterItem : MenuItem, IVirtualItem
|
||||
{
|
||||
public int Index { get; set; }
|
||||
public FilterManager.Filter Datacontext { get; private set; }
|
||||
|
||||
public Filter Datacontext { get; private set; }
|
||||
|
||||
public void SetData(object data)
|
||||
{
|
||||
Datacontext = data as FilterManager.Filter;
|
||||
Datacontext = data as Filter;
|
||||
|
||||
UpdateView();
|
||||
}
|
||||
@ -35,13 +38,109 @@ namespace AxibugEmuOnline.Client
|
||||
}
|
||||
}
|
||||
|
||||
public void Release()
|
||||
{
|
||||
}
|
||||
public void Release() { }
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
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.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.EventSystems;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace AxibugEmuOnline.Client
|
||||
{
|
||||
@ -80,9 +82,12 @@ namespace AxibugEmuOnline.Client
|
||||
|
||||
readonly List<CommandExecuter> oneFrameRegister = new List<CommandExecuter>();
|
||||
private void Update()
|
||||
{
|
||||
if (!InputUI.IsInputing)
|
||||
{
|
||||
peekRegister(oneFrameRegister);
|
||||
m_listener.Update(oneFrameRegister);
|
||||
}
|
||||
|
||||
//键位映射在按键响应的堆栈结束后处理,防止迭代器修改问题
|
||||
if (m_waitMapperSetting != null)
|
||||
|
@ -33,7 +33,7 @@ namespace AxibugEmuOnline.Client
|
||||
|
||||
protected virtual void Update()
|
||||
{
|
||||
if (Registed)
|
||||
if (Registed && Enable)
|
||||
{
|
||||
m_pulsInvoker_Left.Update(Time.deltaTime);
|
||||
m_pulsInvoker_Right.Update(Time.deltaTime);
|
||||
|
@ -62,7 +62,7 @@ namespace AxibugEmuOnline.Client
|
||||
|
||||
protected override void OnCmdOptionMenu()
|
||||
{
|
||||
OptionUI.Instance.Pop(m_options);
|
||||
OverlayManager.Pop(m_options);
|
||||
}
|
||||
|
||||
public class OptMenu_Search : ExecuteMenu
|
||||
@ -74,9 +74,9 @@ namespace AxibugEmuOnline.Client
|
||||
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)
|
||||
@ -97,7 +97,7 @@ namespace AxibugEmuOnline.Client
|
||||
m_ui = romListUI;
|
||||
}
|
||||
|
||||
public override void OnExcute()
|
||||
public override void OnExcute(OptionUI optionUI, ref bool cancelHide)
|
||||
{
|
||||
m_ui.SearchKey = null;
|
||||
m_ui.RefreshUI();
|
||||
|
@ -82,7 +82,6 @@ namespace AxibugEmuOnline.Client
|
||||
}
|
||||
|
||||
Eventer.Instance.RegisterEvent<int>(EEvent.OnRoomWaitStepChange, OnServerStepUpdate);
|
||||
OptionUI.Instance.OnHide += PopMenu_OnHide;
|
||||
|
||||
gameObject.SetActiveEx(true);
|
||||
}
|
||||
@ -95,14 +94,12 @@ namespace AxibugEmuOnline.Client
|
||||
public void Hide()
|
||||
{
|
||||
CommandDispatcher.Instance.UnRegistController(this);
|
||||
|
||||
OptionUI.Instance.OnHide -= PopMenu_OnHide;
|
||||
gameObject.SetActiveEx(false);
|
||||
}
|
||||
|
||||
protected override void OnCmdOptionMenu()
|
||||
{
|
||||
OptionUI.Instance.Pop(menus);
|
||||
OverlayManager.Pop(menus, 0, PopMenu_OnHide);
|
||||
|
||||
if (!IsNetPlay)//单人模式暂停模拟器
|
||||
{
|
||||
|
@ -13,7 +13,7 @@ namespace AxibugEmuOnline.Client
|
||||
m_gameUI = gameUI;
|
||||
}
|
||||
|
||||
public override void OnExcute()
|
||||
public override void OnExcute(OptionUI optionUI, ref bool cancelHide)
|
||||
{
|
||||
if (m_gameUI.IsNetPlay) return;
|
||||
|
||||
|
@ -10,7 +10,7 @@ namespace AxibugEmuOnline.Client
|
||||
m_gameUI = gameUI;
|
||||
}
|
||||
|
||||
public override void OnExcute()
|
||||
public override void OnExcute(OptionUI optionUI, ref bool cancelHide)
|
||||
{
|
||||
m_gameUI.QuitGame();
|
||||
}
|
||||
|
@ -17,12 +17,13 @@ namespace AxibugEmuOnline.Client
|
||||
m_gameUI = gameUI;
|
||||
}
|
||||
|
||||
public override void OnExcute()
|
||||
public override void OnExcute(OptionUI optionUI, ref bool cancelHide)
|
||||
{
|
||||
if (!m_gameUI.IsNetPlay)
|
||||
{
|
||||
App.emu.ResetGame();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -17,7 +17,7 @@ namespace AxibugEmuOnline.Client
|
||||
m_gameUI = gameUI;
|
||||
}
|
||||
|
||||
public override void OnExcute()
|
||||
public override void OnExcute(OptionUI optionUI, ref bool cancelHide)
|
||||
{
|
||||
if (m_gameUI.IsNetPlay) return;
|
||||
|
||||
|
@ -8,64 +8,67 @@ namespace AxibugEmuOnline.Client
|
||||
{
|
||||
public class OptionUI : CommandExecuter
|
||||
{
|
||||
public static OptionUI Instance { get; private set; }
|
||||
|
||||
[SerializeField]
|
||||
RectTransform MenuRoot;
|
||||
[SerializeField]
|
||||
RectTransform SelectBorder;
|
||||
Selector SelectBorder;
|
||||
|
||||
[Space]
|
||||
[Header("Ä£°å")]
|
||||
[SerializeField] OptionUI_ExecuteItem TEMPLATE_EXECUTEITEM;
|
||||
|
||||
private OptionUI m_child;
|
||||
private OptionUI m_parent;
|
||||
|
||||
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 List<OptionUI_MenuItem> m_runtimeMenuItems = new List<OptionUI_MenuItem>();
|
||||
|
||||
public event Action OnHide;
|
||||
|
||||
private int m_selectIndex = -1;
|
||||
public int SelectIndex
|
||||
{
|
||||
get { return m_selectIndex; }
|
||||
set
|
||||
{
|
||||
var selectableItems = m_runtimeMenuItems.Where(t => t.Visible).ToList();
|
||||
value = Mathf.Clamp(value, 0, selectableItems.Count - 1);
|
||||
value = Mathf.Clamp(value, 0, m_runtimeMenuItems.Count - 1);
|
||||
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;
|
||||
|
||||
OptionUI_MenuItem optionUI_MenuItem = selectableItems[m_selectIndex];
|
||||
OptionUI_MenuItem optionUI_MenuItem = m_runtimeMenuItems[m_selectIndex];
|
||||
optionUI_MenuItem.OnFocus();
|
||||
var itemUIRect = optionUI_MenuItem.transform as RectTransform;
|
||||
SelectBorder.pivot = itemUIRect.pivot;
|
||||
SelectBorder.sizeDelta = itemUIRect.rect.size;
|
||||
DOTween.To(() => SelectBorder.position, (value) => SelectBorder.position = value, itemUIRect.position, 0.125f);
|
||||
SelectBorder.SetAsLastSibling();
|
||||
SelectBorder.Target = itemUIRect;
|
||||
}
|
||||
}
|
||||
|
||||
protected override void Awake()
|
||||
{
|
||||
Instance = this;
|
||||
TEMPLATE_EXECUTEITEM.gameObject.SetActiveEx(false);
|
||||
SelectBorder.gameObject.SetActiveEx(false);
|
||||
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()
|
||||
{
|
||||
UpdateMenuState();
|
||||
@ -76,19 +79,21 @@ namespace AxibugEmuOnline.Client
|
||||
private void UpdateMenuState()
|
||||
{
|
||||
bool dirty = false;
|
||||
foreach (var menuItem in m_runtimeMenuItems)
|
||||
{
|
||||
if (menuItem.gameObject.activeSelf != menuItem.Visible)
|
||||
{
|
||||
dirty = true;
|
||||
menuItem.gameObject.SetActive(menuItem.Visible);
|
||||
}
|
||||
}
|
||||
dirty = checkDirty();
|
||||
if (dirty)
|
||||
{
|
||||
RebuildSelectIndex();
|
||||
}
|
||||
}
|
||||
|
||||
private void RebuildSelectIndex()
|
||||
{
|
||||
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;
|
||||
int currentSelect = SelectIndex;
|
||||
@ -118,18 +123,47 @@ namespace AxibugEmuOnline.Client
|
||||
}
|
||||
else
|
||||
{
|
||||
var selectItem = m_runtimeMenuItems[SelectIndex];
|
||||
var itemUIRect = selectItem.transform as RectTransform;
|
||||
SelectBorder.pivot = itemUIRect.pivot;
|
||||
SelectBorder.position = itemUIRect.position;
|
||||
SelectBorder.sizeDelta = itemUIRect.rect.size;
|
||||
}
|
||||
SelectBorder.Target = itemUIRect;
|
||||
}
|
||||
}
|
||||
|
||||
IKeyMapperChanger m_lastCS;
|
||||
public void Pop<T>(List<T> menus, int defaultIndex = 0) where T : OptionMenu
|
||||
private bool checkDirty()
|
||||
{
|
||||
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();
|
||||
foreach (var menu in menus) CreateRuntimeMenuItem(menu);
|
||||
CommandDispatcher.Instance.RegistController(this);
|
||||
@ -140,25 +174,37 @@ namespace AxibugEmuOnline.Client
|
||||
m_selectIndex = defaultIndex;
|
||||
OptionUI_MenuItem optionUI_MenuItem = m_runtimeMenuItems[defaultIndex];
|
||||
optionUI_MenuItem.OnFocus();
|
||||
|
||||
var itemUIRect = optionUI_MenuItem.transform as RectTransform;
|
||||
SelectBorder.pivot = itemUIRect.pivot;
|
||||
SelectBorder.position = itemUIRect.position;
|
||||
SelectBorder.sizeDelta = itemUIRect.rect.size;
|
||||
SelectBorder.SetAsLastSibling();
|
||||
SelectBorder.Target = itemUIRect;
|
||||
|
||||
if (!m_bPoped)
|
||||
{
|
||||
m_bPoped = true;
|
||||
|
||||
Vector2 start = new Vector2(0, MenuRoot.anchoredPosition.y);
|
||||
Vector2 end = new Vector2(-MenuRoot.rect.width, MenuRoot.anchoredPosition.y);
|
||||
DOTween.To(
|
||||
() => MenuRoot.anchoredPosition.x,
|
||||
() => start,
|
||||
(value) =>
|
||||
{
|
||||
var temp = MenuRoot.anchoredPosition;
|
||||
temp.x = value;
|
||||
MenuRoot.anchoredPosition = temp;
|
||||
var moveDelta = value - start;
|
||||
start = value;
|
||||
|
||||
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
|
||||
).SetEase(Ease.OutCubic);
|
||||
|
||||
@ -179,16 +225,30 @@ namespace AxibugEmuOnline.Client
|
||||
|
||||
CommandDispatcher.Instance.UnRegistController(this);
|
||||
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(
|
||||
() => MenuRoot.anchoredPosition.x,
|
||||
() => start,
|
||||
(value) =>
|
||||
{
|
||||
var temp = MenuRoot.anchoredPosition;
|
||||
temp.x = value;
|
||||
MenuRoot.anchoredPosition = temp;
|
||||
var moveDelta = value - start;
|
||||
start = value;
|
||||
|
||||
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
|
||||
).SetEase(Ease.OutCubic);
|
||||
|
||||
@ -196,7 +256,8 @@ namespace AxibugEmuOnline.Client
|
||||
|
||||
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>();
|
||||
menuUI.gameObject.SetActive(true);
|
||||
menuUI.SetData(executeMenu);
|
||||
menuUI.SetData(this, executeMenu);
|
||||
m_runtimeMenuItems.Add(menuUI);
|
||||
}
|
||||
else
|
||||
@ -219,6 +280,7 @@ namespace AxibugEmuOnline.Client
|
||||
{
|
||||
foreach (var item in m_runtimeMenuItems)
|
||||
{
|
||||
item.OnHide();
|
||||
Destroy(item.gameObject);
|
||||
}
|
||||
m_runtimeMenuItems.Clear();
|
||||
@ -239,39 +301,89 @@ namespace AxibugEmuOnline.Client
|
||||
Hide();
|
||||
}
|
||||
|
||||
protected override void OnCmdSelectItemRight()
|
||||
{
|
||||
var executer = m_runtimeMenuItems[SelectIndex];
|
||||
if (!executer.IsExpandMenu) return;
|
||||
|
||||
OnCmdEnter();
|
||||
}
|
||||
|
||||
protected override bool OnCmdEnter()
|
||||
{
|
||||
var executer = m_runtimeMenuItems[SelectIndex];
|
||||
Hide();
|
||||
executer.OnExecute();
|
||||
return true;
|
||||
}
|
||||
bool cancelHide = false;
|
||||
executer.OnExecute(this, ref cancelHide);
|
||||
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; }
|
||||
public Sprite Icon { get; protected set; }
|
||||
public virtual bool Visible => true;
|
||||
public virtual bool Enable => true;
|
||||
|
||||
public OptionMenu(string name, Sprite icon = null)
|
||||
if (m_child == null)
|
||||
{
|
||||
Name = name;
|
||||
Icon = icon;
|
||||
var sourcePrefab = Resources.Load<GameObject>("UIPrefabs/OptionUI");
|
||||
m_child = Instantiate(sourcePrefab, transform).GetComponent<OptionUI>();
|
||||
m_child.name = $"{name}_Sub";
|
||||
m_child.m_parent = this;
|
||||
}
|
||||
|
||||
public virtual void OnFocus() { }
|
||||
public virtual void OnShow(OptionUI_MenuItem ui) { }
|
||||
Canvas.ForceUpdateCanvases();
|
||||
|
||||
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 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 sealed override Type ValueType => typeof(T);
|
||||
@ -287,6 +399,25 @@ namespace AxibugEmuOnline.Client
|
||||
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 ValueSetMenu(string name) : base(name) { }
|
||||
|
@ -1,10 +1,21 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace AxibugEmuOnline.Client
|
||||
{
|
||||
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.UI;
|
||||
|
||||
@ -15,11 +11,12 @@ namespace AxibugEmuOnline.Client
|
||||
public Image IconUI => m_Icon;
|
||||
|
||||
public bool Visible => m_Menu.Visible;
|
||||
|
||||
public OptionUI OptionUI { get; private set; }
|
||||
protected OptionMenu m_Menu;
|
||||
|
||||
public void SetData(OptionMenu menuData)
|
||||
public void SetData(OptionUI optionUI, OptionMenu menuData)
|
||||
{
|
||||
OptionUI = optionUI;
|
||||
m_Menu = menuData;
|
||||
m_MenuNameTxt.text = menuData.Name;
|
||||
if (menuData.Icon == null) m_Icon.gameObject.SetActiveEx(false);
|
||||
@ -33,10 +30,13 @@ namespace AxibugEmuOnline.Client
|
||||
OnSetData(menuData);
|
||||
}
|
||||
|
||||
public bool IsExpandMenu => m_Menu is ExpandMenu;
|
||||
|
||||
protected abstract void OnSetData(OptionMenu menuData);
|
||||
|
||||
public abstract void OnExecute();
|
||||
public abstract void OnExecute(OptionUI optionUI, ref bool cancelHide);
|
||||
public abstract void OnFocus();
|
||||
public virtual void OnHide() { }
|
||||
}
|
||||
|
||||
public abstract class OptionUI_MenuItem<T> : OptionUI_MenuItem
|
||||
@ -53,5 +53,10 @@ namespace AxibugEmuOnline.Client
|
||||
{
|
||||
MenuData.OnFocus();
|
||||
}
|
||||
|
||||
public override void OnHide()
|
||||
{
|
||||
MenuData.OnHide();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -12,6 +12,9 @@ namespace AxibugEmuOnline.Client
|
||||
|
||||
Action<string> OnCommit;
|
||||
|
||||
public static bool IsInputing { get; private set; }
|
||||
|
||||
|
||||
|
||||
protected override void OnShow(object param)
|
||||
{
|
||||
@ -22,6 +25,24 @@ namespace AxibugEmuOnline.Client
|
||||
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()
|
||||
{
|
||||
base.OnEnable();
|
||||
|
@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace AxibugEmuOnline.Client
|
||||
@ -9,6 +10,8 @@ namespace AxibugEmuOnline.Client
|
||||
|
||||
[SerializeField]
|
||||
InputUI m_InputUI;
|
||||
[SerializeField]
|
||||
OptionUI m_OptionUI;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
@ -17,11 +20,20 @@ namespace AxibugEmuOnline.Client
|
||||
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;
|
||||
}
|
||||
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
|
||||
serializedVersion: 2
|
||||
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
|
||||
m_Name: Submit
|
||||
descriptiveName:
|
||||
descriptiveNegativeName:
|
||||
negativeButton:
|
||||
positiveButton: return
|
||||
positiveButton:
|
||||
altNegativeButton:
|
||||
altPositiveButton: joystick button 0
|
||||
gravity: 1000
|
||||
dead: 0.001
|
||||
sensitivity: 1000
|
||||
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
|
||||
altPositiveButton:
|
||||
gravity: 0
|
||||
dead: 0
|
||||
sensitivity: 0
|
||||
snap: 0
|
||||
invert: 0
|
||||
type: 0
|
||||
@ -282,15 +26,46 @@ InputManager:
|
||||
descriptiveName:
|
||||
descriptiveNegativeName:
|
||||
negativeButton:
|
||||
positiveButton: escape
|
||||
positiveButton:
|
||||
altNegativeButton:
|
||||
altPositiveButton: joystick button 1
|
||||
gravity: 1000
|
||||
dead: 0.001
|
||||
sensitivity: 1000
|
||||
altPositiveButton:
|
||||
gravity: 0
|
||||
dead: 0
|
||||
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
|
||||
invert: 0
|
||||
type: 0
|
||||
axis: 0
|
||||
joyNum: 0
|
||||
m_UsePhysicalKeys: 1
|
||||
|
Loading…
Reference in New Issue
Block a user