init 1.7.1

This commit is contained in:
2025-07-20 19:03:25 +08:00
commit 8ec8e16828
1496 changed files with 2706933 additions and 0 deletions
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 654fa0ea527986140bcd252a7aec9b80
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: d5f83aba300f2be4a84deca6743675cb
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+33
View File
@@ -0,0 +1,33 @@
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
This asset was uploaded by https://unityassetcollection.com
If you find this package helpful and want to support us.
Please go to https://tinyurl.com/d0nat10n
We really appreciate your help.
Thank you.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
LUMINA: Voxel Based Global Illumination HDRP
For HDRP setup check the HDRP -> Setup folder and README.
LUMINA: Voxel based Real time Global Illumination is a new sysem for true voxel based global illumination that will locally remain 100% stable, unlike screen space based solutions that flicker and have GI dissapear when the camera moves or rotates and looking away from the light receiving objects.
The main manual is included in the same forlder as this README file and contains the latest updated manual for the system.
LUMINA has a number of demos with assets that are not directly included in the store download for making downloading easier.
The demo assets are freely avilable on the web.
To properly see demos with all objects (house items, statues, sponza atrium) please downlone the assets from the following links
Sponza HDRP CC0 (Converted to URP from https://github.com/radishface/Sponza) and Home assets collection CC0 license (Currated from https://polyhaven.com/models and https://opengameart.org)
https://drive.google.com/file/d/1IERCKONJ21e2C5qOh6ICy2herYitUCS0/view?usp=sharing
Danish Statues from Keijiro
https://github.com/keijiro/DanishStatues
For direct chat and help on any issue, please contact me via ARTnGAME Discord Channel (https://discord.gg/X6fX6J5)
or the ARTnGAME support E-mail (artengames@gmail.com)
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: c2e94c1084c499d4b8db0c0a8c48b32c
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: bcc22d14febdd82428a6f9cebcdeecca
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+10
View File
@@ -0,0 +1,10 @@
{
"name": "Lrss3.LuminaGiHdrp.Editor",
"references": [
"Lrss3.LuminaGiHdrp"
],
"includePlatforms": [
"Editor"
],
"excludePlatforms": []
}
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 69195bc0dc290764cb743a1a0bd29700
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 7c996578301db6a4bb67c1f831d79c37
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: ec858aa6ffde6694d910a29a0e3e00d6
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 6974e58e6c556964a8c06bbc0e9fc683
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

@@ -0,0 +1,128 @@
fileFormatVersion: 2
guid: fea869f5c5b471a458f46e22a1c57110
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
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: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

@@ -0,0 +1,128 @@
fileFormatVersion: 2
guid: 360a346474d0b1f418669b9b311c25ad
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
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
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: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

@@ -0,0 +1,128 @@
fileFormatVersion: 2
guid: 7268efbb28e258044907e2f4a5e8558b
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
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: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

@@ -0,0 +1,128 @@
fileFormatVersion: 2
guid: 405daa08147dfbf46a0a7d3a2496e86d
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
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
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: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

@@ -0,0 +1,128 @@
fileFormatVersion: 2
guid: 1f35afc7cb0eaf547af5f90cf8e7b24d
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
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: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

@@ -0,0 +1,128 @@
fileFormatVersion: 2
guid: 513b6a2744e81854b988e1f20534ab7e
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
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
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: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

@@ -0,0 +1,128 @@
fileFormatVersion: 2
guid: 68d1fc8e801de6c459a2d3a0f3e2712d
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
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: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

@@ -0,0 +1,128 @@
fileFormatVersion: 2
guid: 1684a01bbd0ea6e49ba5fa840c1572d9
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
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
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: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

@@ -0,0 +1,128 @@
fileFormatVersion: 2
guid: 1908cc6b07727464388600510516edf8
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
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: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

@@ -0,0 +1,128 @@
fileFormatVersion: 2
guid: d2f11525276987a4dad1b92adc7f4024
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
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
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: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

@@ -0,0 +1,128 @@
fileFormatVersion: 2
guid: 52f7a6b3f24e8b34ca991b219349a40f
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
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
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: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

@@ -0,0 +1,128 @@
fileFormatVersion: 2
guid: 8731d2ca20a6bed4d883c96c5c316d9d
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
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
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: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

@@ -0,0 +1,128 @@
fileFormatVersion: 2
guid: 136aa56e9a8f4c04baf8de2bd306d8a4
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
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: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

@@ -0,0 +1,128 @@
fileFormatVersion: 2
guid: 23a345dbff5ebfd48ad6d5a07b6308be
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
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
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: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

@@ -0,0 +1,128 @@
fileFormatVersion: 2
guid: 027146d8a08f66344b470b514374920d
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
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
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: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

@@ -0,0 +1,128 @@
fileFormatVersion: 2
guid: 1bcc57bb61cd769439be2f5d0517040a
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
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: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

@@ -0,0 +1,128 @@
fileFormatVersion: 2
guid: 545e0380bd7c55d4aa8bb002a9b01842
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
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
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: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

@@ -0,0 +1,128 @@
fileFormatVersion: 2
guid: abd25bd506374e048a1b8029ed3e0bd4
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
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
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: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: be3dc604a55327a4691e8e4143b7259e
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 877210dc8c3917c4db0d01d30b8c13f4
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,20 @@
using System;
namespace Artngame.CommonTools.WelcomeScreen.GuiElements
{
public class ChangeMainViewButton : ClickableElement
{
protected readonly Action<ProductWelcomeScreenBase> _renderMainScrollViewFn;
public ChangeMainViewButton(string text, Action<ProductWelcomeScreenBase> renderMainScrollViewFn)
: base(text, string.Empty)
{
_renderMainScrollViewFn = renderMainScrollViewFn;
}
public override void OnClick(ProductWelcomeScreenBase welcomeScreen)
{
welcomeScreen.ChangeMainScrollViewRenderFn(_renderMainScrollViewFn);
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 80f45678cd44ed946b2eaa0251edfa83
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,15 @@
namespace Artngame.CommonTools.WelcomeScreen.GuiElements
{
public abstract class ClickableElement
{
public string Text { get; }
public string IconName { get; }
public ClickableElement(string text, string iconName)
{
Text = text;
IconName = iconName;
}
public abstract void OnClick(ProductWelcomeScreenBase welcomeScreen);
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 1f496a9fdbad81e48a1fdc75b565a4ef
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,21 @@
using System.Collections.Generic;
namespace Artngame.CommonTools.WelcomeScreen.GuiElements
{
public class GuiSection : GuiSectionBase
{
public List<ClickableElement> ClickableElements { get; }
public GuiSection(string labelText, List<ClickableElement> clickableElements)
: base(labelText)
{
ClickableElements = clickableElements;
}
public GuiSection(string labelText, string labelSubText, List<ClickableElement> clickableElements)
: base(labelText, labelSubText)
{
ClickableElements = clickableElements;
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 236dfb9b7c1c22e45be9fa0bff95c43b
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,25 @@
namespace Artngame.CommonTools.WelcomeScreen.GuiElements
{
public abstract class GuiSectionBase
{
public string LabelText { get; }
public string LabelSubText { get; set; }
public int WidthPx { get; private set; }
protected GuiSectionBase(string labelText)
{
LabelText = labelText;
}
protected GuiSectionBase(string labelText, string labelSubText)
{
LabelText = labelText;
LabelSubText = labelSubText;
}
public void InitializeWidthPx(int widthPx)
{
WidthPx = widthPx;
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 05a06c9f819925c4ab046277e4a7d38e
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,14 @@
using System;
namespace Artngame.CommonTools.WelcomeScreen.GuiElements
{
public class LastUpdateButton: ChangeMainViewButton
{
public Action<ProductWelcomeScreenBase> RenderMainScrollViewFunction => _renderMainScrollViewFn;
public LastUpdateButton(string text, Action<ProductWelcomeScreenBase> renderMainScrollViewFn)
: base(text, renderMainScrollViewFn)
{
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 2d866777abbfbf94a94f97f0c7bb68d0
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,22 @@
using System;
using UnityEditor.SceneManagement;
namespace Artngame.CommonTools.WelcomeScreen.GuiElements
{
public class LaunchSceneButton : ClickableElement
{
private readonly Func<ProductWelcomeScreenBase, string> _getScenePath;
public LaunchSceneButton(string text, Func<ProductWelcomeScreenBase, string> getScenePath)
: base(text, "BuildSettings.Editor.Small")
{
_getScenePath = getScenePath;
}
public override void OnClick(ProductWelcomeScreenBase welcomeScreen)
{
var scenePath = _getScenePath(welcomeScreen);
EditorSceneManager.OpenScene(scenePath);
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: a8f0c4d6a4b923241a4ad306b7d6f45b
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,20 @@
using UnityEngine;
namespace Artngame.CommonTools.WelcomeScreen.GuiElements
{
public class OpenUrlButton : ClickableElement
{
public string Url { get; set; }
public OpenUrlButton(string text, string url)
: base(text, "BuildSettings.Web.Small")
{
Url = url;
}
public override void OnClick(ProductWelcomeScreenBase welcomeScreen)
{
Application.OpenURL(Url);
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 7cfe63ab219cd8946b8993c6d57722c2
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,20 @@
using UnityEngine;
namespace Artngame.CommonTools.WelcomeScreen.GuiElements
{
public class OpenUrlLink : ClickableElement
{
public string Url { get; set; }
public OpenUrlLink(string text, string url)
: base(text, string.Empty)
{
Url = url;
}
public override void OnClick(ProductWelcomeScreenBase welcomeScreen)
{
Application.OpenURL(Url);
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: e857963d1a83ba041bf2e04da9e5bbaf
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,16 @@
using System;
namespace Artngame.CommonTools.WelcomeScreen.GuiElements
{
public class ScrollViewGuiSection : GuiSectionBase
{
public Action<ProductWelcomeScreenBase> RenderMainScrollViewSection { get; }
public ScrollViewGuiSection(string labelText, Action<ProductWelcomeScreenBase> renderMainScrollViewSection)
: base(labelText)
{
RenderMainScrollViewSection = renderMainScrollViewSection;
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: d2b7b787f37cb91498d5b7528c48671b
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8f9b1ea5f2fd20f4aac0ff2d729c7bf2
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,33 @@
using System;
using UnityEditor;
using UnityEngine;
namespace Artngame.CommonTools.WelcomeScreen.PreferenceDefinition
{
public class EnumProjectEditorPreferenceDefinition : ProjectEditorPreferenceDefinitionBase
{
private readonly Type _enumType;
public EnumProjectEditorPreferenceDefinition(string label, string preferenceKey, object defaultValue, Type enumType, HandleOnEditorPersistedValueChange handleOnEditorPersistedValueChange = null)
: base(label, preferenceKey, defaultValue, handleOnEditorPersistedValueChange)
{
_enumType = enumType;
}
public override object GetEditorPersistedValueInternal()
{
return EditorPrefs.GetInt(PreferenceKey, (int)DefaultValue);
}
protected override void SetEditorPersistedValueInternal(object newValue)
{
EditorPrefs.SetInt(PreferenceKey, (int)newValue);
}
public override object RenderEditorAndCaptureInput(object currentValue, GUIStyle style, params GUILayoutOption[] layoutOptions)
{
var enumValue = (Enum)Enum.ToObject(_enumType, currentValue);
return EditorGUILayout.EnumPopup(GuiContent, enumValue, style ?? EditorStyles.popup, layoutOptions);
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: dc4496a9cb4c4664e834906d5daa7f59
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,4 @@
namespace Artngame.CommonTools.WelcomeScreen.PreferenceDefinition
{
public delegate void HandleOnEditorPersistedValueChange(object newValue, object oldValue);
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 4b72bf4dceed3b245a5a77ae0726363c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,63 @@
using UnityEditor;
using UnityEngine;
namespace Artngame.CommonTools.WelcomeScreen.PreferenceDefinition
{
public abstract class ProjectEditorPreferenceDefinitionBase
{
public string Label { get; }
private string _rawPreferenceKey;
private string _preferenceKey;
public string PreferenceKey => _preferenceKey ?? (_preferenceKey = IsGlobal
? $"{_globalPerfProductName}_{_rawPreferenceKey}"
: $"{Application.productName}_{_rawPreferenceKey}");
public object DefaultValue { get; }
public HandleOnEditorPersistedValueChange HandleOnEditorPersistedValueChange { get; }
private GUIContent _guiContent;
protected GUIContent GuiContent => _guiContent ?? (_guiContent = new GUIContent(Label));
private bool IsGlobal => !string.IsNullOrWhiteSpace(_globalPerfProductName);
private string _globalPerfProductName;
public ProjectEditorPreferenceDefinitionBase(string label, string preferenceKey, object defaultValue,
HandleOnEditorPersistedValueChange handleOnEditorPersistedValueChange = null)
{
Label = label;
_rawPreferenceKey = preferenceKey;
DefaultValue = defaultValue;
HandleOnEditorPersistedValueChange = handleOnEditorPersistedValueChange;
}
public abstract object GetEditorPersistedValueInternal();
protected abstract void SetEditorPersistedValueInternal(object newValue);
public object GetEditorPersistedValueOrDefault()
{
if (!EditorPrefs.HasKey(PreferenceKey))
{
SetEditorPersistedValueInternal(DefaultValue);
HandleOnEditorPersistedValueChange?.Invoke(DefaultValue, null);
return DefaultValue;
}
return GetEditorPersistedValueInternal();
}
public void SetEditorPersistedValue(object newValue)
{
var oldValue = GetEditorPersistedValueOrDefault();
SetEditorPersistedValueInternal(newValue);
HandleOnEditorPersistedValueChange?.Invoke(newValue, oldValue);
}
public T AsGlobal<T>(string globalProductName) where T : ProjectEditorPreferenceDefinitionBase
{
_globalPerfProductName = globalProductName;
return (T)this;
}
public abstract object RenderEditorAndCaptureInput(object currentValue, GUIStyle style, params GUILayoutOption[] layoutOptions);
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: d5b3614ed725ff343b66a126c3460f90
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,28 @@
using UnityEditor;
using UnityEngine;
namespace Artngame.CommonTools.WelcomeScreen.PreferenceDefinition
{
public class TextProjectEditorPreferenceDefinition : ProjectEditorPreferenceDefinitionBase
{
public TextProjectEditorPreferenceDefinition(string label, string preferenceKey, object defaultValue, HandleOnEditorPersistedValueChange handleOnEditorPersistedValueChange = null)
: base(label, preferenceKey, defaultValue, handleOnEditorPersistedValueChange)
{
}
public override object GetEditorPersistedValueInternal()
{
return EditorPrefs.GetString(PreferenceKey, (string)DefaultValue);
}
protected override void SetEditorPersistedValueInternal(object newValue)
{
EditorPrefs.SetString(PreferenceKey, (string)newValue);
}
public override object RenderEditorAndCaptureInput(object currentValue, GUIStyle style, params GUILayoutOption[] layoutOptions)
{
return EditorGUILayout.TextField(GuiContent, currentValue?.ToString() ?? string.Empty, style ?? EditorStyles.textField, layoutOptions);
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 72a6864028364cc40936176976f9e058
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,29 @@
using UnityEditor;
using UnityEngine;
namespace Artngame.CommonTools.WelcomeScreen.PreferenceDefinition
{
public class ToggleProjectEditorPreferenceDefinition : ProjectEditorPreferenceDefinitionBase
{
public ToggleProjectEditorPreferenceDefinition(string label, string preferenceKey, object defaultValue, HandleOnEditorPersistedValueChange handleOnEditorPersistedValueChange = null)
: base(label, preferenceKey, defaultValue, handleOnEditorPersistedValueChange)
{
}
public override object GetEditorPersistedValueInternal()
{
return EditorPrefs.GetBool(PreferenceKey, (bool)DefaultValue);
}
protected override void SetEditorPersistedValueInternal(object newValue)
{
EditorPrefs.SetBool(PreferenceKey, (bool)newValue);
}
public override object RenderEditorAndCaptureInput(object currentValue, GUIStyle style, params GUILayoutOption[] layoutOptions)
{
var val = currentValue is null ? false : (bool)currentValue;
return EditorGUILayout.Toggle(GuiContent, val, style ?? EditorStyles.toggle, layoutOptions);
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 852f8688743889a41802acce122c2ae5
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,134 @@
using System;
using System.Collections.Generic;
using Artngame.CommonTools.WelcomeScreen.PreferenceDefinition;
using UnityEditor;
using UnityEngine;
//v0.1
using Artngame.CommonTools.WelcomeScreen.GuiElements;
namespace Artngame.CommonTools.WelcomeScreen
{
public abstract class ProductPreferenceBase
{
public static readonly Dictionary<string, object> GlobalPrefKeyToValueMap = new Dictionary<string, object>();
protected static void RenderGuiCommon(List<ProjectEditorPreferenceDefinitionBase> preferenceDefinitions)
{
var previousLabelWidth = EditorGUIUtility.labelWidth;
EditorGUIUtility.labelWidth = 250;
foreach (var preferenceDefinition in preferenceDefinitions)
{
RenderGuiAndPersistInput(preferenceDefinition);
}
EditorGUILayout.BeginHorizontal();
GUILayout.FlexibleSpace();
if (GUILayout.Button("Reset and Forget All"))
{
foreach (var preferenceDefinition in preferenceDefinitions)
{
var oldValue = preferenceDefinition.GetEditorPersistedValueOrDefault();
EditorPrefs.DeleteKey(preferenceDefinition.PreferenceKey);
GlobalPrefKeyToValueMap[preferenceDefinition.PreferenceKey] = preferenceDefinition.DefaultValue;
preferenceDefinition?.HandleOnEditorPersistedValueChange?.Invoke(preferenceDefinition.DefaultValue, oldValue);
}
}
EditorGUILayout.EndHorizontal();
EditorGUIUtility.labelWidth = previousLabelWidth;
}
public static void RenderGuiAndPersistInput(ProjectEditorPreferenceDefinitionBase preferenceDefinition)
=> RenderGuiAndPersistInput(preferenceDefinition, null, new GUILayoutOption[0]);
public static void RenderGuiAndPersistInput(ProjectEditorPreferenceDefinitionBase preferenceDefinition, GUIStyle style, params GUILayoutOption[] layoutOptions)
{
EditorGUI.BeginChangeCheck();
if (!GlobalPrefKeyToValueMap.TryGetValue(preferenceDefinition.PreferenceKey, out var currentValue))
{
currentValue = preferenceDefinition.GetEditorPersistedValueOrDefault();
}
var newValue = preferenceDefinition.RenderEditorAndCaptureInput(currentValue, style, layoutOptions);
GlobalPrefKeyToValueMap[preferenceDefinition.PreferenceKey] = newValue;
if (EditorGUI.EndChangeCheck())
{
preferenceDefinition.SetEditorPersistedValue(newValue);
}
}
//v0.1
public static void RenderURL(string name, string URL)
{
EditorGUI.BeginChangeCheck();
//new OpenUrlButton("Email", $"mailto:artengames@gmail.com");
if (GUILayout.Button(name))
{
Application.OpenURL(URL);
}
//if (!GlobalPrefKeyToValueMap.TryGetValue(preferenceDefinition.PreferenceKey, out var currentValue))
//{
// currentValue = preferenceDefinition.GetEditorPersistedValueOrDefault();
//}
//var newValue = preferenceDefinition.RenderEditorAndCaptureInput(currentValue, style, layoutOptions);
//GlobalPrefKeyToValueMap[preferenceDefinition.PreferenceKey] = newValue;
if (EditorGUI.EndChangeCheck())
{
// preferenceDefinition.SetEditorPersistedValue(newValue);
}
}
public static void LoadDefaults(List<ProjectEditorPreferenceDefinitionBase> preferenceDefinitions)
{
foreach (var preferenceDefinition in preferenceDefinitions)
{
GlobalPrefKeyToValueMap[preferenceDefinition.PreferenceKey] = preferenceDefinition.GetEditorPersistedValueOrDefault();
}
}
protected static SettingsProvider GenerateProvider(string productName, string[] productKeywords, Action renderGuiFn)
{
var provider = new SettingsProvider($"Preferences/{productName}", SettingsScope.User)
{
guiHandler = (string searchContext) => { renderGuiFn(); },
keywords = new HashSet<string>(productKeywords),
};
return provider;
}
public static EnumProjectEditorPreferenceDefinition CreateDefaultShowOptionPreferenceDefinition()
{
return new EnumProjectEditorPreferenceDefinition("Show start screen on Unity launch",
"StartUpShowOption",
StartupShowMode.OnNewUpdate,
typeof(StartupShowMode)
);
}
public static TextProjectEditorPreferenceDefinition CreateDefaultUserIdDefinition(string productName)
{
return new TextProjectEditorPreferenceDefinition("Unique User Id",
"UserId",
Guid.NewGuid().ToString()
).AsGlobal<TextProjectEditorPreferenceDefinition>(productName);
}
public static TextProjectEditorPreferenceDefinition CreateDefaultLastUpdateText()
{
return new TextProjectEditorPreferenceDefinition("Last Update Text",
"LastUpdateText",
string.Empty
);
}
public enum StartupShowMode
{
Never,
OnNewUpdate,
Always
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: ecda4ede7ecc3f244ae7fad4fb67ad7f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,337 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Artngame.CommonTools.WelcomeScreen.GuiElements;
using UnityEditor;
using UnityEngine;
namespace Artngame.CommonTools.WelcomeScreen
{
public abstract class ProductWelcomeScreenBase : EditorWindow
{
public abstract string WindowTitle { get; }
public abstract Vector2 WindowSizePx { get; }
private string _showAtStartupPreferenceKey;
protected string ShowAtStartupPreferenceKey => _showAtStartupPreferenceKey ?? (_showAtStartupPreferenceKey = ProductPreferenceBase.CreateDefaultShowOptionPreferenceDefinition().PreferenceKey);
public GUIStyle LabelStyle { get; private set; }
public GUIStyle BoldTextStyle { get; private set; }
public GUIStyle ButtonStyle { get; private set; }
public GUIStyle LinkStyle { get; private set; }
public GUIStyle LabelSubTextStyle { get; private set; }
public GUIStyle TextStyle { get; private set; }
private ProductPreferenceBase.StartupShowMode _startupStartupShowMode;
private GUIContent _productIcon;
public GUIContent _productIconGIProxy;
public GUIContent _productIconSkyMaster;
public GUIContent _productIconInfiniGRASS;
public GUIContent _productIconORION;
public GUIContent _productIconETHEREAL;
public GUIContent _productIconInfiniTREE;
public GUIContent _productIconInfiniRIVER;
public GUIContent _productIconInfniCLOUD;
public GUIContent _productIconOceanis;
public GUIContent _productIconIvyStudio;
public GUIContent _productIconParticleDynamicMagic;
public GUIContent _productIconGIBLI;
public GUIContent _productIconPANGAEA;
public GUIContent _productIconLUMINA;
public GUIContent _productIconLIQUA;
public GUIContent _productIconInfiniSPLAT;
//v0.1
public Texture2D banners;
private Action<ProductWelcomeScreenBase> _renderMainScrollView;
private Vector2 _scrollPosition = Vector2.zero;
public string LastUpdateText { get; private set; }
public bool IsUpdateTextViewAlreadyPreselected { get; private set; }
private bool _isInitialized = false;
public void OpenWindow()
{
OpenWindow(GetType(), WindowTitle, WindowSizePx);
}
protected static void OpenWindow<TWindowType>(string title, Vector2 windowSizePx) where TWindowType : ProductWelcomeScreenBase
{
OpenWindow(typeof(TWindowType), title, windowSizePx);
}
public static void OpenWindow(Type windowType, string title, Vector2 windowSizePx)
{
var window = GetWindow(windowType, true, title);
window.minSize = windowSizePx;
window.maxSize = windowSizePx;
window.Show();
}
protected void OnEnableCommon(string productIconName)
{
if (!string.IsNullOrEmpty(productIconName) && _productIcon == null)
{
var iconGuid = AssetDatabase.FindAssets("ProductIcon64").FirstOrDefault();
if (!string.IsNullOrEmpty(iconGuid))
{
_productIcon = new GUIContent(AssetDatabase.LoadAssetAtPath<Texture2D>(AssetDatabase.GUIDToAssetPath(iconGuid)));
}
}
}
private void EnsureInitialized()
{
if (_isInitialized) return;
EnsureStylesInitialized();
_startupStartupShowMode = (ProductPreferenceBase.StartupShowMode)EditorPrefs.GetInt(ShowAtStartupPreferenceKey, (int)ProductPreferenceBase.StartupShowMode.Always);
LastUpdateText = ProductPreferenceBase.CreateDefaultLastUpdateText().GetEditorPersistedValueOrDefault() as string;
_isInitialized = true;
}
protected void RenderGUI(List<GuiSection> leftSections, GuiSection topSection, GuiSection bottomSection, ScrollViewGuiSection mainScrollViewGuiSection)
{
EnsureInitialized();
if (_renderMainScrollView == null)
{
_renderMainScrollView = mainScrollViewGuiSection.RenderMainScrollViewSection;
}
EditorGUILayout.BeginHorizontal(GUIStyle.none, GUILayout.ExpandWidth(true));
{
if (leftSections != null && leftSections.Any())
{
EditorGUILayout.BeginVertical(GUILayout.Width(leftSections.First().WidthPx));
foreach (var leftSection in leftSections)
{
{
RenderSectionStart(leftSection);
foreach (var element in leftSection.ClickableElements)
{
var lastUpdateButton = element as LastUpdateButton;
if (lastUpdateButton != null)
{
if (!string.IsNullOrWhiteSpace(LastUpdateText))
{
if (!IsUpdateTextViewAlreadyPreselected)
{
ChangeMainScrollViewRenderFn(lastUpdateButton.RenderMainScrollViewFunction);
IsUpdateTextViewAlreadyPreselected = true;
}
RenderClickableElement(element);
}
}
else
{
RenderClickableElement(element);
}
}
GUILayout.Space(10);
}
}
EditorGUILayout.EndVertical();
}
EditorGUILayout.BeginVertical(GUILayout.Width(topSection.WidthPx), GUILayout.ExpandHeight(true));
{
if (topSection != null)
{
RenderSectionStart(topSection);
if (topSection.ClickableElements.Count > 0)
{
EditorGUILayout.BeginHorizontal(GUILayout.Width(topSection.WidthPx));
{
foreach (var element in topSection.ClickableElements)
{
RenderClickableElement(element);
}
}
EditorGUILayout.EndHorizontal();
}
}
if (mainScrollViewGuiSection != null)
{
RenderSectionStart(mainScrollViewGuiSection);
_scrollPosition = GUILayout.BeginScrollView(_scrollPosition, "ProgressBarBack", GUILayout.ExpandHeight(true), GUILayout.Width(mainScrollViewGuiSection.WidthPx));
_renderMainScrollView(this);
GUILayout.EndScrollView();
}
if (bottomSection != null)
{
EditorGUILayout.BeginHorizontal(GUILayout.Width(bottomSection.WidthPx));
{
EditorGUILayout.BeginVertical();
{
RenderSectionStart(bottomSection);
EditorGUILayout.BeginHorizontal();
{
for (var i = 0; i < bottomSection.ClickableElements.Count; i++)
{
var bottomLink = bottomSection.ClickableElements[i];
if (GUILayout.Button(bottomLink.Text, LinkStyle))
bottomLink.OnClick(this);
if (i < bottomSection.ClickableElements.Count - 1)
{
GUILayout.Label("-");
}
}
}
EditorGUILayout.EndHorizontal();
GUILayout.Space(7);
}
EditorGUILayout.EndVertical();
GUILayout.FlexibleSpace();
EditorGUILayout.BeginVertical();
GUILayout.Space(7);
if (_productIcon != null) GUILayout.Label(_productIcon);
EditorGUILayout.EndVertical();
}
EditorGUILayout.EndHorizontal();
}
}
EditorGUILayout.EndVertical();
}
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal("ProjectBrowserBottomBarBg", GUILayout.ExpandWidth(true), GUILayout.Height(22));
{
GUILayout.FlexibleSpace();
EditorGUI.BeginChangeCheck();
var cache = EditorGUIUtility.labelWidth;
EditorGUIUtility.labelWidth = 100;
_startupStartupShowMode = (ProductPreferenceBase.StartupShowMode)EditorGUILayout.EnumPopup("Show At Startup", _startupStartupShowMode, GUILayout.Width(220));
EditorGUIUtility.labelWidth = cache;
if (EditorGUI.EndChangeCheck())
{
EditorPrefs.SetInt(ShowAtStartupPreferenceKey, (int)_startupStartupShowMode);
}
}
EditorGUILayout.EndHorizontal();
}
private void RenderSectionStart(GuiSectionBase bottomSection)
{
if (!string.IsNullOrEmpty(bottomSection.LabelText)) GUILayout.Label(bottomSection.LabelText, LabelStyle);
if (!string.IsNullOrEmpty(bottomSection.LabelSubText))
{
GUILayout.Label(bottomSection.LabelSubText, LabelSubTextStyle);
}
}
private void RenderClickableElement(ClickableElement clickableElement)
{
GUIContent buttonGuiContent;
if (!string.IsNullOrEmpty(clickableElement.IconName))
{
buttonGuiContent = new GUIContent($" {clickableElement.Text}", EditorGUIUtility.IconContent(clickableElement.IconName).image);
}
else
{
buttonGuiContent = new GUIContent(clickableElement.Text);
}
if (GUILayout.Button(buttonGuiContent, GUILayout.ExpandWidth(true)))
{
clickableElement.OnClick(this);
}
}
public void ChangeMainScrollViewRenderFn(Action<ProductWelcomeScreenBase> renderFn)
{
_renderMainScrollView = renderFn;
}
private void EnsureStylesInitialized()
{
if (LabelStyle == null)
{
LabelStyle = new GUIStyle("BoldLabel")
{
margin = new RectOffset(4, 4, 4, 4),
padding = new RectOffset(2, 2, 2, 2),
fontSize = 13
};
}
if (BoldTextStyle == null)
{
BoldTextStyle = new GUIStyle("BoldLabel")
{
margin = new RectOffset(0, 0, 0, 0),
padding = new RectOffset(2, 2, 2, 2),
fontSize = 13
};
}
if (ButtonStyle == null)
{
ButtonStyle = new GUIStyle(GUI.skin.button)
{
alignment = TextAnchor.MiddleLeft
};
}
if (LinkStyle == null)
{
LinkStyle = new GUIStyle
{
normal = { textColor = new Color(0.2980392f, 0.4901961f, 1f) },
hover = { textColor = Color.white },
active = { textColor = Color.grey },
margin = { top = 3, bottom = 2 }
};
}
if (LabelSubTextStyle == null)
{
LabelSubTextStyle = new GUIStyle("WordWrappedMiniLabel") { padding = { top = -5 } };
}
if (TextStyle == null)
{
TextStyle = new GUIStyle("WordWrappedMiniLabel")
{
padding = { bottom = 5 }
};
}
}
protected static void GenerateCommonWelcomeText(string productName, ProductWelcomeScreenBase screen, string customText = null)
{
GUILayout.Label(
@"Thanks for using ARTnGAME assets!
If at any stage you got some questions or need help please let me know via the Discord channel or Email.
You can always get back to this screen via: Window -> ARTnGAME -> Welcome Screen
"
+ (string.IsNullOrWhiteSpace(customText) ? "" : $"\r\n\r\n{customText}") //+ @"
//Hope the asset will meet your expectations."
.Replace("<ProductName>", productName),
screen.TextStyle, GUILayout.ExpandHeight(true));
}
}
}
@@ -0,0 +1,13 @@
fileFormatVersion: 2
guid: 48733bcf6971b274c8fb4a88d5de8eec
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences:
- m_ViewDataDictionary: {instanceID: 0}
- banners: {fileID: 2800000, guid: 05ba7fc6125fe104bb46feb53793dbc6, type: 3}
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b61ad394b40496141a8ecacc1ca1e5a1
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,33 @@
using System.Collections.Generic;
using System.Linq;
using UnityEditor;
using UnityEngine;
namespace Artngame.CommonTools.WelcomeScreen.Utilities
{
public class AssetPathResolver
{
public static string GetAssetPathRelativeToScript(ScriptableObject scriptableObject)
{
var ms = MonoScript.FromScriptableObject(scriptableObject);
return AssetDatabase.GetAssetPath(ms);
}
public static string GetAssetFolderPathRelativeToScript(ScriptableObject scriptableObject, int folderDistanceFromFileRoot = 0)
{
var scriptAssetPath = GetAssetPathRelativeToScript(scriptableObject);
var slashIndexes = AllIndexesOf(scriptAssetPath, "/").ToList();
return scriptAssetPath.Substring(0, slashIndexes[slashIndexes.Count - 1 - (folderDistanceFromFileRoot)]);
}
private static IEnumerable<int> AllIndexesOf(string str, string searchStr)
{
var minIndex = str.IndexOf(searchStr);
while (minIndex != -1)
{
yield return minIndex;
minIndex = str.IndexOf(searchStr, minIndex + searchStr.Length);
}
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 3f981deec147a024395f022da10f58c1
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,36 @@
using System;
using System.Collections;
using UnityEditor;
namespace Artngame.CommonTools.WelcomeScreen.Utilities
{
public class BackgroundTaskRunner
{
public static void StartBackgroundTask(IEnumerator update, Action end = null)
{
EditorApplication.CallbackFunction closureCallback = null;
closureCallback = () =>
{
try
{
if (update.MoveNext() == false)
{
if (end != null)
end();
EditorApplication.update -= closureCallback;
}
}
catch (Exception ex)
{
if (end != null)
end();
UnityEngine.Debug.LogException(ex);
EditorApplication.update -= closureCallback;
}
};
EditorApplication.update += closureCallback;
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 7c9675852005fd745bc82390bd48627b
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,23 @@
using System.Collections;
using UnityEngine.Networking;
namespace Artngame.CommonTools.WelcomeScreen.Utilities
{
public delegate void HandleHttpRequestResultFn(UnityWebRequest originalRequest, string responseText);
public class HttpRequestManager
{
public static IEnumerator SendRequest(string url, HandleHttpRequestResultFn onResult = null)
{
using (var www = UnityWebRequest.Get(url))
{
yield return www.SendWebRequest();
while (www.isDone == false)
yield return null;
onResult?.Invoke(www, www.downloadHandler.text);
}
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: cc1896e0ae4c86643a4ccde320c92b81
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,60 @@
using System;
using UnityEditor;
using UnityEngine;
namespace Artngame.CommonTools.WelcomeScreen.Utilities
{
public static class LayoutHelper
{
private class HorizontalDisposable : IDisposable
{
public void Dispose()
{
EditorGUILayout.EndHorizontal();
}
}
public static IDisposable Horizontal()
{
EditorGUILayout.BeginHorizontal();
return new HorizontalDisposable();
}
private class LabelWidthDisposable : IDisposable
{
private int _widthPxBeforeChange;
public LabelWidthDisposable(int widthPxBeforeChange)
{
_widthPxBeforeChange = widthPxBeforeChange;
}
public void Dispose()
{
EditorGUIUtility.labelWidth = _widthPxBeforeChange;
}
}
public static IDisposable LabelWidth(int widthPx)
{
var labelWidthDisposable = new LabelWidthDisposable((int)EditorGUIUtility.labelWidth);
EditorGUIUtility.labelWidth = widthPx;
return labelWidthDisposable;
}
public static void TextBoxWithButton(Func<string> getValue, Action<string> setValue, Action onButtonClick, string labelText, string buttonText = "Pick")
{
using (Horizontal())
{
var current = EditorGUILayout.TextField(labelText, getValue());
setValue(current);
if (GUILayout.Button(buttonText, GUILayout.Width(40)))
{
onButtonClick();
}
}
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 19777cfa5f9294745987f6bdce42de23
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,107 @@
using System;
using Artngame.CommonTools.WelcomeScreen.Utilities;
using UnityEditor;
using UnityEngine;
namespace Artngame.CommonTools.WelcomeScreen
{
public delegate void AdditionalOnWindowOpened(bool isFirstRun);
public abstract class WelcomeScreenInitializerBase
{
protected static void HandleUnityStartup(Action openWindow, string getUpdatesUrl, AdditionalOnWindowOpened additionalOnWindowOpen = null)
{
EditorApplication.CallbackFunction handleEditorUpdate = null;
handleEditorUpdate = () =>
{
HandleEditorUpdate(openWindow, getUpdatesUrl, additionalOnWindowOpen);
EditorApplication.update -= handleEditorUpdate;
};
EditorApplication.update += handleEditorUpdate;
}
private static void HandleEditorUpdate(Action openWindow, string getUpdatesUrl, AdditionalOnWindowOpened additionalOnWindowOpen = null)
{
if (!EditorApplication.isPlayingOrWillChangePlaymode)
{
var defaultShowAtStartupPreferenceDefinition = ProductPreferenceBase.CreateDefaultShowOptionPreferenceDefinition();
ProductPreferenceBase.StartupShowMode showWindowOnStartupMode = ProductPreferenceBase.StartupShowMode.Never;
if (!EditorPrefs.HasKey(defaultShowAtStartupPreferenceDefinition.PreferenceKey)) //first run / import
{
showWindowOnStartupMode = (ProductPreferenceBase.StartupShowMode)defaultShowAtStartupPreferenceDefinition.DefaultValue;
defaultShowAtStartupPreferenceDefinition.SetEditorPersistedValue(showWindowOnStartupMode);
OpenWindow(openWindow, additionalOnWindowOpen, true);
if (showWindowOnStartupMode != ProductPreferenceBase.StartupShowMode.Never)
{
GetUpdates(openWindow, getUpdatesUrl);
}
}
else
{
if (Time.realtimeSinceStartup < 10) //static ctor will also be executed on script changes / domain reload, make sure editor is just turned on
{
showWindowOnStartupMode = (ProductPreferenceBase.StartupShowMode)defaultShowAtStartupPreferenceDefinition.GetEditorPersistedValueOrDefault();
if (showWindowOnStartupMode == ProductPreferenceBase.StartupShowMode.Always)
{
OpenWindow(openWindow, additionalOnWindowOpen, false);
}
if (showWindowOnStartupMode != ProductPreferenceBase.StartupShowMode.Never)
{
GetUpdates(openWindow, getUpdatesUrl);
}
}
}
}
}
private static void GetUpdates(Action openWindow, string getUpdatesUrl)
{
if(string.IsNullOrEmpty(getUpdatesUrl)) return;
BackgroundTaskRunner.StartBackgroundTask(HttpRequestManager.SendRequest(getUpdatesUrl, (www, textResult) =>
{
try
{
var update = UpdateData.CreateFromJSON(textResult);
if (update != null)
{
ProductPreferenceBase.CreateDefaultLastUpdateText().SetEditorPersistedValue(update.Text);
if (!string.IsNullOrWhiteSpace(update.Text))
{
openWindow();
}
}
}
catch
{
//don't show error
}
}));
}
private static void OpenWindow(Action openWindow, AdditionalOnWindowOpened additionalOnWindowOpen, bool isFirstRun)
{
openWindow();
additionalOnWindowOpen?.Invoke(isFirstRun);
}
}
[Serializable]
internal class UpdateData
{
public string Text;
public static UpdateData CreateFromJSON(string jsonString)
{
return JsonUtility.FromJson<UpdateData>(jsonString);
}
public UpdateData(string text)
{
Text = text;
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 85bc28fa9b1de9b4abc2becab37ac6b9
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
+21
View File
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2020 Chris Handzlik
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+7
View File
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: db96be96d00bdd74a8905ca418244d61
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: bc1d3fee75dd7fb4a942b01dd46afa14
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 05254599bccab7e44afcdb8eaf524c44
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 10ebbcd9c962c2d44a188482d1e6566f
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+5
View File
@@ -0,0 +1,5 @@
fileFormatVersion: 2
guid: 996ead54ac1e14316a77660d88da206d
folderAsset: yes
DefaultImporter:
userData:

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