添加,UIImageSelectMap 功能,从宝石支线移植过来

This commit is contained in:
李浩 2025-05-29 15:08:28 +08:00
parent 35cc3eb634
commit 28dba51958
73 changed files with 2887 additions and 426 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: beab953c019ad884aa67d3a0bb49fdaa
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 MiB

View File

@ -0,0 +1,179 @@
fileFormatVersion: 2
guid: 3a00983ef5623fc408efcbb92a4907c3
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 2
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
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1,179 @@
fileFormatVersion: 2
guid: ec659f457b7fd564cb1d1990add5fab1
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 2
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
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 395 B

View File

@ -0,0 +1,179 @@
fileFormatVersion: 2
guid: bf73269e6fc57c34ab5b9fca901a99d7
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 2
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
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 MiB

View File

@ -0,0 +1,179 @@
fileFormatVersion: 2
guid: cc9edef0c7d8eb54a84077129a9351a8
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 2
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
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -0,0 +1,179 @@
fileFormatVersion: 2
guid: bc9ac8fa376dbd140a9078d33158ba7d
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 2
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
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -0,0 +1,179 @@
fileFormatVersion: 2
guid: 3cfd5e6d694f37c44a22b765a3317dd5
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 2
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: 50, y: 5, z: 50, w: 50}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 1537655665
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -25,18 +25,24 @@ namespace XMLTool
public class ImageSelectMapAction : Action public class ImageSelectMapAction : Action
{ {
public class Row
{
public string name = "";
public List<Item> items = new List<Item>();
}
public class Item public class Item
{ {
public string pic; public string pic;
public string pos; public string name;
public string size;
} }
public Dictionary<string, string> args = new Dictionary<string, string>(); public Dictionary<string, string> args = new Dictionary<string, string>();
public List<Item> items = new List<Item>(); public List<Row> rows = new List<Row>();
} }
public class DictionaryCondition : Condition public class DictionaryCondition : Condition
{ {
public Dictionary<string, string> args = new Dictionary<string, string>(); public Dictionary<string, string> args = new Dictionary<string, string>();

View File

@ -289,7 +289,7 @@ public class ActionHelper
case "ImageSelectMap": case "ImageSelectMap":
{ {
var dictAction = (XMLTool.ImageSelectMapAction)act; var dictAction = (XMLTool.ImageSelectMapAction)act;
return QFramework.ImageSelectMapAction.Allocate(dictAction.args, dictAction.items); return QFramework.ImageSelectMapAction.Allocate(dictAction.args, dictAction.rows);
} }
case "UIGuideTip": case "UIGuideTip":
{ {

View File

@ -71,7 +71,9 @@ namespace QFramework
UIBtnAnimData data = new UIBtnAnimData(); UIBtnAnimData data = new UIBtnAnimData();
data.title = datas.ContainsKey("title") ? datas["title"] : string.Empty; data.title = datas.ContainsKey("title") ? datas["title"] : string.Empty;
data.targetObj = datas.ContainsKey("targetObj") ? datas["targetObj"] : string.Empty;
data.Obj = datas.ContainsKey("Obj") ? datas["Obj"] : string.Empty;
data.AnimObj = datas.ContainsKey("AnimObj") ? datas["AnimObj"] : string.Empty;
data.size = datas.ContainsKey("size") ? datas["size"] : string.Empty; data.size = datas.ContainsKey("size") ? datas["size"] : string.Empty;
data.pos = datas.ContainsKey("pos") ? datas["pos"] : string.Empty; data.pos = datas.ContainsKey("pos") ? datas["pos"] : string.Empty;

View File

@ -21,14 +21,14 @@ namespace QFramework
private static readonly SimpleObjectPool<ImageSelectMapAction> mPool = private static readonly SimpleObjectPool<ImageSelectMapAction> mPool =
new SimpleObjectPool<ImageSelectMapAction>(() => new ImageSelectMapAction(), null, 10); new SimpleObjectPool<ImageSelectMapAction>(() => new ImageSelectMapAction(), null, 10);
Dictionary<string, string> datas; Dictionary<string, string> datas;
List<XMLTool.ImageSelectMapAction.Item> items; List<XMLTool.ImageSelectMapAction.Row> rows;
public static ImageSelectMapAction Allocate(Dictionary<string, string> datas, List<XMLTool.ImageSelectMapAction.Item> items, System.Action OnFinished = null) public static ImageSelectMapAction Allocate(Dictionary<string, string> datas, List<XMLTool.ImageSelectMapAction.Row> rows, System.Action OnFinished = null)
{ {
var retNode = mPool.Allocate(); var retNode = mPool.Allocate();
retNode.ActionID = ActionKit.ID_GENERATOR++; retNode.ActionID = ActionKit.ID_GENERATOR++;
retNode.Deinited = false; retNode.Deinited = false;
retNode.datas = datas; retNode.datas = datas;
retNode.items = items; retNode.rows = rows;
retNode.Reset(); retNode.Reset();
retNode.OnFinished = OnFinished; retNode.OnFinished = OnFinished;
return retNode; return retNode;
@ -61,19 +61,31 @@ namespace QFramework
data.rightLabel = datas.ContainsKey("rightLabel") ? datas["rightLabel"] : ""; data.rightLabel = datas.ContainsKey("rightLabel") ? datas["rightLabel"] : "";
data.wrongLabel = datas.ContainsKey("wrongLabel") ? datas["wrongLabel"] : ""; data.wrongLabel = datas.ContainsKey("wrongLabel") ? datas["wrongLabel"] : "";
data.finishedEvent = datas.ContainsKey("finishedEvent") ? datas["finishedEvent"] : ""; data.finishedEvent = datas.ContainsKey("finishedEvent") ? datas["finishedEvent"] : "";
data.rightBg = datas.ContainsKey("rightBg") ? datas["rightBg"] : ""; if (datas.ContainsKey("random"))
foreach (var item in items)
{ {
data.items.Add(new UIImageSelectMapData.OptionItem() bool.TryParse(datas["random"], out data.random);
}
else
{ {
pic = item.pic, data.random = false;
pos = Utility.GetVector2FromStrArray(item.pos),
size = Utility.GetVector2FromStrArray(item.size)
});
} }
UIKit.OpenPanelAsync<UIImageSelectMap>(uiData: data, canvasLevel: UILevel.PopUI).ToAction().StartGlobal(() => foreach (var rowItem in rows)
{
var row = new UIImageSelectMapData.Row();
row.name = rowItem.name;
data.rows.Add(row);
foreach (var item in rowItem.items)
{
row.items.Add(new UIImageSelectMapData.OptionItem()
{
pic = item.pic,
name = item.name
});
}
}
UIKit.OpenPanelAsync<UIImageSelectMap>(uiData: data).ToAction().StartGlobal(() =>
{ {
this.Finish(); this.Finish();

View File

@ -5,7 +5,7 @@ using QFramework;
namespace QFramework.Example namespace QFramework.Example
{ {
// Generate Id:b499f0f9-a71b-40ff-a499-a5e4defad39f // Generate Id:ee191ed8-359d-4628-aa2b-d1711157540d
public partial class UIImageSelectMap public partial class UIImageSelectMap
{ {
public const string Name = "UIImageSelectMap"; public const string Name = "UIImageSelectMap";
@ -13,20 +13,23 @@ namespace QFramework.Example
[SerializeField] [SerializeField]
public RectTransform LeftContent; public RectTransform LeftContent;
[SerializeField] [SerializeField]
public RectTransform RightContent;
[SerializeField]
public UnityEngine.UI.Image LeftItem; public UnityEngine.UI.Image LeftItem;
[SerializeField] [SerializeField]
public UnityEngine.UI.Image RightItem; public UnityEngine.UI.Image RightItem;
[SerializeField] [SerializeField]
public RectTransform RightContent; public RectTransform RightRowItem;
private UIImageSelectMapData mPrivateData = null; private UIImageSelectMapData mPrivateData = null;
protected override void ClearUIComponents() protected override void ClearUIComponents()
{ {
LeftContent = null; LeftContent = null;
RightContent = null;
LeftItem = null; LeftItem = null;
RightItem = null; RightItem = null;
RightContent = null; RightRowItem = null;
mData = null; mData = null;
} }

View File

@ -4,6 +4,8 @@ using QFramework;
using System.Collections.Generic; using System.Collections.Generic;
using UnityEngine.EventSystems; using UnityEngine.EventSystems;
using System; using System;
using TMPro;
using System.Xml;
namespace QFramework.Example namespace QFramework.Example
{ {
@ -12,8 +14,12 @@ namespace QFramework.Example
public class OptionItem public class OptionItem
{ {
public string pic; public string pic;
public Vector2 pos; public string name;
public Vector2 size; }
public class Row
{
public string name;
public List<OptionItem> items = new List<OptionItem>();
} }
public string scoreName; public string scoreName;
public float totalScore; public float totalScore;
@ -22,22 +28,30 @@ namespace QFramework.Example
public string rightLabel; public string rightLabel;
public string wrongLabel; public string wrongLabel;
public string finishedEvent; public string finishedEvent;
public string rightBg; public bool random = false;
public List<OptionItem> items = new List<OptionItem>(); public List<Row> rows = new List<Row>();
} }
public partial class UIImageSelectMap : UIPanel public partial class UIImageSelectMap : UIPanel
{ {
/// <summary>
/// ÓÒ²àÊý¾Ý½á¹¹
/// </summary>
class RightDataItem
{
public GameObject rightObj;
public bool isRight = false;
}
ResLoader loader; ResLoader loader;
GameObject moveObj; GameObject moveObj;
GameObject enterRight; GameObject enterRight;
GameObject leftDragObj; GameObject leftDragObj;
Dictionary<GameObject, UIImageSelectMapData.OptionItem> itemDatas = new Dictionary<GameObject, UIImageSelectMapData.OptionItem>(); Dictionary<GameObject, UIImageSelectMapData.OptionItem> itemDatas = new Dictionary<GameObject, UIImageSelectMapData.OptionItem>();
Dictionary<GameObject, RightDataItem> leftAndRightMap = new Dictionary<GameObject, RightDataItem>();
Dictionary<GameObject, GameObject> leftObjAndRightObj = new Dictionary<GameObject, GameObject>();
protected override void OnInit(IUIData uiData = null) protected override void OnInit(IUIData uiData = null)
{ {
mData = uiData as UIImageSelectMapData ?? new UIImageSelectMapData(); mData = uiData as UIImageSelectMapData ?? new UIImageSelectMapData();
TypeEventSystem.Global.Register<OnModuleQuit>(OnModuleQuitHandler);
// please add init code here // please add init code here
loader = ResLoader.Allocate(); loader = ResLoader.Allocate();
} }
@ -45,21 +59,36 @@ namespace QFramework.Example
protected override void OnOpen(IUIData uiData = null) protected override void OnOpen(IUIData uiData = null)
{ {
mData = uiData as UIImageSelectMapData ?? new UIImageSelectMapData(); mData = uiData as UIImageSelectMapData ?? new UIImageSelectMapData();
LeftContent.RemoveAllChildren(); LeftContent.RemoveAllChildren();
RightContent.RemoveAllChildren(); RightContent.RemoveAllChildren();
itemDatas.Clear(); itemDatas.Clear();
leftObjAndRightObj.Clear(); leftAndRightMap.Clear();
foreach (var item in mData.items)
foreach (var row in mData.rows)
{ {
GameObject rowObj = GameObject.Instantiate(RightRowItem.gameObject, RightContent);
rowObj.transform.Find("Type").GetComponent<TextMeshProUGUI>().text = row.name.Replace("\\n", "\n");
Transform itemContent = rowObj.transform.Find("Items");
foreach (var item in row.items)
{
var rightObj = GameObject.Instantiate(RightItem, itemContent);
var nameText = rightObj.transform.Find("Name").GetComponent<TextMeshProUGUI>();
nameText.text = item.name;
nameText.color = Color.white;
rightObj.name = item.pic;
rightObj.transform.Find("PicBg/Pic").GetComponent<Image>().color = new Color(1, 1, 1, 0);
rightObj.OnPointerEnterEvent(RightOnEnter);
rightObj.OnPointerExitEvent(RightOnExit);
rightObj.OnPointerClickEvent(RightOnClick);
var leftObj = GameObject.Instantiate(LeftItem, LeftContent); var leftObj = GameObject.Instantiate(LeftItem, LeftContent);
leftObj.name = item.pic; leftObj.name = item.pic;
var path = Global.imagePath + item.pic; var path = Global.deviceIconsPath + item.pic;
loader.Add2Load(path.ToNetImageResName(), (success, res) => loader.Add2Load(path.ToNetImageResName(), (success, res) =>
{ {
if (success) if (success)
{ {
leftObj.transform.Find("Pic").GetComponent<Image>().sprite = Utility.GetSprite(res.Asset as Texture2D); leftObj.GetComponent<Image>().sprite = Utility.GetSprite(res.Asset as Texture2D);
} }
}); });
@ -67,27 +96,13 @@ namespace QFramework.Example
leftObj.OnDragEvent(LeftOnDrag); leftObj.OnDragEvent(LeftOnDrag);
leftObj.OnEndDragEvent(LeftOnEndDrag); leftObj.OnEndDragEvent(LeftOnEndDrag);
itemDatas.Add(leftObj.gameObject, item); itemDatas.Add(leftObj.gameObject, item);
}
var rightObj = GameObject.Instantiate(RightItem, RightContent);
rightObj.name = item.pic;
rightObj.rectTransform.anchoredPosition = item.pos;
rightObj.rectTransform.sizeDelta = item.size;
rightObj.OnPointerEnterEvent(RightOnEnter);
rightObj.OnPointerExitEvent(RightOnExit);
rightObj.OnPointerClickEvent(RightOnClick);
} }
if (mData.random)
var rightBgPath = Global.imagePath + mData.rightBg;
loader.Add2Load(rightBgPath.ToNetImageResName(), (success, res) =>
{ {
if (success) Utility.ShuffleChildObjects(LeftContent);
{
RightContent.GetComponent<Image>().sprite = Utility.GetSprite(res.Asset as Texture2D);
RightContent.GetComponent<Image>().SetNativeSize();
} }
});
loader.LoadAsync(); loader.LoadAsync();
@ -95,26 +110,28 @@ namespace QFramework.Example
} }
private void OnModuleQuitHandler(OnModuleQuit quit)
{
Hide();
}
private void RightOnClick(PointerEventData data) private void RightOnClick(PointerEventData data)
{ {
Transform trans = data.pointerClick.transform; Transform trans = data.pointerClick.transform;
if (trans.childCount > 0) if (leftAndRightMap.ContainsKey(trans.gameObject))
{ {
var child = trans.GetChild(0).gameObject; leftAndRightMap[trans.gameObject].rightObj.SetActive(true);
if (leftObjAndRightObj.ContainsKey(child)) trans.GetComponent<Image>().color = Color.white;
{ trans.Find("PicBg/Pic").GetComponent<Image>().color = new Color(1, 1, 1, 0);
leftObjAndRightObj[child].SetActive(true);
leftObjAndRightObj.Remove(child); enterRight.transform.Find("Name").GetComponent<TextMeshProUGUI>().color = Color.white;
GameObject.Destroy(child); leftAndRightMap.Remove(trans.gameObject);
trans.GetComponent<Image>().color = new Color(1, 1, 1, 0); }
} }
else
{
Debug.LogError("没有找到对应的左边物体");
}
}
}
private void RightOnExit(PointerEventData data) private void RightOnExit(PointerEventData data)
{ {
@ -138,31 +155,54 @@ namespace QFramework.Example
private void LeftOnEndDrag(PointerEventData data) private void LeftOnEndDrag(PointerEventData data)
{ {
if (enterRight) if (enterRight && leftAndRightMap.ContainsKey(enterRight) == false)
{ {
TextMeshProUGUI nameText = enterRight.transform.Find("Name").GetComponent<TextMeshProUGUI>();
bool isRight = false;
if (enterRight.name == itemDatas[leftDragObj].pic) if (enterRight.name == itemDatas[leftDragObj].pic)
{ {
Debug.LogError("正确"); nameText.color = Color.green;
enterRight.GetComponent<Image>().color = Color.green; isRight = true;
} }
else else
{ {
Debug.LogError("错误"); nameText.color = Color.red;
enterRight.GetComponent<Image>().color = Color.red;
} }
moveObj.transform.parent = enterRight.transform; Image img = enterRight.transform.Find("PicBg/Pic").GetComponent<Image>();
moveObj.transform.localPosition = Vector3.zero; img.sprite = moveObj.GetComponent<Image>().sprite;
leftObjAndRightObj.Add(moveObj, leftDragObj); img.color = Color.white;
//nameText.text = itemDatas[leftDragObj].name;
leftAndRightMap.Add(enterRight, new RightDataItem() { rightObj = leftDragObj, isRight = isRight });
leftDragObj.SetActive(false); leftDragObj.SetActive(false);
}
else if (isRight && Check())
{ {
if (string.IsNullOrEmpty(mData.finishedEvent) == false)
{
StringEventSystem.Global.Send(mData.finishedEvent);
}
}
}
GameObject.Destroy(moveObj); GameObject.Destroy(moveObj);
moveObj = null; moveObj = null;
}
leftDragObj = null; leftDragObj = null;
} }
public bool Check()
{
foreach (var item in leftAndRightMap)
{
if (item.Value.isRight == false)
{
return false;
}
}
return leftAndRightMap.Count == itemDatas.Count;
}
private void LeftOnDrag(PointerEventData data) private void LeftOnDrag(PointerEventData data)
{ {
//data.pointerDrag.transform.position = Input.mousePosition; //data.pointerDrag.transform.position = Input.mousePosition;
@ -183,6 +223,7 @@ namespace QFramework.Example
protected override void OnClose() protected override void OnClose()
{ {
TypeEventSystem.Global.UnRegister<OnModuleQuit>(OnModuleQuitHandler);
} }
} }
} }

View File

@ -13,7 +13,8 @@ namespace QFramework.Example
{ {
public String title; public String title;
public String targetObj; public String Obj;
public String AnimObj;
public String size; public String size;
public String pos; public String pos;
@ -42,7 +43,8 @@ namespace QFramework.Example
List<String> title = mData.title.Split('|')?.ToList(); List<String> title = mData.title.Split('|')?.ToList();
List<String> targetObj = mData.targetObj.Split('|')?.ToList(); List<String> Obj = mData.Obj.Split('|')?.ToList();
List<String> targetObj = mData.AnimObj.Split('|')?.ToList();
List<String> size = mData.size.Split('|')?.ToList(); List<String> size = mData.size.Split('|')?.ToList();
List<String> pos = mData.pos.Split('|')?.ToList(); List<String> pos = mData.pos.Split('|')?.ToList();
@ -59,10 +61,11 @@ namespace QFramework.Example
ButtonItemObj.GetComponent<RectTransform>().sizeDelta = sizeData; ButtonItemObj.GetComponent<RectTransform>().sizeDelta = sizeData;
ButtonItemObj.GetComponent<RectTransform>().localPosition = positem; ButtonItemObj.GetComponent<RectTransform>().localPosition = positem;
GameObject obj = Utility.FindObj(Obj[j]);
GameObject obj = Utility.FindObj(targetObj[j]); GameObject AnimObj = Utility.FindObj(targetObj[j]);
obj.GetComponent<Animation>(); AnimObj.GetComponent<Animation>();
ButtonItemObj.transform.Find("TitleText").GetComponent<Text>().text = title[j]; ButtonItemObj.transform.Find("TitleText").GetComponent<Text>().text = title[j];
ButtonItemObj.transform.GetComponent<Button>().onClick.RemoveAllListeners(); ButtonItemObj.transform.GetComponent<Button>().onClick.RemoveAllListeners();
@ -74,15 +77,17 @@ namespace QFramework.Example
UIKit.HidePanel<UIGuideTip>(); UIKit.HidePanel<UIGuideTip>();
UIKit.HidePanel<UITextWindow>(); UIKit.HidePanel<UITextWindow>();
obj.gameObject.SetActive(true); obj.gameObject.SetActive(false);
AnimObj.gameObject.SetActive(true);
PlayReverseAnimation(targetObj[j], mData.animName, () => { PlayReverseAnimation(targetObj[j], mData.animName, () => {
obj.gameObject.SetActive(false); AnimObj.gameObject.SetActive(false);
obj.gameObject.SetActive(true);
UIKit.OpenPanelAsync<UIGuideTip>(uiData: data, canvasLevel: UILevel.Common).ToAction().StartGlobal(); UIKit.OpenPanelAsync<UIGuideTip>(uiData: data, canvasLevel: UILevel.Common).ToAction().StartGlobal();
Debug.Log("在事件结束添加这些方法"); // Debug.Log("在事件结束添加这些方法");
}); });
@ -104,7 +109,7 @@ namespace QFramework.Example
// ÉèÖûص÷ // ÉèÖûص÷
action.OnFinished += () => action.OnFinished += () =>
{ {
Debug.Log("倒播动画完成回调触发"); // Debug.Log("倒播动画完成回调触发");
OnFinishAction?.Invoke(); OnFinishAction?.Invoke();
action.Deinit(); action.Deinit();
}; };

View File

@ -1878,15 +1878,26 @@ namespace XMLTool
{ {
act.args.Add("rightBg", rightBg.Value); act.args.Add("rightBg", rightBg.Value);
} }
foreach (var itemData in action.Elements("Item")) XAttribute random = action.Attribute("random");
if (random != null)
{ {
act.items.Add(new ImageSelectMapAction.Item() act.args.Add("random", random.Value);
}
foreach (var rowData in action.Elements("Row"))
{
var row = new ImageSelectMapAction.Row();
row.name = rowData.Attribute("name")?.Value;
act.rows.Add(row);
foreach (var itemData in rowData.Elements("Item"))
{
row.items.Add(new ImageSelectMapAction.Item()
{ {
pic = itemData.Attribute("pic")?.Value, pic = itemData.Attribute("pic")?.Value,
size = itemData.Attribute("rightSize")?.Value, name = itemData.Attribute("name")?.Value
pos = itemData.Attribute("rightPos")?.Value
}); });
} }
}
newAction = act; newAction = act;
} }
break; break;
@ -1996,10 +2007,16 @@ namespace XMLTool
{ {
act.args.Add("title", title.Value); act.args.Add("title", title.Value);
} }
XAttribute targetObj = action.Attribute("targetObj"); XAttribute Obj = action.Attribute("Obj");
if (targetObj != null) if (Obj != null)
{ {
act.args.Add("targetObj", targetObj.Value); act.args.Add("Obj", Obj.Value);
}
XAttribute AnimObj = action.Attribute("AnimObj");
if (AnimObj != null)
{
act.args.Add("AnimObj", AnimObj.Value);
} }
XAttribute size = action.Attribute("size"); XAttribute size = action.Attribute("size");
if (size != null) if (size != null)

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
Data/Image/yushi/碧玉.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
Data/Image/yushi/糖玉.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
Data/Image/yushi/紫翠.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
Data/Image/yushi/阳绿.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
Data/Image/yushi/青玉.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
Data/Image/yushi/黄翡.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -61,10 +61,6 @@
<Action type="Hint" value="请选择对应模块,进行对应实验学习。或者使用键盘鼠标,自由漫游场景,进行游览。" time="-1" icon="false"></Action> <Action type="Hint" value="请选择对应模块,进行对应实验学习。或者使用键盘鼠标,自由漫游场景,进行游览。" time="-1" icon="false"></Action>
<Action type="UIBackPack" devices="棱柱,棱锥,球体,圆柱,圆锥"
random="false"
scrollSpeed="25" position="left"
></Action>
<Action type="TextTip" audio="" title="教学目标" value="1.掌握柱、锥、球及其组合体的结构特征与分类; <Action type="TextTip" audio="" title="教学目标" value="1.掌握柱、锥、球及其组合体的结构特征与分类;
@ -73,12 +69,16 @@
<Condition type="UIClick" value="UIRoot/PopUI/UITextTip/Mask/Content/BtnContent/确定"></Condition> <Condition type="UIClick" value="UIRoot/PopUI/UITextTip/Mask/Content/BtnContent/确定"></Condition>
<!--<Action type="UIBackPack" devices="棱柱,棱锥,球体,圆柱,圆锥"
random="false"
scrollSpeed="25" position="left"
></Action>-->
<Action type="Show" value="Main/A_SM_LengZhu" isShow="true" isDevice="false"></Action> <Action type="Show" value="Main/A_SM_LengZhu" isShow="true" isDevice="false"></Action>
<Action type="UIGuideTip" <!--<Action type="UIGuideTip"
targetName="棱柱上底面,棱柱上底面边长,棱柱底面,棱柱底面边长,棱柱侧面,侧棱,棱柱棱高,棱柱顶点" targetName="棱柱上底面,棱柱上底面边长,棱柱底面,棱柱底面边长,棱柱侧面,侧棱,棱柱棱高,棱柱顶点"
offSet="200,100,0|-200,100,0|-200,-80,0|250,50,0|-250,50,0|300,0,0|-300,50,0|-200,150,0" offSet="200,100,0|-200,100,0|-200,-80,0|250,50,0|-250,50,0|300,0,0|-300,50,0|-200,150,0"
showName="棱柱上底面,棱柱上底面边长,棱柱底面,棱柱底面边长,棱柱侧面,侧棱,棱柱棱高,棱柱顶点" showName="棱柱上底面,棱柱上底面边长,棱柱底面,棱柱底面边长,棱柱侧面,侧棱,棱柱棱高,棱柱顶点"
@ -108,11 +108,44 @@
<Action type="Greatbtns" name="动态三维建模|分类对比学习" pos="-889,317.1|-756,317.1" size="125,70|125,70" /> <Action type="Greatbtns" name="动态三维建模|分类对比学习" pos="-889,317.1|-756,317.1" size="125,70|125,70" />
<Action type="UIBtnAnim" title="形成动画" targetObj="Main/A_SM_LengZhuAnim" animName="Lengzhu" pos="828,367" size="150,60"> </Action> <Action type="UIBtnAnim" title="形成动画" Obj="Main/A_SM_LengZhu" AnimObj="Main/A_SM_LengZhuAnim" animName="Lengzhu" pos="828,367" size="150,60"> </Action>-->
<Action type="ImageSelectMap"
random="true"
scoreName=""
totalScore=""
rightScore=""
wrongScore=""
rightLabel=""
wrongLabel=""
finishedEvent="全部完成">
<!--<Row name="绿色">
<Item name="帝王绿" pic="JiHeTi/LengZhu.png"></Item>
<Item name="阳绿" pic="JiHeTi/LengZhui.png"></Item>
<Item name="碧玉" pic="JiHeTi/QiuTi.png"></Item>
<Item name="青玉" pic="JiHeTi/YuanZhu.png"></Item>
<Item name="青玉" pic="JiHeTi/YuanZhui.png"></Item>
</Row>-->
<Row name="多面体">
<Item name="棱柱" pic="JiHeTi/LengZhu.png"></Item>
<Item name="棱锥" pic="JiHeTi/LengZhui.png"></Item>
</Row>
<Row name="旋转体">
<Item name="圆柱" pic="JiHeTi/YuanZhu.png"></Item>
<Item name="圆锥" pic="JiHeTi/YuanZhui.png"></Item>
<Item name="球" pic="JiHeTi/QiuTi.png"></Item>
</Row>
</Action>
<!--<Action type="Show" value="Main/A_SM_LengZhuAnim" isShow="true" isDevice="false"></Action> <!--<Action type="Show" value="Main/A_SM_LengZhuAnim" isShow="true" isDevice="false"></Action>
<Action type="Anim" value="Main/A_SM_LengZhuAnim" animName="Lengzhu" speed="-1"></Action>--> <Action type="Anim" value="Main/A_SM_LengZhuAnim" animName="Lengzhu" speed="-1"></Action>-->
<Action type="Show" value="Main/A_SM_LengZhuAnim" isShow="false" isDevice="false"></Action>-->
<!--<Action type="Show" value="Main/A_SM_LengZhuAnim" isShow="false" isDevice="false"></Action>-->-->
<!--<Action type="Show" value="Main/A_SM_LengZhuAnim" isShow="true" isDevice="false"></Action> <!--<Action type="Show" value="Main/A_SM_LengZhuAnim" isShow="true" isDevice="false"></Action>
@ -368,6 +401,48 @@
</State> </State>
<State name="分类对比学习">
<Enter>
<Action type="Sequence">
<Action type="Log" value="分类对比学习!!!!"></Action>
<Action type="UIShow" value="UIGuideTip" isShow="false"></Action>
<Action type="UIShow" value="UISliderAnim" isShow="false"></Action>
<Action type="UIShow" value="UIBtnAnim" isShow="false"></Action>
<Action type="UIShow" value="UIBackPack" isShow="false"></Action>
<Action type="ImageSelectMap"
random="true"
scoreName=""
totalScore=""
rightScore=""
wrongScore=""
rightLabel=""
wrongLabel=""
finishedEvent="全部完成">
<Row name="绿色">
<Item name="帝王绿" pic="JiHeTi/LengZhu.png"></Item>
<Item name="阳绿" pic="JiHeTi/LengZhui.png"></Item>
<Item name="碧玉" pic="JiHeTi/QiuTi.png"></Item>
<Item name="青玉" pic="JiHeTi/YuanZhu.png"></Item>
<Item name="青玉" pic="JiHeTi/YuanZhui.png"></Item>
</Row>
</Action>
</Action>
</Enter>
<Exit>
<Action type="Sequence">
<Action type="Log" value="分类对比学习!!!!"></Action>
</Action>
</Exit>
</State>
<!--进入方式--> <!--进入方式-->
@ -386,10 +461,30 @@
<Transision from="any" to="圆锥"> <Transision from="any" to="圆锥">
<Condition type="UIClick" value="UIRoot/PopUI/UIBackPack/bg/Scroll/Viewport/Content/圆锥"></Condition> <Condition type="UIClick" value="UIRoot/PopUI/UIBackPack/bg/Scroll/Viewport/Content/圆锥"></Condition>
</Transision> </Transision>
<Transision from="any" to="分类对比学习">
<Condition type="UIClick" value="UIRoot/Common/UIBtns/BtnContent/分类对比学习"></Condition>
</Transision>
</FSM> </FSM>
<!--<FSM name="分类对比学习">
<State name="分类对比学习初始状态">
<Enter>
<Action type="Sequence">
<Action log="分类对比学习初始状态log"/>
</Action>
</Enter>
</State>
<Transision from="any" to="分类对比学习初始状态">
<Condition type="UIClick" value="UIRoot/Common/UIBtns/BtnContent/分类对比学习"></Condition>
</Transision>-->
<!--
</FSM>-->
</Module> </Module>