initial upload

This commit is contained in:
tom.hempel
2025-09-30 17:58:33 +02:00
commit 69b0c79692
4818 changed files with 229318 additions and 0 deletions

View File

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

View File

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

Binary file not shown.

View File

@ -0,0 +1,132 @@
fileFormatVersion: 2
guid: 5ef35277eb4994d44a9521fbd0f4ea02
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: -100
wrapU: 1
wrapV: 1
wrapW: -1
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: 0
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: 256
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: 256
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: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 256
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:

Binary file not shown.

View File

@ -0,0 +1,132 @@
fileFormatVersion: 2
guid: 90a6af1157bf3f9409158b0e3fb9feaf
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
- serializedVersion: 3
buildTarget: WebGL
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:

Binary file not shown.

View File

@ -0,0 +1,132 @@
fileFormatVersion: 2
guid: 748343795b003384ca746ee97021ff54
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
- serializedVersion: 3
buildTarget: WebGL
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:

Binary file not shown.

View File

@ -0,0 +1,132 @@
fileFormatVersion: 2
guid: 82b7676205e22654cac319cffcf17bbb
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
- serializedVersion: 3
buildTarget: WebGL
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:

Binary file not shown.

View File

@ -0,0 +1,132 @@
fileFormatVersion: 2
guid: 96cf88f410f515e438e9d7d1af0c16db
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
- serializedVersion: 3
buildTarget: WebGL
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:

Binary file not shown.

View File

@ -0,0 +1,132 @@
fileFormatVersion: 2
guid: f5f5a43d08476ca4b8848443bdbdfba7
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
- serializedVersion: 3
buildTarget: WebGL
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:

Binary file not shown.

View File

@ -0,0 +1,132 @@
fileFormatVersion: 2
guid: 4d267838cc649284dac0e347a0072f24
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: -100
wrapU: 1
wrapV: 1
wrapW: -1
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: 0
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: 512
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: 512
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: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 512
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:

Binary file not shown.

View File

@ -0,0 +1,132 @@
fileFormatVersion: 2
guid: f8a0a71cef646a44a9115efc31dbcd68
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: -100
wrapU: 1
wrapV: 1
wrapW: -1
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: 128
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: 128
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: 128
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 128
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:

View File

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

View File

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

Binary file not shown.

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 1e0ed6a58edab2c4aa6362da871d8fe8
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 388388813e01da441863eac1062f85b9
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: ce3fe0e72fd9a77428b183a9cd5e759d
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

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

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: bed67741521b22649bc65f4a8cc74cf1
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: a971aed4fd9f07e4b871f63d09014f72
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: c88f73ec02963d241b827c10d9037e8e
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 8731a79173ae10e44886e0d69fb22184
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 2bb6b08b8e48b2d4ca36bf901b0b1a2e
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 122c5428c50dab44a98a375a74a7ab79
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 2ad9560b2a08eab449dfcd7b2e3d8f2b
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: c4fdc89107e2a0e45b8d5c08e54b6250
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: fb94ab01fd78f3e4186b20015d0aa4e2
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 40dfe16256c5abc49836d4217815ea88
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 2cfd0a41e844b744dabe80ed7818a884
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: f50201018cf1fde428ce508968a48aab
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 7f0b810a030ec6548bf0a47f24da5060
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: d9b672212a2f80d4e9d3a90957f01b4a
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

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

View File

@ -0,0 +1,71 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using ReadyPlayerMe.Core;
namespace ReadyPlayerMe.AvatarCreator
{
public enum TemplateVersions
{
All,
V1,
V2
}
/// <summary>
/// This class can be used to fetch avatar template data including icon renders from the avatarAPI.
/// </summary>
public class AvatarTemplateFetcher
{
private readonly CancellationToken ctx;
private readonly AvatarAPIRequests avatarAPIRequests;
public AvatarTemplateFetcher(CancellationToken ctx = default)
{
this.ctx = ctx;
avatarAPIRequests = new AvatarAPIRequests(ctx);
}
/// <summary>
/// Fetches all avatar templates without the icon renders via the avatarAPI.
/// </summary>
/// <returns></returns>
public async Task<List<AvatarTemplateData>> GetTemplates()
{
return await avatarAPIRequests.GetAvatarTemplates();
}
/// <summary>
/// Fetches all avatar template data with the icon renders via the avatarAPI.
/// This will wait for all the icons to be downloaded.
/// </summary>
/// <returns></returns>
public async Task<List<AvatarTemplateData>> GetTemplatesWithRenders(Action<AvatarTemplateData> onIconDownloaded = null)
{
return await FetchTemplateRenders(await avatarAPIRequests.GetAvatarTemplates(), onIconDownloaded);
}
/// <summary>
/// Fetches the renders for all the templates provided.
/// </summary>
public async Task<List<AvatarTemplateData>> FetchTemplateRenders(List<AvatarTemplateData> templates, Action<AvatarTemplateData> onIconDownloaded = null)
{
var tasks = templates.Select(async templateData =>
{
var requestDispatcher = new WebRequestDispatcher();
templateData.Texture = await requestDispatcher.DownloadTexture(templateData.ImageUrl, ctx);
onIconDownloaded?.Invoke(templateData);
}).ToList();
while (!tasks.All(x => x.IsCompleted) &&
!ctx.IsCancellationRequested)
{
await Task.Yield();
}
return templates;
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: a98e7b2023904ac6befda2231aa744c5
timeCreated: 1695218998

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: db4d72385ce74549954c747a5deb7495
timeCreated: 1673015721

View File

@ -0,0 +1,15 @@
using System;
using ReadyPlayerMe.Core;
using UnityEngine;
namespace ReadyPlayerMe.AvatarCreator
{
[Serializable]
public struct AssetBodyShape : IAssetData
{
public BodyShape bodyShape;
public Texture image;
public string Id { get; set; }
public AssetType AssetType { get => AssetType.BodyShape; set { } }
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 8ca3c843438140c7bdaf4a2c119fd920
timeCreated: 1711450893

View File

@ -0,0 +1,13 @@
namespace ReadyPlayerMe.AvatarCreator
{
public struct AssetLibrary
{
public PartnerAsset[] Assets;
public Pagination Pagination;
}
public struct Pagination
{
public int TotalPages;
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: a462a8005c5f453fa4f9390d94846331
timeCreated: 1673430261

View File

@ -0,0 +1,61 @@
namespace ReadyPlayerMe.AvatarCreator
{
public enum AssetType
{
None,
[AssetTypeFilter(AssetFilter.Color)]
SkinColor,
[AssetTypeFilter(AssetFilter.Style)]
BeardStyle,
[AssetTypeFilter(AssetFilter.Style)]
EyeColor,
[AssetTypeFilter(AssetFilter.Style)]
EyeShape,
[AssetTypeFilter(AssetFilter.Style)]
EyebrowStyle,
[AssetTypeFilter(AssetFilter.Style)]
FaceMask,
[AssetTypeFilter(AssetFilter.Style)]
FaceShape,
[AssetTypeFilter(AssetFilter.Style)]
Glasses,
[AssetTypeFilter(AssetFilter.Style)]
HairStyle,
[AssetTypeFilter(AssetFilter.Style)]
Facewear,
[AssetTypeFilter(AssetFilter.Style)]
Headwear,
[AssetTypeFilter(AssetFilter.Style)]
LipShape,
[AssetTypeFilter(AssetFilter.Style)]
NoseShape,
[AssetTypeFilter(AssetFilter.Style)]
Outfit,
[AssetTypeFilter(AssetFilter.Style)]
Shirt,
[AssetTypeFilter(AssetFilter.Color)]
HairColor,
[AssetTypeFilter(AssetFilter.Color)]
EyebrowColor,
[AssetTypeFilter(AssetFilter.Color)]
BeardColor,
[AssetTypeFilter(AssetFilter.Style)]
Bottom,
[AssetTypeFilter(AssetFilter.Style)]
Top,
[AssetTypeFilter(AssetFilter.Style)]
Footwear,
[AssetTypeFilter(AssetFilter.Template)]
AvatarTemplate,
BodyShape,
[AssetTypeFilter(AssetFilter.Style)]
Costume
}
public enum AssetFilter
{
Color,
Style,
Template
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: c8e6bab8e22d40119c5cffc7bc056d5c
timeCreated: 1674141278

View File

@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
using ReadyPlayerMe.Core;
namespace ReadyPlayerMe.AvatarCreator
{
[Serializable]
public struct AvatarProperties
{
public string Id;
public string Partner;
[JsonConverter(typeof(GenderConverter))]
public OutfitGender Gender;
[JsonConverter(typeof(BodyTypeConverter))]
public BodyType BodyType;
[JsonConverter(typeof(CategoryDictionaryConverter))]
public Dictionary<AssetType, object> Assets;
public string Base64Image;
public bool isDraft;
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: d1b016f8f2504b4cab6108d09d532e8e
timeCreated: 1673009634

View File

@ -0,0 +1,19 @@
using System;
using Newtonsoft.Json;
using ReadyPlayerMe.Core;
using UnityEngine;
namespace ReadyPlayerMe.AvatarCreator
{
[Serializable]
public class AvatarTemplateData : IAssetData
{
public string Id { get; set; }
public AssetType AssetType { get; set; } = AssetType.AvatarTemplate;
public string ImageUrl;
[JsonConverter(typeof(GenderConverter))]
public OutfitGender Gender;
public Texture Texture;
public string UsageType;
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: f2222085428945828153b8003ded6b64
timeCreated: 1687870275

View File

@ -0,0 +1,28 @@
using System;
namespace ReadyPlayerMe.AvatarCreator
{
[Serializable]
public struct ColorLibrary
{
public AssetColor[] Skin;
public AssetColor[] Eyebrow;
public AssetColor[] Beard;
public AssetColor[] Hair;
}
[Serializable]
public struct AssetColor : IAssetData
{
public string Id { get; set; }
public AssetType AssetType { get; set; }
public string HexColor;
public AssetColor(string id, AssetType assetType, string hexColor)
{
Id = id;
AssetType = assetType;
HexColor = hexColor;
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 768c52a07cb54484885113c27a0c4224
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

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

View File

@ -0,0 +1,12 @@
namespace ReadyPlayerMe.AvatarCreator
{
public static class AuthConstants
{
public const string EMAIL = "email";
public const string CODE = "code";
public const string TOKEN = "token";
public const string REFRESH_TOKEN = "refreshToken";
public const string USER_ID = "id";
public const string APP_NAME = "appName";
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 93dc833c39304a57a0e98015a9726b65
timeCreated: 1684845509

View File

@ -0,0 +1,33 @@
using System.Collections.Generic;
namespace ReadyPlayerMe.AvatarCreator
{
public static class AvatarPropertiesConstants
{
public static readonly Dictionary<AssetType, object> MaleDefaultAssets =
new Dictionary<AssetType, object>
{
{ AssetType.SkinColor, 5 },
{ AssetType.EyeColor, "9781796" },
{ AssetType.HairStyle, "9247476" },
{ AssetType.EyebrowStyle, "16858292" },
{ AssetType.Outfit, "109373713" },
{ AssetType.HairColor, 0 },
{ AssetType.EyebrowColor, 0 },
{ AssetType.BeardColor, 0 }
};
public static readonly Dictionary<AssetType, object> FemaleDefaultAssets =
new Dictionary<AssetType, object>
{
{ AssetType.SkinColor, 5 },
{ AssetType.EyeColor, "9781796" },
{ AssetType.HairStyle, "9247476" },
{ AssetType.EyebrowStyle, "16858292" },
{ AssetType.Outfit, "109376347" },
{ AssetType.HairColor, 0 },
{ AssetType.EyebrowColor, 0 },
{ AssetType.BeardColor, 0 }
};
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 2a23b71b7291417aa19532a55a1a4418
timeCreated: 1674132563

View File

@ -0,0 +1,13 @@
namespace ReadyPlayerMe.AvatarCreator
{
public struct CreatedUser
{
public string Id;
public string Name;
public string Email;
public string Token;
public string RefreshToken;
public string LastModifiedAvatarId;
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 5e54d27ca4d403d41b845fe44a532989
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,22 @@
using Newtonsoft.Json;
using ReadyPlayerMe.Core;
namespace ReadyPlayerMe.AvatarCreator
{
public struct PartnerAsset : IAssetData
{
public string Id { get; set; }
[JsonProperty("type"), JsonConverter(typeof(CategoryConverter))]
public AssetType AssetType { get; set; }
[JsonConverter(typeof(GenderConverter))]
public OutfitGender Gender;
[JsonProperty("iconUrl")]
public string ImageUrl;
[JsonProperty("lockedCategories")]
public string[] LockedCategories;
[JsonProperty("locked")]
public bool Locked;
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: f2719f45a60bfd443829b433870e2b2f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,11 @@
using System;
using System.Collections.Generic;
namespace ReadyPlayerMe.AvatarCreator
{
[Serializable]
public struct PrecompileData
{
public Dictionary<string, string[]> data;
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 5f3c3e48f9bcda14d8f21a84ac630dca
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,26 @@
using Newtonsoft.Json;
namespace ReadyPlayerMe.AvatarCreator
{
public struct UserSession
{
[JsonProperty("_id")]
public string Id;
public string Name;
public string Email;
public string Token;
public string RefreshToken;
public string LastModifiedAvatarId;
public UserSession(CreatedUser createdUser)
{
Id = createdUser.Id;
Name = createdUser.Name;
Email = createdUser.Email;
Token = createdUser.Token;
RefreshToken = createdUser.RefreshToken;
LastModifiedAvatarId = createdUser.LastModifiedAvatarId;
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 84455ed89618d5a4691f183bcf0505e1
timeCreated: 1672914714

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 502cf9efcac345b7b335c2e0a982695a
timeCreated: 1701341723

View File

@ -0,0 +1,10 @@
namespace ReadyPlayerMe.AvatarCreator
{
public class Env
{
public const string RPM_SUBDOMAIN_BASE_URL = "https://{0}.readyplayer.me/api";
public const string RPM_API_V2_BASE_URL = "https://api.readyplayer.me/v2/";
public const string RPM_API_V1_BASE_URL = "https://api.readyplayer.me/v1/";
public const string RPM_MODELS_BASE_URL = "https://models.readyplayer.me";
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 32339e3e3f0247a3b4eb48656654d3be
timeCreated: 1701425119

View File

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

View File

@ -0,0 +1,25 @@
using System.Collections.Generic;
using ReadyPlayerMe.Core;
using ReadyPlayerMe.Core.Analytics;
namespace ReadyPlayerMe.AvatarCreator
{
public static class AnalyticsRuntimeLoggerExtension
{
private const string RUN_AVATAR_CREATOR_SAMPLE = "run avatar creator sample";
private const string APP_ID = "app id";
public static void LogAvatarCreatorSample(this IAnalyticsRuntimeLogger _, string appId)
{
if (!CoreSettingsHandler.CoreSettings.EnableAnalytics) return;
#if UNITY_EDITOR
AmplitudeEventLogger.LogEvent(RUN_AVATAR_CREATOR_SAMPLE, new Dictionary<string, object>()
{
{ APP_ID, appId }
});
#endif
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 8abff5aa323a453abaa431f2c511fff8
timeCreated: 1693238120

View File

@ -0,0 +1,95 @@
using System.Collections.Generic;
using ReadyPlayerMe.Core;
namespace ReadyPlayerMe.AvatarCreator
{
public static class AssetTypeExtensions
{
private static readonly Dictionary<AssetType, string> ColorPropertyByAssetType = new Dictionary<AssetType, string>
{
{ AssetType.SkinColor, "skin" },
{ AssetType.BeardColor, "beard" },
{ AssetType.EyebrowColor, "eyebrow" },
{ AssetType.HairColor, "hair" }
};
public static string GetColorProperty(this AssetType assetType)
{
return ColorPropertyByAssetType.TryGetValue(assetType, out var property) ? property : string.Empty;
}
public static bool IsOutfitAsset(this AssetType assetType)
{
switch (assetType)
{
case AssetType.Outfit:
case AssetType.Shirt:
case AssetType.Bottom:
case AssetType.Top:
case AssetType.Footwear:
return true;
default:
return false;
}
}
public static bool IsFaceAsset(this AssetType assetType)
{
switch (assetType)
{
case AssetType.FaceShape:
case AssetType.EyeShape:
case AssetType.EyeColor:
case AssetType.EyebrowStyle:
case AssetType.NoseShape:
case AssetType.LipShape:
case AssetType.BeardStyle:
return true;
default:
return false;
}
}
public static bool IsCompatibleAssetType(this AssetType assetType, BodyType bodyType)
{
// Filter asset type based on body type.
if (bodyType == BodyType.FullBody)
{
return assetType != AssetType.Shirt;
}
return assetType != AssetType.Outfit;
}
public static bool IsOptionalAsset(this AssetType assetType)
{
switch (assetType)
{
case AssetType.Top:
case AssetType.Bottom:
case AssetType.Footwear:
case AssetType.Outfit:
case AssetType.Shirt:
case AssetType.EyebrowStyle:
case AssetType.Costume:
return false;
default:
return !assetType.IsColorAsset();
}
}
public static bool IsColorAsset(this AssetType assetType)
{
switch (assetType)
{
case AssetType.EyeColor:
case AssetType.BeardColor:
case AssetType.EyebrowColor:
case AssetType.HairColor:
case AssetType.SkinColor:
return true;
default:
return false;
}
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 70fc5a7829588334790bff0bf1a7c432
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,35 @@
using System.Collections.Generic;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
namespace ReadyPlayerMe.AvatarCreator
{
public static class AvatarPropertiesExtensions
{
public static string ToJson(this AvatarProperties avatarProperties, bool ignoreEmptyFields = false)
{
var contractResolver = new DefaultContractResolver
{
NamingStrategy = new CamelCaseNamingStrategy()
};
var settings = new JsonSerializerSettings
{
ContractResolver = contractResolver,
Formatting = Formatting.Indented
};
var data = new Dictionary<string, AvatarProperties>
{
{ "data", avatarProperties }
};
if (ignoreEmptyFields)
{
settings.NullValueHandling = NullValueHandling.Ignore;
settings.DefaultValueHandling = DefaultValueHandling.Ignore;
}
return JsonConvert.SerializeObject(data, settings);
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 8792cf7ae53246b38813644e902a2b06
timeCreated: 1673018342

View File

@ -0,0 +1,17 @@
using System.Collections.Generic;
using System.Linq;
namespace ReadyPlayerMe.AvatarCreator
{
public static class ListExtensions
{
public static List<List<T>> ChunkBy<T>(this IEnumerable<T> source, int chunkSize)
{
return source
.Select((x, i) => new { Index = i, Value = x })
.GroupBy(x => x.Index / chunkSize)
.Select(x => x.Select(v => v.Value).ToList())
.ToList();
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 9fc47adbe77a4a5494052ad2b0514020
timeCreated: 1676540723

View File

@ -0,0 +1,47 @@
using UnityEngine;
using UnityEngine.UI;
namespace ReadyPlayerMe.AvatarCreator
{
public static class RawImageExtensions
{
public static void SizeToParent(this RawImage image, float padding = 0)
{
var width = 0f;
var height = 0f;
var parent = image.GetComponentInParent<RectTransform>();
var imageTransform = image.GetComponent<RectTransform>();
if (image.texture != null)
{
if (!parent)
{
return;
}
padding = 1 - padding;
var ratio = image.texture.width / (float) image.texture.height;
var parentRect = parent.rect;
var bounds = new Rect(0, 0, parentRect.width, parentRect.height);
if (Mathf.RoundToInt(imageTransform.eulerAngles.z) % 180 == 90)
{
//Invert the bounds if the image is rotated
bounds.size = new Vector2(bounds.height, bounds.width);
}
//Size by height first
height = bounds.height * padding;
width = height * ratio;
if (width > bounds.width * padding)
{
//If it doesn't fit, fallback to width;
width = bounds.width * padding;
height = width / ratio;
}
}
imageTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, width);
imageTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, height);
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: fe8d461e8e524f97b403a33b50d61c3a
timeCreated: 1679494560

View File

@ -0,0 +1,30 @@
using System;
using Newtonsoft.Json.Linq;
using ReadyPlayerMe.Core;
namespace ReadyPlayerMe.AvatarCreator
{
public static class ResponseExtensions
{
public static void ThrowIfError(this IResponse response)
{
if (!response.IsSuccess)
{
throw new Exception(response.Error);
}
}
public static void ThrowIfError(this ResponseText response)
{
if (!response.IsSuccess)
{
if (!string.IsNullOrEmpty(response.Text))
{
var json = JObject.Parse(response.Text);
throw new Exception(json["message"]!.ToString());
}
throw new Exception(response.Error);
}
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: b723bf2f799140049b4b203654884fbc
timeCreated: 1681316236

Some files were not shown because too many files have changed in this diff Show More