diff --git a/contributing.md b/.github/CONTRIBUTING.md similarity index 100% rename from contributing.md rename to .github/CONTRIBUTING.md diff --git a/.github/issue_template.md b/.github/issue_template.md new file mode 100644 index 000000000..7baa95f6f --- /dev/null +++ b/.github/issue_template.md @@ -0,0 +1,16 @@ +Remember, an issue is not the place to ask questions. You can use [Stack Overflow](http://stackoverflow.com/questions/tagged/ibm-watson) for that, or you may want to start a discussion on the [dW Answers](https://developer.ibm.com/answers/questions/ask/?topics=watson). + +Before you open an issue, please check if a similar issue already exists or has been closed before. + +### When reporting a bug, please be sure to include the following: + +- [ ] Start the title with the service name in brackets: `[speech-to-text] websockets...` +- [ ] Steps to reproduce +- [ ] Expected behavior +- [ ] Actual behavior +- [ ] Unity SDK version + +### When you open an issue for a feature request, please add as much detail as possible: +- [ ] A descriptive title starting with the service name +- [ ] A description of the problem you're trying to solve +- [ ] A suggested solution if possible \ No newline at end of file diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 000000000..7bdf8c2b6 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,14 @@ +### Summary + +Provide a general description of the code changes in your pull +request... were there any bugs you had fixed? If so, mention them. If +these bugs have open GitHub issues, be sure to tag them here as well, +to keep the conversation linked together. + +### Other Information + +If there's anything else that's important and relevant to your pull +request, mention that information here. + + +Thanks for contributing to the Watson Developer Cloud! \ No newline at end of file diff --git a/.gitignore b/.gitignore index 00961bad8..30bd99533 100644 --- a/.gitignore +++ b/.gitignore @@ -19,7 +19,7 @@ ExportedObj/ *.user *.unityproj *.booproj - + # ============ # # OS generated # # ============ # @@ -38,3 +38,14 @@ ehthumbs.db /Clients Assets/StreamingAssets/Config.json Assets/StreamingAssets/Config.json.meta +Resources.meta +Scenes.meta +Scripts.meta +ThirdParty.meta +Prefabs.meta +Examples.meta +Docs.meta +Art.meta +LICENSE.meta +CHANGELOG.md.meta +README.md.meta diff --git a/Art/UI/Banner_Watson_element.png.meta b/Art/UI/Banner_Watson_element.png.meta deleted file mode 100644 index 17beaae35..000000000 --- a/Art/UI/Banner_Watson_element.png.meta +++ /dev/null @@ -1,56 +0,0 @@ -fileFormatVersion: 2 -guid: 7ff94ea14c816481191ba8fb97d349a5 -timeCreated: 1449604360 -licenseType: Pro -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 1024 - textureSettings: - filterMode: -1 - aniso: 16 - mipBias: -1 - wrapMode: 1 - nPOTScale: 0 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 8 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Art/UI/Banner_logotype.png.meta b/Art/UI/Banner_logotype.png.meta deleted file mode 100644 index a72d21406..000000000 --- a/Art/UI/Banner_logotype.png.meta +++ /dev/null @@ -1,56 +0,0 @@ -fileFormatVersion: 2 -guid: d5b8d64f6d18844e781d2c63316a810f -timeCreated: 1449604361 -licenseType: Pro -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 256 - textureSettings: - filterMode: -1 - aniso: 16 - mipBias: -1 - wrapMode: 1 - nPOTScale: 0 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 8 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Art/UI/Base_BG.png.meta b/Art/UI/Base_BG.png.meta deleted file mode 100644 index ab37cf16f..000000000 --- a/Art/UI/Base_BG.png.meta +++ /dev/null @@ -1,56 +0,0 @@ -fileFormatVersion: 2 -guid: d2c2efadb47c74652863d505e27fb0cd -timeCreated: 1449607942 -licenseType: Pro -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 2048 - textureSettings: - filterMode: -1 - aniso: 16 - mipBias: -1 - wrapMode: 1 - nPOTScale: 0 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 10, y: 10, z: 10, w: 10} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 8 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Art/UI/Touch_01.png.meta b/Art/UI/Touch_01.png.meta deleted file mode 100644 index e3c336c7c..000000000 --- a/Art/UI/Touch_01.png.meta +++ /dev/null @@ -1,56 +0,0 @@ -fileFormatVersion: 2 -guid: 1ca5291cdab0c7440bf75a4a7a4a3282 -timeCreated: 1445464897 -licenseType: Pro -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - linearTexture: 1 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 128 - textureSettings: - filterMode: -1 - aniso: 1 - mipBias: -1 - wrapMode: 1 - nPOTScale: 0 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 2 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Art/UI/Banner_logotype.png b/Art/UI/banner-logotype.png similarity index 100% rename from Art/UI/Banner_logotype.png rename to Art/UI/banner-logotype.png diff --git a/Resources/WatsonSpriteIcon_32x32.jpg.meta b/Art/UI/banner-logotype.png.meta similarity index 86% rename from Resources/WatsonSpriteIcon_32x32.jpg.meta rename to Art/UI/banner-logotype.png.meta index 3e9abc4c5..54b28ac33 100644 --- a/Resources/WatsonSpriteIcon_32x32.jpg.meta +++ b/Art/UI/banner-logotype.png.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 7fde5f3ff6b64ef4aa5833a3824583d6 -timeCreated: 1443727814 +guid: dcc763001129146f0bd779f1a3f3cee2 +timeCreated: 1461685450 licenseType: Pro TextureImporter: fileIDToRecycleName: {} @@ -17,13 +17,13 @@ TextureImporter: bumpmap: convertToNormalMap: 0 externalNormalMap: 0 - heightScale: .25 + heightScale: 0.25 normalMapFilter: 0 isReadable: 0 grayScaleToAlpha: 0 generateCubemap: 0 cubemapConvolution: 0 - cubemapConvolutionSteps: 8 + cubemapConvolutionSteps: 7 cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 @@ -42,7 +42,7 @@ TextureImporter: spriteExtrude: 1 spriteMeshType: 1 alignment: 0 - spritePivot: {x: .5, y: .5} + spritePivot: {x: 0.5, y: 0.5} spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 alphaIsTransparency: 1 @@ -50,6 +50,7 @@ TextureImporter: buildTargetSettings: [] spriteSheet: sprites: [] + outline: [] spritePackingTag: userData: assetBundleName: diff --git a/Art/UI/Banner_Watson_element.png b/Art/UI/banner-watson-element.png similarity index 100% rename from Art/UI/Banner_Watson_element.png rename to Art/UI/banner-watson-element.png diff --git a/Resources/IBM_Watson_avatar.png.meta b/Art/UI/banner-watson-element.png.meta similarity index 84% rename from Resources/IBM_Watson_avatar.png.meta rename to Art/UI/banner-watson-element.png.meta index 9f73fd393..c084700e3 100644 --- a/Resources/IBM_Watson_avatar.png.meta +++ b/Art/UI/banner-watson-element.png.meta @@ -1,13 +1,13 @@ fileFormatVersion: 2 -guid: ba09d4364d96141a6bd0810e92e245ca -timeCreated: 1449680300 +guid: 1eaeb3a02e12744e5a25a4169c3474a7 +timeCreated: 1461685450 licenseType: Pro TextureImporter: fileIDToRecycleName: {} serializedVersion: 2 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 linearTexture: 0 correctGamma: 0 fadeOut: 0 @@ -17,13 +17,13 @@ TextureImporter: bumpmap: convertToNormalMap: 0 externalNormalMap: 0 - heightScale: .25 + heightScale: 0.25 normalMapFilter: 0 isReadable: 0 grayScaleToAlpha: 0 generateCubemap: 0 cubemapConvolution: 0 - cubemapConvolutionSteps: 8 + cubemapConvolutionSteps: 7 cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 @@ -42,7 +42,7 @@ TextureImporter: spriteExtrude: 1 spriteMeshType: 1 alignment: 0 - spritePivot: {x: .5, y: .5} + spritePivot: {x: 0.5, y: 0.5} spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 alphaIsTransparency: 1 @@ -50,6 +50,7 @@ TextureImporter: buildTargetSettings: [] spriteSheet: sprites: [] + outline: [] spritePackingTag: userData: assetBundleName: diff --git a/Art/UI/Base_BG.png b/Art/UI/base-bg.png similarity index 100% rename from Art/UI/Base_BG.png rename to Art/UI/base-bg.png diff --git a/Resources/WatsonSpriteLogo_506x506.jpg.meta b/Art/UI/base-bg.png.meta similarity index 84% rename from Resources/WatsonSpriteLogo_506x506.jpg.meta rename to Art/UI/base-bg.png.meta index ddaf057cf..bc1ec1e81 100644 --- a/Resources/WatsonSpriteLogo_506x506.jpg.meta +++ b/Art/UI/base-bg.png.meta @@ -1,13 +1,13 @@ fileFormatVersion: 2 -guid: 49650407db276411784727c02c68f0d7 -timeCreated: 1444839633 +guid: 11b8cc94d1829440d972e9e699902f64 +timeCreated: 1461685450 licenseType: Pro TextureImporter: fileIDToRecycleName: {} serializedVersion: 2 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 linearTexture: 0 correctGamma: 0 fadeOut: 0 @@ -17,13 +17,13 @@ TextureImporter: bumpmap: convertToNormalMap: 0 externalNormalMap: 0 - heightScale: .25 + heightScale: 0.25 normalMapFilter: 0 isReadable: 0 grayScaleToAlpha: 0 generateCubemap: 0 cubemapConvolution: 0 - cubemapConvolutionSteps: 8 + cubemapConvolutionSteps: 7 cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 @@ -42,7 +42,7 @@ TextureImporter: spriteExtrude: 1 spriteMeshType: 1 alignment: 0 - spritePivot: {x: .5, y: .5} + spritePivot: {x: 0.5, y: 0.5} spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 alphaIsTransparency: 1 @@ -50,6 +50,7 @@ TextureImporter: buildTargetSettings: [] spriteSheet: sprites: [] + outline: [] spritePackingTag: userData: assetBundleName: diff --git a/Art/UI/icon_Listen.png b/Art/UI/icon-listen.png similarity index 100% rename from Art/UI/icon_Listen.png rename to Art/UI/icon-listen.png diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Unity.png.meta b/Art/UI/icon-listen.png.meta similarity index 83% rename from ThirdParty/TouchScript/Examples/_misc/Textures/Unity.png.meta rename to Art/UI/icon-listen.png.meta index 52166d224..dd48551b5 100644 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Unity.png.meta +++ b/Art/UI/icon-listen.png.meta @@ -1,5 +1,7 @@ fileFormatVersion: 2 -guid: 533b9df4691d947d9921a0053b5ce231 +guid: 33d836f6ce9ea4ce0bdce8f560c6cb61 +timeCreated: 1461685450 +licenseType: Pro TextureImporter: fileIDToRecycleName: {} serializedVersion: 2 @@ -15,17 +17,17 @@ TextureImporter: bumpmap: convertToNormalMap: 0 externalNormalMap: 0 - heightScale: .25 + heightScale: 0.25 normalMapFilter: 0 isReadable: 0 grayScaleToAlpha: 0 generateCubemap: 0 cubemapConvolution: 0 - cubemapConvolutionSteps: 8 + cubemapConvolutionSteps: 7 cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 - maxTextureSize: 1024 + maxTextureSize: 2048 textureSettings: filterMode: -1 aniso: 16 @@ -40,7 +42,7 @@ TextureImporter: spriteExtrude: 1 spriteMeshType: 1 alignment: 0 - spritePivot: {x: .5, y: .5} + spritePivot: {x: 0.5, y: 0.5} spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 alphaIsTransparency: 1 @@ -48,6 +50,7 @@ TextureImporter: buildTargetSettings: [] spriteSheet: sprites: [] + outline: [] spritePackingTag: userData: assetBundleName: diff --git a/Art/UI/icon_Mic.png b/Art/UI/icon-mic.png similarity index 100% rename from Art/UI/icon_Mic.png rename to Art/UI/icon-mic.png diff --git a/Art/UI/icon-mic.png.meta b/Art/UI/icon-mic.png.meta new file mode 100644 index 000000000..48e29aec0 --- /dev/null +++ b/Art/UI/icon-mic.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: 8d57c7de0ca1e49cb8673e786e61d769 +timeCreated: 1461685450 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 16 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 8 + buildTargetSettings: [] + spriteSheet: + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Art/UI/icon_Listen.png.meta b/Art/UI/icon_Listen.png.meta deleted file mode 100644 index e6e8dcdf6..000000000 --- a/Art/UI/icon_Listen.png.meta +++ /dev/null @@ -1,56 +0,0 @@ -fileFormatVersion: 2 -guid: 2fc78218dc80140cf99b81872657dfbc -timeCreated: 1449097492 -licenseType: Pro -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 256 - textureSettings: - filterMode: -1 - aniso: 16 - mipBias: -1 - wrapMode: 1 - nPOTScale: 0 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 8 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Art/UI/icon_Mic.png.meta b/Art/UI/icon_Mic.png.meta deleted file mode 100644 index 2ea2fa496..000000000 --- a/Art/UI/icon_Mic.png.meta +++ /dev/null @@ -1,56 +0,0 @@ -fileFormatVersion: 2 -guid: a1df770bebe9f478f932ed6628eeba91 -timeCreated: 1449097493 -licenseType: Pro -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 256 - textureSettings: - filterMode: -1 - aniso: 16 - mipBias: -1 - wrapMode: 1 - nPOTScale: 0 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 8 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Art/UI/Touch_01.png b/Art/UI/touch-01.png similarity index 100% rename from Art/UI/Touch_01.png rename to Art/UI/touch-01.png diff --git a/Art/UI/touch-01.png.meta b/Art/UI/touch-01.png.meta new file mode 100644 index 000000000..5593adcf7 --- /dev/null +++ b/Art/UI/touch-01.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: 22829b69db79e467b9df2b6db9bccdf3 +timeCreated: 1461685450 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 16 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 8 + buildTargetSettings: [] + spriteSheet: + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Art/UI/touch-loader.png b/Art/UI/touch-loader.png new file mode 100755 index 000000000..5c74f6690 Binary files /dev/null and b/Art/UI/touch-loader.png differ diff --git a/Art/UI/touch-loader.png.meta b/Art/UI/touch-loader.png.meta new file mode 100644 index 000000000..7e8b35858 --- /dev/null +++ b/Art/UI/touch-loader.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: 8aedc6fa0ce3248d19e27ab7bb457071 +timeCreated: 1461685450 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 16 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 8 + buildTargetSettings: [] + spriteSheet: + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000..b38beface --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,13 @@ +Change Log +========== + +## Version 0.3.0 + +_2016-04-29_ + + * Fix: Make SDK application agnostic + * Fix: Rewrite README + * New: Added example code snippets showing how to access low level services + * Fix: Restructured SDK to put non-core components in Examples + * Fix: Fixed several usability issues + * Fix: Revised several aspects of the SDK to match the formats of other WDC SDKs \ No newline at end of file diff --git a/Art.meta b/Examples/ServiceExamples.meta similarity index 67% rename from Art.meta rename to Examples/ServiceExamples.meta index d9ab56d52..4b0dc9fb4 100644 --- a/Art.meta +++ b/Examples/ServiceExamples.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 -guid: 8d5fef441a20341ae818a8cdbaa9f298 +guid: 3cd566b1daf444991929c817b14bf715 folderAsset: yes -timeCreated: 1443021659 +timeCreated: 1461860409 licenseType: Pro DefaultImporter: userData: diff --git a/Examples/ServiceExamples/README.md b/Examples/ServiceExamples/README.md new file mode 100644 index 000000000..ad010dd8b --- /dev/null +++ b/Examples/ServiceExamples/README.md @@ -0,0 +1,7 @@ +# Service Examples + +The example Unity scene contains GameObjects attached with examples on how to access the low level services directly without using Widgets. + +## Usage + +Run the Unity Editor with the desired GameObject enabled. Output will be displayed in the Console. diff --git a/contributing.md.meta b/Examples/ServiceExamples/README.md.meta similarity index 63% rename from contributing.md.meta rename to Examples/ServiceExamples/README.md.meta index 3c6f905f7..0e0dc7568 100644 --- a/contributing.md.meta +++ b/Examples/ServiceExamples/README.md.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: c0be5a6c552bd4243b5a9457d11fb5dd -timeCreated: 1450373231 +guid: 6ee7c508b9c9b44ae8759fa2a5e0124e +timeCreated: 1461936876 licenseType: Pro DefaultImporter: userData: diff --git a/ThirdParty/TouchScript/Examples/General/Camera/Scripts.meta b/Examples/ServiceExamples/Scripts.meta similarity index 67% rename from ThirdParty/TouchScript/Examples/General/Camera/Scripts.meta rename to Examples/ServiceExamples/Scripts.meta index 6f50377d3..3bcbfa5a9 100644 --- a/ThirdParty/TouchScript/Examples/General/Camera/Scripts.meta +++ b/Examples/ServiceExamples/Scripts.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 -guid: 8dc1cb789fdd54b04b2fbb15263255a4 +guid: 735a41f5241c9438f9088c111d00e9c1 folderAsset: yes -timeCreated: 1445028788 +timeCreated: 1461789985 licenseType: Pro DefaultImporter: userData: diff --git a/Examples/ServiceExamples/Scripts/ExampleDIalog.cs b/Examples/ServiceExamples/Scripts/ExampleDIalog.cs new file mode 100644 index 000000000..a4315a396 --- /dev/null +++ b/Examples/ServiceExamples/Scripts/ExampleDIalog.cs @@ -0,0 +1,20 @@ +using UnityEngine; +using IBM.Watson.DeveloperCloud.Services.Dialog.v1; + +public class ExampleDIalog : MonoBehaviour +{ + private Dialog m_Dialog = new Dialog(); + private string m_DialogID = "a4015960-39c2-4d6b-9571-38c74aecfffd"; + + void Start () + { + Debug.Log("User: 'Hello'"); + m_Dialog.Converse(m_DialogID, "Hello", OnConverse); + } + + private void OnConverse(ConverseResponse resp) + { + foreach (string r in resp.response) + Debug.Log("Watson: " + r); + } +} diff --git a/Scripts/Editor/NLCEditor.cs.meta b/Examples/ServiceExamples/Scripts/ExampleDIalog.cs.meta similarity index 75% rename from Scripts/Editor/NLCEditor.cs.meta rename to Examples/ServiceExamples/Scripts/ExampleDIalog.cs.meta index 30e62f135..02dee9cd1 100644 --- a/Scripts/Editor/NLCEditor.cs.meta +++ b/Examples/ServiceExamples/Scripts/ExampleDIalog.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 8575e688cd32fac4d92334ea2cc52782 -timeCreated: 1445208146 +guid: e8b52562568714a48a89536c62fb978e +timeCreated: 1461796905 licenseType: Pro MonoImporter: serializedVersion: 2 diff --git a/Examples/ServiceExamples/Scripts/ExampleLanguageTranslation.cs b/Examples/ServiceExamples/Scripts/ExampleLanguageTranslation.cs new file mode 100644 index 000000000..753bd6aa2 --- /dev/null +++ b/Examples/ServiceExamples/Scripts/ExampleLanguageTranslation.cs @@ -0,0 +1,19 @@ +using UnityEngine; +using IBM.Watson.DeveloperCloud.Services.LanguageTranslation.v1; + +public class ExampleLanguageTranslation : MonoBehaviour { + private LanguageTranslation m_Translate = new LanguageTranslation(); + private string m_PharseToTranslate = "How do I get to the disco?"; + + void Start () + { + Debug.Log("English Phrase to translate: " + m_PharseToTranslate); + m_Translate.GetTranslation(m_PharseToTranslate, "en", "es", OnGetTranslation); + } + + private void OnGetTranslation(Translations translation) + { + if (translation != null && translation.translations.Length > 0) + Debug.Log("Spanish Translation: " + translation.translations[0].translation); + } +} diff --git a/Scripts/Utilities/AppController.cs.meta b/Examples/ServiceExamples/Scripts/ExampleLanguageTranslation.cs.meta similarity index 75% rename from Scripts/Utilities/AppController.cs.meta rename to Examples/ServiceExamples/Scripts/ExampleLanguageTranslation.cs.meta index a106c6606..afcf8378c 100644 --- a/Scripts/Utilities/AppController.cs.meta +++ b/Examples/ServiceExamples/Scripts/ExampleLanguageTranslation.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: eb8b87a232a544917a4739c1c7cafb6a -timeCreated: 1449852869 +guid: d33458a9d3f434f2889ac182de6fa097 +timeCreated: 1461854370 licenseType: Pro MonoImporter: serializedVersion: 2 diff --git a/Examples/ServiceExamples/Scripts/ExampleNaturalLanguageClassifier.cs b/Examples/ServiceExamples/Scripts/ExampleNaturalLanguageClassifier.cs new file mode 100644 index 000000000..a25b9b5b7 --- /dev/null +++ b/Examples/ServiceExamples/Scripts/ExampleNaturalLanguageClassifier.cs @@ -0,0 +1,23 @@ +using UnityEngine; +using IBM.Watson.DeveloperCloud.Services.NaturalLanguageClassifier.v1; + +public class ExampleNaturalLanguageClassifier : MonoBehaviour +{ + private NaturalLanguageClassifier m_NaturalLanguageClassifier = new NaturalLanguageClassifier(); + private string m_ClassifierId = "3a84d1x62-nlc-768"; + private string m_InputString = "Is it hot outside?"; + + void Start () + { + Debug.Log("Input String: " + m_InputString); + m_NaturalLanguageClassifier.Classify(m_ClassifierId, m_InputString, OnClassify); + } + + private void OnClassify(ClassifyResult result) + { + if (result != null) + { + Debug.Log("Classify Result: " + result.top_class); + } + } +} diff --git a/ThirdParty/TouchScript/Examples/General/Camera/Scripts/CameraController.cs.meta b/Examples/ServiceExamples/Scripts/ExampleNaturalLanguageClassifier.cs.meta similarity index 69% rename from ThirdParty/TouchScript/Examples/General/Camera/Scripts/CameraController.cs.meta rename to Examples/ServiceExamples/Scripts/ExampleNaturalLanguageClassifier.cs.meta index 03fe85615..e3cce81ed 100644 --- a/ThirdParty/TouchScript/Examples/General/Camera/Scripts/CameraController.cs.meta +++ b/Examples/ServiceExamples/Scripts/ExampleNaturalLanguageClassifier.cs.meta @@ -1,5 +1,7 @@ fileFormatVersion: 2 -guid: b5f2ff2a908224e94b8dde12c7b83c3d +guid: ad04eacf696634a8398e0edcb39a9f15 +timeCreated: 1461855060 +licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] diff --git a/Examples/ServiceExamples/Scripts/ExampleSpeechToText.cs b/Examples/ServiceExamples/Scripts/ExampleSpeechToText.cs new file mode 100644 index 000000000..98ce38ba9 --- /dev/null +++ b/Examples/ServiceExamples/Scripts/ExampleSpeechToText.cs @@ -0,0 +1,29 @@ +using UnityEngine; +using IBM.Watson.DeveloperCloud.Services.SpeechToText.v1; + +public class ExampleSpeechToText : MonoBehaviour +{ + [SerializeField] + private AudioClip m_AudioClip = new AudioClip(); + private SpeechToText m_SpeechToText = new SpeechToText(); + + void Start() + { + m_SpeechToText.Recognize(m_AudioClip, HandleOnRecognize); + } + + void HandleOnRecognize (SpeechResultList result) + { + if (result != null && result.Results.Length > 0) + { + foreach( var res in result.Results ) + { + foreach( var alt in res.Alternatives ) + { + string text = alt.Transcript; + Debug.Log(string.Format( "{0} ({1}, {2:0.00})\n", text, res.Final ? "Final" : "Interim", alt.Confidence)); + } + } + } + } +} diff --git a/Examples/ServiceExamples/Scripts/ExampleSpeechToText.cs.meta b/Examples/ServiceExamples/Scripts/ExampleSpeechToText.cs.meta new file mode 100644 index 000000000..14da796ac --- /dev/null +++ b/Examples/ServiceExamples/Scripts/ExampleSpeechToText.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 26bb17691cf8f4f44ad0b84e5d240b8f +timeCreated: 1461790001 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Examples/ServiceExamples/Scripts/ExampleTextToSpeech.cs b/Examples/ServiceExamples/Scripts/ExampleTextToSpeech.cs new file mode 100644 index 000000000..61599e871 --- /dev/null +++ b/Examples/ServiceExamples/Scripts/ExampleTextToSpeech.cs @@ -0,0 +1,34 @@ +using UnityEngine; +using IBM.Watson.DeveloperCloud.Services.TextToSpeech.v1; + +public class ExampleTextToSpeech : MonoBehaviour +{ + TextToSpeech m_TextToSpeech = new TextToSpeech(); + string m_TestString = "Hello! This is Text to Speech!"; + + void Start () + { + m_TextToSpeech.Voice = VoiceType.en_GB_Kate; + m_TextToSpeech.ToSpeech(m_TestString, HandleToSpeechCallback); + } + + void HandleToSpeechCallback (AudioClip clip) + { + PlayClip(clip); + } + + private void PlayClip(AudioClip clip) + { + if (Application.isPlaying && clip != null) + { + GameObject audioObject = new GameObject("AudioObject"); + AudioSource source = audioObject.AddComponent(); + source.spatialBlend = 0.0f; + source.loop = false; + source.clip = clip; + source.Play(); + + GameObject.Destroy(audioObject, clip.length); + } + } +} diff --git a/Examples/ServiceExamples/Scripts/ExampleTextToSpeech.cs.meta b/Examples/ServiceExamples/Scripts/ExampleTextToSpeech.cs.meta new file mode 100644 index 000000000..6c4478fe0 --- /dev/null +++ b/Examples/ServiceExamples/Scripts/ExampleTextToSpeech.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: fbd939a6f78384e5898a22dda7832b0a +timeCreated: 1461795926 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Examples/ServiceExamples/ServiceExamples.unity b/Examples/ServiceExamples/ServiceExamples.unity new file mode 100644 index 000000000..688803b65 --- /dev/null +++ b/Examples/ServiceExamples/ServiceExamples.unity @@ -0,0 +1,369 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +SceneSettings: + m_ObjectHideFlags: 0 + m_PVSData: + m_PVSObjectsArray: [] + m_PVSPortalsArray: [] + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 6 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 6 + m_GIWorkflowMode: 0 + m_LightmapsMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 3 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AOMaxDistance: 1 + m_Padding: 2 + m_CompAOExponent: 0 + m_LightmapParameters: {fileID: 0} + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_LightingDataAsset: {fileID: 0} + m_RuntimeCPUUsage: 25 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + accuratePlacement: 0 + minRegionArea: 2 + cellSize: 0.16666667 + manualCellSize: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &525603453 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 525603455} + - 114: {fileID: 525603454} + m_Layer: 0 + m_Name: ExampleLanguageTranslation + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &525603454 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 525603453} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d33458a9d3f434f2889ac182de6fa097, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &525603455 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 525603453} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 +--- !u!1 &725710367 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 725710372} + - 20: {fileID: 725710371} + - 124: {fileID: 725710370} + - 92: {fileID: 725710369} + - 81: {fileID: 725710368} + m_Layer: 0 + m_Name: Camera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &725710368 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 725710367} + m_Enabled: 1 +--- !u!92 &725710369 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 725710367} + m_Enabled: 1 +--- !u!124 &725710370 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 725710367} + m_Enabled: 1 +--- !u!20 &725710371 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 725710367} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!4 &725710372 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 725710367} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 +--- !u!1 &1160237478 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1160237480} + - 114: {fileID: 1160237479} + m_Layer: 0 + m_Name: ExampleSpeechToText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1160237479 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1160237478} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 26bb17691cf8f4f44ad0b84e5d240b8f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_AudioClip: {fileID: 8300000, guid: cadfc5e81f3b044c991111dd1cf1b3e5, type: 3} +--- !u!4 &1160237480 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1160237478} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -789.9044, y: -909.0576, z: -22.659044} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!1 &1194016994 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1194016996} + - 114: {fileID: 1194016995} + m_Layer: 0 + m_Name: ExampleNaturalLanguageClassifier + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &1194016995 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1194016994} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ad04eacf696634a8398e0edcb39a9f15, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &1194016996 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1194016994} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 +--- !u!1 &1740459831 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1740459833} + - 114: {fileID: 1740459832} + m_Layer: 0 + m_Name: ExampleTextToSpeech + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &1740459832 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1740459831} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fbd939a6f78384e5898a22dda7832b0a, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &1740459833 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1740459831} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 +--- !u!1 &1979050314 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1979050316} + - 114: {fileID: 1979050315} + m_Layer: 0 + m_Name: ExampleDialog + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &1979050315 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1979050314} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e8b52562568714a48a89536c62fb978e, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &1979050316 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1979050314} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 diff --git a/readme.md.meta b/Examples/ServiceExamples/ServiceExamples.unity.meta similarity index 63% rename from readme.md.meta rename to Examples/ServiceExamples/ServiceExamples.unity.meta index e417f6e8c..373b2501c 100644 --- a/readme.md.meta +++ b/Examples/ServiceExamples/ServiceExamples.unity.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: fcae0108ad36266468bc7fc0f190b7e7 -timeCreated: 1450379885 +guid: f071e390901ee4f2cb5e772675038117 +timeCreated: 1461791007 licenseType: Pro DefaultImporter: userData: diff --git a/Docs.meta b/Examples/ServiceExamples/TestData.meta similarity index 67% rename from Docs.meta rename to Examples/ServiceExamples/TestData.meta index 36b6995a5..a2166c56f 100644 --- a/Docs.meta +++ b/Examples/ServiceExamples/TestData.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 -guid: e417020c2812e80439bb1a723e82f904 +guid: fd2968ba73fb4478db2bb1c4a0c38d42 folderAsset: yes -timeCreated: 1450373231 +timeCreated: 1461793982 licenseType: Pro DefaultImporter: userData: diff --git a/Examples/ServiceExamples/TestData/test-audio.wav b/Examples/ServiceExamples/TestData/test-audio.wav new file mode 100644 index 000000000..9d05a7853 Binary files /dev/null and b/Examples/ServiceExamples/TestData/test-audio.wav differ diff --git a/Examples/ServiceExamples/TestData/test-audio.wav.meta b/Examples/ServiceExamples/TestData/test-audio.wav.meta new file mode 100644 index 000000000..433a6c2dd --- /dev/null +++ b/Examples/ServiceExamples/TestData/test-audio.wav.meta @@ -0,0 +1,22 @@ +fileFormatVersion: 2 +guid: cadfc5e81f3b044c991111dd1cf1b3e5 +timeCreated: 1461794719 +licenseType: Pro +AudioImporter: + serializedVersion: 6 + defaultSettings: + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + preloadAudioData: 1 + loadInBackground: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Prefabs.meta b/Examples/WidgetExamples.meta similarity index 67% rename from Prefabs.meta rename to Examples/WidgetExamples.meta index b68e335d3..a09c43e49 100644 --- a/Prefabs.meta +++ b/Examples/WidgetExamples.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 -guid: 7bffc4699dc4d466298e5d52ad6480c2 +guid: b03b85cfc783e465aa1c0617c5e17ea6 folderAsset: yes -timeCreated: 1442862883 +timeCreated: 1461861865 licenseType: Pro DefaultImporter: userData: diff --git a/Scenes/ExampleDialog.unity b/Examples/WidgetExamples/ExampleDialog.unity similarity index 90% rename from Scenes/ExampleDialog.unity rename to Examples/WidgetExamples/ExampleDialog.unity index 53e22112b..268a2ff6f 100644 --- a/Scenes/ExampleDialog.unity +++ b/Examples/WidgetExamples/ExampleDialog.unity @@ -8,25 +8,25 @@ SceneSettings: m_PVSPortalsArray: [] m_OcclusionBakeSettings: smallestOccluder: 5 - smallestHole: .25 + smallestHole: 0.25 backfaceThreshold: 100 --- !u!104 &2 RenderSettings: m_ObjectHideFlags: 0 serializedVersion: 6 m_Fog: 0 - m_FogColor: {r: .5, g: .5, b: .5, a: 1} + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} m_FogMode: 3 - m_FogDensity: .00999999978 + m_FogDensity: 0.01 m_LinearFogStart: 0 m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: .211999997, g: .226999998, b: .259000003, a: 1} - m_AmbientEquatorColor: {r: .114, g: .125, b: .133000001, a: 1} - m_AmbientGroundColor: {r: .0469999984, g: .0430000015, b: .0350000001, a: 1} + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} m_AmbientIntensity: 1 m_AmbientMode: 0 m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} - m_HaloStrength: .5 + m_HaloStrength: 0.5 m_FlareStrength: 1 m_FlareFadeSpeed: 3 m_HaloTexture: {fileID: 0} @@ -40,7 +40,7 @@ RenderSettings: --- !u!157 &3 LightmapSettings: m_ObjectHideFlags: 0 - serializedVersion: 5 + serializedVersion: 6 m_GIWorkflowMode: 0 m_LightmapsMode: 1 m_GISettings: @@ -66,7 +66,7 @@ LightmapSettings: m_FinalGather: 0 m_FinalGatherRayCount: 1024 m_ReflectionCompression: 2 - m_LightmapSnapshot: {fileID: 0} + m_LightingDataAsset: {fileID: 0} m_RuntimeCPUUsage: 25 --- !u!196 &4 NavMeshSettings: @@ -74,18 +74,18 @@ NavMeshSettings: m_ObjectHideFlags: 0 m_BuildSettings: serializedVersion: 2 - agentRadius: .5 + agentRadius: 0.5 agentHeight: 2 agentSlope: 45 - agentClimb: .400000006 + agentClimb: 0.4 ledgeDropHeight: 0 maxJumpAcrossDistance: 0 accuratePlacement: 0 minRegionArea: 2 - cellSize: .166666672 + cellSize: 0.16666667 manualCellSize: 0 m_NavMeshData: {fileID: 0} ---- !u!1001 &2042197488 +--- !u!1001 &1061661902 Prefab: m_ObjectHideFlags: 0 serializedVersion: 2 @@ -158,19 +158,19 @@ Prefab: objectReference: {fileID: 0} - target: {fileID: 22405972, guid: 80822ffe4432d524fbb7f933cbc72376, type: 2} propertyPath: m_Pivot.x - value: .5 + value: 0.5 objectReference: {fileID: 0} - target: {fileID: 22405972, guid: 80822ffe4432d524fbb7f933cbc72376, type: 2} propertyPath: m_Pivot.y - value: .5 + value: 0.5 objectReference: {fileID: 0} - target: {fileID: 22443224, guid: 80822ffe4432d524fbb7f933cbc72376, type: 2} propertyPath: m_AnchorMax.x - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 22443224, guid: 80822ffe4432d524fbb7f933cbc72376, type: 2} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} m_RemovedComponents: [] m_ParentPrefab: {fileID: 100100000, guid: 80822ffe4432d524fbb7f933cbc72376, type: 2} diff --git a/Scenes/ExampleDialog.unity.meta b/Examples/WidgetExamples/ExampleDialog.unity.meta similarity index 100% rename from Scenes/ExampleDialog.unity.meta rename to Examples/WidgetExamples/ExampleDialog.unity.meta diff --git a/Scenes/ExampleTranslation.unity b/Examples/WidgetExamples/ExampleLanguageTranslation.unity similarity index 92% rename from Scenes/ExampleTranslation.unity rename to Examples/WidgetExamples/ExampleLanguageTranslation.unity index 788c7c8f4..d07d854cb 100644 --- a/Scenes/ExampleTranslation.unity +++ b/Examples/WidgetExamples/ExampleLanguageTranslation.unity @@ -85,7 +85,7 @@ NavMeshSettings: cellSize: 0.16666667 manualCellSize: 0 m_NavMeshData: {fileID: 0} ---- !u!1001 &61850556 +--- !u!1001 &2091643909 Prefab: m_ObjectHideFlags: 0 serializedVersion: 2 @@ -158,19 +158,11 @@ Prefab: objectReference: {fileID: 0} - target: {fileID: 22495556, guid: a3d494ba4406e9f488a9bc4fb7d7511a, type: 2} propertyPath: m_Pivot.x - value: .5 + value: 0.5 objectReference: {fileID: 0} - target: {fileID: 22495556, guid: a3d494ba4406e9f488a9bc4fb7d7511a, type: 2} propertyPath: m_Pivot.y - value: .5 - objectReference: {fileID: 0} - - target: {fileID: 8288762, guid: a3d494ba4406e9f488a9bc4fb7d7511a, type: 2} - propertyPath: panLevelCustomCurve.m_RotationOrder - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8288762, guid: a3d494ba4406e9f488a9bc4fb7d7511a, type: 2} - propertyPath: reverbZoneMixCustomCurve.m_RotationOrder - value: 0 + value: 0.5 objectReference: {fileID: 0} m_RemovedComponents: [] m_ParentPrefab: {fileID: 100100000, guid: a3d494ba4406e9f488a9bc4fb7d7511a, type: 2} diff --git a/Scenes/ExampleTranslation.unity.meta b/Examples/WidgetExamples/ExampleLanguageTranslation.unity.meta similarity index 100% rename from Scenes/ExampleTranslation.unity.meta rename to Examples/WidgetExamples/ExampleLanguageTranslation.unity.meta diff --git a/ThirdParty/TouchScript/Examples/General/Colors/Prefabs.meta b/Examples/WidgetExamples/Prefabs.meta similarity index 67% rename from ThirdParty/TouchScript/Examples/General/Colors/Prefabs.meta rename to Examples/WidgetExamples/Prefabs.meta index 75174263b..9dafd9c30 100644 --- a/ThirdParty/TouchScript/Examples/General/Colors/Prefabs.meta +++ b/Examples/WidgetExamples/Prefabs.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 -guid: 5700b326924fb499da426876f88958f1 +guid: 2b09ae57d024a465a92d4ea2a7f2e436 folderAsset: yes -timeCreated: 1445028788 +timeCreated: 1461870968 licenseType: Pro DefaultImporter: userData: diff --git a/Scenes/Prefabs/ExampleDialog.prefab b/Examples/WidgetExamples/Prefabs/ExampleDialog.prefab similarity index 86% rename from Scenes/Prefabs/ExampleDialog.prefab rename to Examples/WidgetExamples/Prefabs/ExampleDialog.prefab index f58aad8e6..c6ba8b4c9 100644 --- a/Scenes/Prefabs/ExampleDialog.prefab +++ b/Examples/WidgetExamples/Prefabs/ExampleDialog.prefab @@ -17,25 +17,18 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &106162 +--- !u!1 &105264 GameObject: - m_ObjectHideFlags: 0 + m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} serializedVersion: 4 m_Component: - - 4: {fileID: 431112} - - 114: {fileID: 11419018} - - 114: {fileID: 11434640} - - 114: {fileID: 11493232} - - 114: {fileID: 11459970} - - 114: {fileID: 11484508} - - 114: {fileID: 11446202} - - 114: {fileID: 11444122} - - 114: {fileID: 11483720} - - 114: {fileID: 11418290} + - 224: {fileID: 22401184} + - 114: {fileID: 11419848} + - 223: {fileID: 22374700} m_Layer: 0 - m_Name: TouchManager + m_Name: Touch Visualizer Watson m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -61,22 +54,6 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &117636 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 4 - m_Component: - - 4: {fileID: 485576} - - 114: {fileID: 11446738} - m_Layer: 0 - m_Name: Touch Debugger - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 --- !u!1 &121648 GameObject: m_ObjectHideFlags: 0 @@ -147,20 +124,25 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &142284 +--- !u!1 &142112 GameObject: - m_ObjectHideFlags: 1 + m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} serializedVersion: 4 m_Component: - - 4: {fileID: 482186} - - 114: {fileID: 11495646} - - 114: {fileID: 11482554} - - 114: {fileID: 11430908} - - 114: {fileID: 11462346} + - 4: {fileID: 457690} + - 114: {fileID: 11464924} + - 114: {fileID: 11486080} + - 114: {fileID: 11498926} + - 114: {fileID: 11429518} + - 114: {fileID: 11423780} + - 114: {fileID: 11418448} + - 114: {fileID: 11434200} + - 114: {fileID: 11404666} + - 114: {fileID: 11471420} m_Layer: 0 - m_Name: Inputs + m_Name: TouchManager m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -284,17 +266,17 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &177210 +--- !u!1 &179638 GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} serializedVersion: 4 m_Component: - - 4: {fileID: 427760} - - 114: {fileID: 11451774} - - 114: {fileID: 11407256} - - 114: {fileID: 11423738} + - 4: {fileID: 449170} + - 114: {fileID: 11476968} + - 114: {fileID: 11427686} + - 114: {fileID: 11492042} m_Layer: 0 m_Name: EventSystem m_TagString: Untagged @@ -302,6 +284,23 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!1 &181466 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 481440} + - 114: {fileID: 11477580} + - 114: {fileID: 11406682} + m_Layer: 0 + m_Name: Inputs + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 --- !u!1 &188956 GameObject: m_ObjectHideFlags: 1 @@ -391,86 +390,74 @@ Transform: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 198424} - m_LocalRotation: {x: 0, y: -.819152117, z: 0, w: .573576331} - m_LocalPosition: {x: -484.440674, y: 78.4158325, z: 451.796692} - m_LocalScale: {x: .792079151, y: .792079151, z: .792079151} + m_LocalRotation: {x: 0, y: -0.8191521, z: 0, w: 0.57357633} + m_LocalPosition: {x: -484.44067, y: 78.41583, z: 451.7967} + m_LocalScale: {x: 0.79207915, y: 0.79207915, z: 0.79207915} m_Children: [] m_Father: {fileID: 22405972} m_RootOrder: 1 ---- !u!4 &427760 +--- !u!4 &432042 Transform: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 177210} + m_GameObject: {fileID: 121648} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -319.999969, y: -252.673248, z: 0} - m_LocalScale: {x: .792079151, y: .792079151, z: .792079151} + m_LocalPosition: {x: 160.79207, y: 78.41583, z: 0} + m_LocalScale: {x: 0.79207915, y: 0.79207915, z: 0.79207915} m_Children: [] m_Father: {fileID: 22405972} - m_RootOrder: 4 ---- !u!4 &431112 + m_RootOrder: 2 +--- !u!4 &449170 Transform: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 106162} + m_GameObject: {fileID: 179638} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -394.5, y: -222, z: 0} + m_LocalPosition: {x: -299.5, y: -291.5, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 482186} - - {fileID: 485576} - m_Father: {fileID: 22405972} - m_RootOrder: 3 ---- !u!4 &432042 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 121648} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 160.792068, y: 78.4158325, z: 0} - m_LocalScale: {x: .792079151, y: .792079151, z: .792079151} m_Children: [] m_Father: {fileID: 22405972} - m_RootOrder: 2 + m_RootOrder: 6 --- !u!4 &455470 Transform: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 163452} - m_LocalRotation: {x: 0, y: -.819152117, z: 0, w: .573576331} + m_LocalRotation: {x: 0, y: -0.8191521, z: 0, w: 0.57357633} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 22405972} m_RootOrder: 0 ---- !u!4 &482186 +--- !u!4 &457690 Transform: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 142284} + m_GameObject: {fileID: 142112} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalPosition: {x: -299.5, y: -291.5, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 431112} - m_RootOrder: 0 ---- !u!4 &485576 + m_Children: + - {fileID: 481440} + - {fileID: 22401184} + m_Father: {fileID: 22405972} + m_RootOrder: 5 +--- !u!4 &481440 Transform: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 117636} + m_GameObject: {fileID: 181466} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] - m_Father: {fileID: 431112} - m_RootOrder: 1 + m_Father: {fileID: 457690} + m_RootOrder: 0 --- !u!4 &495908 Transform: m_ObjectHideFlags: 1 @@ -478,11 +465,11 @@ Transform: m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 126534} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -320, y: -478.870605, z: -15.0588236} - m_LocalScale: {x: 1.50588238, y: 1.50588238, z: 1.50588238} + m_LocalPosition: {x: -320, y: -478.8706, z: -15.058824} + m_LocalScale: {x: 1.5058824, y: 1.5058824, z: 1.5058824} m_Children: [] m_Father: {fileID: 22405972} - m_RootOrder: 5 + m_RootOrder: 3 --- !u!20 &2042426 Camera: m_ObjectHideFlags: 1 @@ -492,14 +479,14 @@ Camera: m_Enabled: 1 serializedVersion: 2 m_ClearFlags: 2 - m_BackGroundColor: {r: 0, g: 0, b: 0, a: .0196078438} + m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0.019607844} m_NormalizedViewPortRect: serializedVersion: 2 x: 0 y: 0 width: 1 height: 1 - near clip plane: .300000012 + near clip plane: 0.3 far clip plane: 1000 field of view: 60 orthographic: 0 @@ -515,7 +502,7 @@ Camera: m_HDR: 0 m_OcclusionCulling: 1 m_StereoConvergence: 10 - m_StereoSeparation: .0219999999 + m_StereoSeparation: 0.022 m_StereoMirrorMode: 0 --- !u!81 &8111168 AudioListener: @@ -564,6 +551,7 @@ AudioSource: tangentMode: 0 m_PreInfinity: 2 m_PostInfinity: 2 + m_RotationOrder: 4 panLevelCustomCurve: serializedVersion: 2 m_Curve: @@ -574,6 +562,7 @@ AudioSource: tangentMode: 0 m_PreInfinity: 2 m_PostInfinity: 2 + m_RotationOrder: 0 spreadCustomCurve: serializedVersion: 2 m_Curve: @@ -584,6 +573,7 @@ AudioSource: tangentMode: 0 m_PreInfinity: 2 m_PostInfinity: 2 + m_RotationOrder: 4 reverbZoneMixCustomCurve: serializedVersion: 2 m_Curve: @@ -594,6 +584,7 @@ AudioSource: tangentMode: 0 m_PreInfinity: 2 m_PostInfinity: 2 + m_RotationOrder: 0 --- !u!82 &8234146 AudioSource: m_ObjectHideFlags: 1 @@ -634,6 +625,7 @@ AudioSource: tangentMode: 0 m_PreInfinity: 2 m_PostInfinity: 2 + m_RotationOrder: 4 panLevelCustomCurve: serializedVersion: 2 m_Curve: @@ -644,6 +636,7 @@ AudioSource: tangentMode: 0 m_PreInfinity: 2 m_PostInfinity: 2 + m_RotationOrder: 0 spreadCustomCurve: serializedVersion: 2 m_Curve: @@ -654,6 +647,7 @@ AudioSource: tangentMode: 0 m_PreInfinity: 2 m_PostInfinity: 2 + m_RotationOrder: 4 reverbZoneMixCustomCurve: serializedVersion: 2 m_Curve: @@ -664,6 +658,7 @@ AudioSource: tangentMode: 0 m_PreInfinity: 2 m_PostInfinity: 2 + m_RotationOrder: 0 --- !u!92 &9206910 Behaviour: m_ObjectHideFlags: 1 @@ -711,8 +706,8 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: d2c2efadb47c74652863d505e27fb0cd, type: 3} - m_Type: 1 + m_Sprite: {fileID: 21300000, guid: 11b8cc94d1829440d972e9e699902f64, type: 3} + m_Type: 0 m_PreserveAspect: 0 m_FillCenter: 1 m_FillMethod: 4 @@ -731,36 +726,56 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_AutoConnect: 1 + m_ResultOutput: + m_Connections: [] m_StatusText: {fileID: 0} m_DetectSilence: 1 - m_SilenceThreshold: .0299999993 + m_SilenceThreshold: 0.03 m_WordConfidence: 0 m_TimeStamps: 0 m_MaxAlternatives: 1 m_EnableContinous: 1 m_EnableInterimResults: 1 m_Transcript: {fileID: 0} - m_ResultOutput: - m_TargetObject: {fileID: 0} - m_TargetConnection: m_Language: en-US ---- !u!114 &11407256 +--- !u!114 &11404666 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 177210} + m_GameObject: {fileID: 142112} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -839872303, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 141e75b9b7edb42df80a22a14f03ae4b, type: 3} m_Name: m_EditorClassIdentifier: - horizontalAxis: Horizontal - verticalAxis: Vertical - submitButton: Submit - cancelButton: Cancel - inputActionsPerSecond: 10 - repeatDelay: .5 + advancedProps: 0 + minTouches: 0 + maxTouches: 0 + combineTouches: 0 + combineTouchesInterval: 0.3 + useSendMessage: 0 + sendStateChangeMessages: 0 + sendMessageTarget: {fileID: 0} + requireGestureToFail: {fileID: 0} + friendlyGestures: [] + ignoreChildren: 0 +--- !u!114 &11406682 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 181466} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 33cbf52dea18b40649d742b0c6f96d3c, type: 3} + m_Name: + m_EditorClassIdentifier: + advancedProps: 0 + DisableOnNonTouchPlatforms: 1 + Tags: + tagList: + - Touch --- !u!114 &11408366 MonoBehaviour: m_ObjectHideFlags: 1 @@ -800,13 +815,12 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_AutoConnect: 1 - m_DialogName: 429010086e6a4000826b6d0e - m_AutoUploadDialog: /Watson/Editor/TestData/pizza_sample.xml + m_ResultOutput: + m_Connections: [] + m_DialogName: unity-sdk-test-dialog + m_AutoUploadDialog: /Watson/Scripts/Editor/TestData/pizza_sample.xml m_DialogLayout: {fileID: 11486604} m_ScrollRect: {fileID: 11427780} - m_ResultOutput: - m_TargetObject: {fileID: 0} - m_TargetConnection: TextToSpeech/Text m_QuestionPrefab: {fileID: 191706, guid: cb00305fa9669490fbe502513d85728d, type: 2} m_AnswerPrefab: {fileID: 197462, guid: cc807e1eadf1f44ad8185ecbe083364d, type: 2} m_HistoryCount: 50 @@ -829,7 +843,7 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 7ff94ea14c816481191ba8fb97d349a5, type: 3} + m_Sprite: {fileID: 21300000, guid: 1eaeb3a02e12744e5a25a4169c3474a7, type: 3} m_Type: 0 m_PreserveAspect: 1 m_FillCenter: 1 @@ -837,60 +851,71 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 ---- !u!114 &11418290 +--- !u!114 &11418448 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 106162} + m_GameObject: {fileID: 142112} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1235405773, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 7a878a6ff128243dfb1d89ca0273f059, type: 3} m_Name: m_EditorClassIdentifier: advancedProps: 0 minTouches: 0 maxTouches: 0 combineTouches: 0 - combineTouchesInterval: .300000012 + combineTouchesInterval: 0.3 useSendMessage: 0 sendStateChangeMessages: 0 sendMessageTarget: {fileID: 0} requireGestureToFail: {fileID: 0} friendlyGestures: - - {fileID: 11446202} - numberOfTapsRequired: 3 - timeLimit: .699999988 - distanceLimit: .300000012 ---- !u!114 &11419018 + - {fileID: 11471420} + numberOfTapsRequired: 1 + timeLimit: Infinity + distanceLimit: Infinity +--- !u!114 &11419848 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 106162} + m_GameObject: {fileID: 105264} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1ce6f84be69c24efc9afd3dac982cdfd, type: 3} + m_Script: {fileID: 11500000, guid: 75324aa372886435faa21a4145210f8e, type: 3} m_Name: m_EditorClassIdentifier: - m_TapGesture: {fileID: 11446202} - m_ThreeTapGesture: {fileID: 11418290} - m_OneFingerMoveGesture: {fileID: 11459970} - m_TwoFingerMoveGesture: {fileID: 11484508} - m_PressGesture: {fileID: 11444122} - m_ReleaseGesture: {fileID: 11483720} ---- !u!114 &11423738 + touchProxy: {fileID: 11425240, guid: a4bbcb7dfeb4c1d4bb6557cd44ac80da, type: 2} + showTouchId: 1 + showTags: 1 + useDPI: 1 + touchSize: 1 +--- !u!114 &11423780 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 177210} + m_GameObject: {fileID: 142112} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1997211142, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Script: {fileID: 11500000, guid: 74ae431eff8434b0897d3f7f1cff4311, type: 3} m_Name: m_EditorClassIdentifier: - m_ForceModuleActive: 0 + advancedProps: 0 + minTouches: 2 + maxTouches: 2 + combineTouches: 0 + combineTouchesInterval: 0.3 + useSendMessage: 0 + sendStateChangeMessages: 0 + sendMessageTarget: {fileID: 0} + requireGestureToFail: {fileID: 0} + friendlyGestures: [] + type: 7 + minScreenPointsDistance: 0.5 + screenTransformThreshold: 0.1 --- !u!114 &11426250 MonoBehaviour: m_ObjectHideFlags: 1 @@ -911,11 +936,11 @@ MonoBehaviour: m_Transition: 1 m_Colors: m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1} - m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1} - m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} m_ColorMultiplier: 1 - m_FadeDuration: .100000001 + m_FadeDuration: 0.1 m_SpriteState: m_HighlightedSprite: {fileID: 0} m_PressedSprite: {fileID: 0} @@ -950,6 +975,23 @@ MonoBehaviour: m_EditorClassIdentifier: m_HorizontalFit: 0 m_VerticalFit: 2 +--- !u!114 &11427686 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 179638} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 797eed971a75647609ca044e7924beb7, type: 3} + m_Name: + m_EditorClassIdentifier: + horizontalAxis: Horizontal + verticalAxis: Vertical + submitButton: Submit + cancelButton: Cancel + inputActionsPerSecond: 10 + repeatDelay: 0.5 --- !u!114 &11427780 MonoBehaviour: m_ObjectHideFlags: 1 @@ -965,9 +1007,9 @@ MonoBehaviour: m_Horizontal: 1 m_Vertical: 1 m_MovementType: 2 - m_Elasticity: .100000001 + m_Elasticity: 0.1 m_Inertia: 1 - m_DecelerationRate: .135000005 + m_DecelerationRate: 0.135 m_ScrollSensitivity: 1 m_Viewport: {fileID: 22491922} m_HorizontalScrollbar: {fileID: 0} @@ -981,104 +1023,52 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.ScrollRect+ScrollRectEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null ---- !u!114 &11430908 +--- !u!114 &11429518 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 142284} + m_GameObject: {fileID: 142112} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -102971247, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 74ae431eff8434b0897d3f7f1cff4311, type: 3} m_Name: m_EditorClassIdentifier: advancedProps: 0 - DisableOnMobilePlatforms: 1 - Tags: - tagList: - - Mouse ---- !u!114 &11434640 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 106162} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -409488130, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - displayDevice: {fileID: 0} - shouldCreateCameraLayer: 1 - useSendMessage: 0 - sendMessageEvents: 60 - sendMessageTarget: {fileID: 0} - layers: - - {fileID: 11493232} ---- !u!114 &11444122 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 106162} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1088824302, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 + minTouches: 1 + maxTouches: 1 combineTouches: 0 - combineTouchesInterval: .300000012 + combineTouchesInterval: 0.3 useSendMessage: 0 sendStateChangeMessages: 0 sendMessageTarget: {fileID: 0} requireGestureToFail: {fileID: 0} friendlyGestures: [] - ignoreChildren: 0 ---- !u!114 &11446202 + type: 1 + minScreenPointsDistance: 0.5 + screenTransformThreshold: 0.1 +--- !u!114 &11434200 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 106162} + m_GameObject: {fileID: 142112} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1235405773, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: c6be551879cd14d739b0188844ef2c60, type: 3} m_Name: m_EditorClassIdentifier: advancedProps: 0 minTouches: 0 maxTouches: 0 combineTouches: 0 - combineTouchesInterval: .300000012 + combineTouchesInterval: 0.3 useSendMessage: 0 sendStateChangeMessages: 0 sendMessageTarget: {fileID: 0} requireGestureToFail: {fileID: 0} - friendlyGestures: - - {fileID: 11418290} - numberOfTapsRequired: 1 - timeLimit: Infinity - distanceLimit: Infinity ---- !u!114 &11446738 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 117636} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 923107734, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - showTouchId: 0 - showTags: 0 - texture: {fileID: 2800000, guid: 1ca5291cdab0c7440bf75a4a7a4a3282, type: 3} - useDPI: 1 - touchSize: 1 - fontColor: {r: 0, g: 1, b: 1, a: 1} + friendlyGestures: [] + ignoreChildren: 0 --- !u!114 &11447940 MonoBehaviour: m_ObjectHideFlags: 1 @@ -1091,20 +1081,6 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_ShowMaskGraphic: 0 ---- !u!114 &11451774 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 177210} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_FirstSelected: {fileID: 0} - m_sendNavigationEvents: 1 - m_DragThreshold: 5 --- !u!114 &11453978 MonoBehaviour: m_ObjectHideFlags: 1 @@ -1145,61 +1121,37 @@ MonoBehaviour: m_EditorClassIdentifier: m_AutoConnect: 1 m_Speaking: - m_TargetObject: {fileID: 0} - m_TargetConnection: Microphone/Disable + m_Connections: [] m_DisableMic: - m_TargetObject: {fileID: 0} - m_TargetConnection: + m_Connections: [] m_LevelOut: - m_TargetObject: {fileID: 0} - m_TargetConnection: - m_LevelOutInterval: .0500000007 + m_Connections: [] + m_LevelOutInterval: 0.05 m_LevelOutputModifier: 12 m_TextToSpeechButton: {fileID: 0} m_Input: {fileID: 0} m_StatusText: {fileID: 0} m_Voice: 3 m_UsePost: 0 ---- !u!114 &11459970 +--- !u!114 &11464924 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 106162} + m_GameObject: {fileID: 142112} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 681217450, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 1 - maxTouches: 1 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 1 - minScreenPointsDistance: .5 - screenTransformThreshold: .200000003 ---- !u!114 &11462346 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 142284} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 770742126, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 1ce6f84be69c24efc9afd3dac982cdfd, type: 3} m_Name: m_EditorClassIdentifier: - advancedProps: 0 - DisableOnNonTouchPlatforms: 1 - Tags: - tagList: - - Touch + m_TapGesture: {fileID: 11418448} + m_DoubleTapGesture: {fileID: 0} + m_ThreeTapGesture: {fileID: 11471420} + m_OneFingerMoveGesture: {fileID: 11429518} + m_TwoFingerMoveGesture: {fileID: 11423780} + m_PressGesture: {fileID: 11434200} + m_ReleaseGesture: {fileID: 11404666} + m_LongPressGesture: {fileID: 0} --- !u!114 &11467332 MonoBehaviour: m_ObjectHideFlags: 1 @@ -1262,7 +1214,7 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: d5b8d64f6d18844e781d2c63316a810f, type: 3} + m_Sprite: {fileID: 21300000, guid: dcc763001129146f0bd779f1a3f3cee2, type: 3} m_Type: 0 m_PreserveAspect: 1 m_FillCenter: 1 @@ -1270,6 +1222,31 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 +--- !u!114 &11471420 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 142112} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7a878a6ff128243dfb1d89ca0273f059, type: 3} + m_Name: + m_EditorClassIdentifier: + advancedProps: 0 + minTouches: 0 + maxTouches: 0 + combineTouches: 0 + combineTouchesInterval: 0.3 + useSendMessage: 0 + sendStateChangeMessages: 0 + sendMessageTarget: {fileID: 0} + requireGestureToFail: {fileID: 0} + friendlyGestures: + - {fileID: 11418448} + numberOfTapsRequired: 3 + timeLimit: 0.7 + distanceLimit: 0.3 --- !u!114 &11476928 MonoBehaviour: m_ObjectHideFlags: 1 @@ -1297,15 +1274,29 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 ---- !u!114 &11482554 +--- !u!114 &11476968 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 142284} + m_GameObject: {fileID: 179638} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 175516946, guid: bb6056dc800c1084da7273cb9f23f5cb, type: 3} + m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 +--- !u!114 &11477580 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 181466} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e276ccba4f7314d9988af19f9b3a611b, type: 3} m_Name: m_EditorClassIdentifier: advancedProps: 0 @@ -1318,6 +1309,13 @@ MonoBehaviour: PenTags: tagList: - Pen + Windows8Touch: 0 + Windows7Touch: 0 + WebPlayerTouch: 1 + WebGLTouch: 1 + Windows8Mouse: 1 + Windows7Mouse: 1 + UniversalWindowsMouse: 1 --- !u!114 &11482964 MonoBehaviour: m_ObjectHideFlags: 1 @@ -1330,7 +1328,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: .809000015} + m_Color: {r: 1, g: 1, b: 1, a: 0.809} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1345,52 +1343,25 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 ---- !u!114 &11483720 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 106162} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 438491968, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - ignoreChildren: 0 ---- !u!114 &11484508 +--- !u!114 &11486080 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 106162} + m_GameObject: {fileID: 142112} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 681217450, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 0dd4c394fe06f4ea49e03aaa5e7a8190, type: 3} m_Name: m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 2 - maxTouches: 2 - combineTouches: 0 - combineTouchesInterval: .300000012 + displayDevice: {fileID: 0} + shouldCreateCameraLayer: 1 + shouldCreateStandardInput: 1 useSendMessage: 0 - sendStateChangeMessages: 0 + sendMessageEvents: 60 sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 7 - minScreenPointsDistance: .5 - screenTransformThreshold: .200000003 + layers: + - {fileID: 11498926} --- !u!114 &11486202 MonoBehaviour: m_ObjectHideFlags: 1 @@ -1403,7 +1374,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: .838235259, g: .838235259, b: .838235259, a: 1} + m_Color: {r: 0.83823526, g: 0.83823526, b: 0.83823526, a: 1} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1418,6 +1389,7 @@ MonoBehaviour: m_MinSize: 10 m_MaxSize: 40 m_Alignment: 2 + m_AlignByGeometry: 0 m_RichText: 1 m_HorizontalOverflow: 0 m_VerticalOverflow: 0 @@ -1455,53 +1427,46 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_AutoConnect: 1 - m_ActivateOnStart: 1 m_AudioOutput: - m_TargetObject: {fileID: 0} - m_TargetConnection: + m_Connections: [] m_LevelOutput: - m_TargetObject: {fileID: 0} - m_TargetConnection: + m_Connections: [] m_ActivateOutput: - m_TargetObject: {fileID: 0} - m_TargetConnection: + m_Connections: [] + m_ActivateOnStart: 1 m_RecordingBufferSize: 2 m_RecordingHZ: 22050 m_MicrophoneID: - m_LevelOutputInterval: .0500000007 + m_LevelOutputInterval: 0.05 m_LevelOutputModifier: 16 m_PlaybackRecording: 0 m_StatusText: {fileID: 0} ---- !u!114 &11493232 +--- !u!114 &11492042 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 106162} + m_GameObject: {fileID: 179638} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1780265814, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 1997211142, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} m_Name: m_EditorClassIdentifier: - Name: Global Fullscreen - type: 2 - _camera: {fileID: 0} ---- !u!114 &11495646 + m_ForceModuleActive: 0 +--- !u!114 &11498926 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 142284} + m_GameObject: {fileID: 142112} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -1496140412, guid: bb6056dc800c1084da7273cb9f23f5cb, type: 3} + m_Script: {fileID: 11500000, guid: bc7fd33c57d694994b0ab9f33fcdcbea, type: 3} m_Name: m_EditorClassIdentifier: - advancedProps: 0 - DisableMouseInputInBuilds: 1 - Tags: - tagList: - - Touch + Name: Global Fullscreen + type: 2 + _camera: {fileID: 0} --- !u!124 &12429074 Behaviour: m_ObjectHideFlags: 1 @@ -1575,6 +1540,25 @@ CanvasRenderer: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 128386} +--- !u!223 &22374700 +Canvas: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 105264} + m_Enabled: 1 + serializedVersion: 2 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_SortingLayerID: 0 + m_SortingOrder: 9000 + m_TargetDisplay: 0 --- !u!223 &22389738 Canvas: m_ObjectHideFlags: 1 @@ -1590,8 +1574,27 @@ Canvas: m_ReceivesEvents: 1 m_OverrideSorting: 0 m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 m_SortingLayerID: 0 m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &22401184 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 105264} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 457690} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} --- !u!224 &22405972 RectTransform: m_ObjectHideFlags: 1 @@ -1605,17 +1608,17 @@ RectTransform: - {fileID: 455470} - {fileID: 413452} - {fileID: 432042} - - {fileID: 431112} - - {fileID: 427760} - {fileID: 495908} - {fileID: 22478346} + - {fileID: 457690} + - {fileID: 449170} m_Father: {fileID: 0} m_RootOrder: 0 m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 299.5, y: 291.5} m_SizeDelta: {x: 599, y: 583} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22434952 RectTransform: m_ObjectHideFlags: 1 @@ -1632,7 +1635,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: -100} m_SizeDelta: {x: -18, y: 3} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22443224 RectTransform: m_ObjectHideFlags: 1 @@ -1649,7 +1652,7 @@ RectTransform: m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22443638 RectTransform: m_ObjectHideFlags: 1 @@ -1668,7 +1671,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22449428 RectTransform: m_ObjectHideFlags: 1 @@ -1686,7 +1689,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22453414 RectTransform: m_ObjectHideFlags: 1 @@ -1706,7 +1709,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22466084 RectTransform: m_ObjectHideFlags: 1 @@ -1724,7 +1727,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 5, y: -3} - m_Pivot: {x: 1, y: .5} + m_Pivot: {x: 1, y: 0.5} --- !u!224 &22468282 RectTransform: m_ObjectHideFlags: 1 @@ -1739,9 +1742,9 @@ RectTransform: m_RootOrder: 0 m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -6.10351562e-05, y: 0} + m_AnchoredPosition: {x: -0.000061035156, y: 0} m_SizeDelta: {x: 0, y: 35} - m_Pivot: {x: .0500000007, y: 2.0999999} + m_Pivot: {x: 0.05, y: 2.1} --- !u!224 &22478346 RectTransform: m_ObjectHideFlags: 1 @@ -1756,7 +1759,7 @@ RectTransform: - {fileID: 22485658} - {fileID: 22497888} m_Father: {fileID: 22405972} - m_RootOrder: 6 + m_RootOrder: 4 m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} @@ -1778,7 +1781,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 80} - m_Pivot: {x: .99000001, y: 1.10000002} + m_Pivot: {x: 0.99, y: 1.1} --- !u!224 &22484440 RectTransform: m_ObjectHideFlags: 1 @@ -1795,7 +1798,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: -20, y: 0} - m_Pivot: {x: .5, y: 1} + m_Pivot: {x: 0.5, y: 1} --- !u!224 &22485658 RectTransform: m_ObjectHideFlags: 1 @@ -1848,7 +1851,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: -60} m_SizeDelta: {x: -40, y: -160} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1001 &100100000 Prefab: m_ObjectHideFlags: 1 diff --git a/Scenes/Prefabs/ExampleDialog.prefab.meta b/Examples/WidgetExamples/Prefabs/ExampleDialog.prefab.meta similarity index 100% rename from Scenes/Prefabs/ExampleDialog.prefab.meta rename to Examples/WidgetExamples/Prefabs/ExampleDialog.prefab.meta diff --git a/Scenes/Prefabs/ExampleTranslation.prefab b/Examples/WidgetExamples/Prefabs/ExampleLanguageTranslation.prefab similarity index 90% rename from Scenes/Prefabs/ExampleTranslation.prefab rename to Examples/WidgetExamples/Prefabs/ExampleLanguageTranslation.prefab index 13c2a05ed..7f387692a 100644 --- a/Scenes/Prefabs/ExampleTranslation.prefab +++ b/Examples/WidgetExamples/Prefabs/ExampleLanguageTranslation.prefab @@ -67,6 +67,23 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!1 &110666 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 419554} + - 114: {fileID: 11461458} + - 114: {fileID: 11400256} + m_Layer: 0 + m_Name: Inputs + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 --- !u!1 &112642 GameObject: m_ObjectHideFlags: 1 @@ -119,25 +136,6 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &120748 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 4 - m_Component: - - 4: {fileID: 407618} - - 114: {fileID: 11441260} - - 114: {fileID: 11449204} - - 114: {fileID: 11466486} - - 114: {fileID: 11492012} - m_Layer: 0 - m_Name: Inputs - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 --- !u!1 &120978 GameObject: m_ObjectHideFlags: 1 @@ -308,6 +306,30 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!1 &137342 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 478430} + - 114: {fileID: 11410710} + - 114: {fileID: 11481174} + - 114: {fileID: 11411122} + - 114: {fileID: 11467878} + - 114: {fileID: 11492616} + - 114: {fileID: 11455074} + - 114: {fileID: 11480846} + - 114: {fileID: 11482444} + - 114: {fileID: 11496318} + m_Layer: 0 + m_Name: TouchManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 --- !u!1 &138550 GameObject: m_ObjectHideFlags: 1 @@ -343,24 +365,6 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &141064 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 4 - m_Component: - - 4: {fileID: 481308} - - 114: {fileID: 11410752} - - 114: {fileID: 11428548} - - 114: {fileID: 11477288} - m_Layer: 0 - m_Name: EventSystem - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 --- !u!1 &141906 GameObject: m_ObjectHideFlags: 1 @@ -410,6 +414,23 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!1 &150438 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22435286} + - 114: {fileID: 11461614} + - 223: {fileID: 22304424} + m_Layer: 0 + m_Name: Touch Visualizer Watson + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 --- !u!1 &151962 GameObject: m_ObjectHideFlags: 0 @@ -419,7 +440,7 @@ GameObject: m_Component: - 224: {fileID: 22495556} m_Layer: 0 - m_Name: ExampleTranslation + m_Name: ExampleLanguageTranslation m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -477,6 +498,24 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!1 &157926 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 405754} + - 114: {fileID: 11441268} + - 114: {fileID: 11453834} + - 114: {fileID: 11420962} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 --- !u!1 &158582 GameObject: m_ObjectHideFlags: 1 @@ -615,22 +654,6 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &183842 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 4 - m_Component: - - 4: {fileID: 493708} - - 114: {fileID: 11453940} - m_Layer: 0 - m_Name: Touch Debugger - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 --- !u!1 &184796 GameObject: m_ObjectHideFlags: 1 @@ -665,30 +688,6 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &192638 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 4 - m_Component: - - 4: {fileID: 497940} - - 114: {fileID: 11488830} - - 114: {fileID: 11402320} - - 114: {fileID: 11439342} - - 114: {fileID: 11403630} - - 114: {fileID: 11420182} - - 114: {fileID: 11431064} - - 114: {fileID: 11418790} - - 114: {fileID: 11464902} - - 114: {fileID: 11432642} - m_Layer: 0 - m_Name: TouchManager - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 --- !u!1 &197606 GameObject: m_ObjectHideFlags: 1 @@ -796,22 +795,34 @@ Transform: m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 163704} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -320, y: -478.870605, z: -15.0588236} - m_LocalScale: {x: 1.50588238, y: 1.50588238, z: 1.50588238} + m_LocalPosition: {x: -320, y: -478.8706, z: -15.058824} + m_LocalScale: {x: 1.5058824, y: 1.5058824, z: 1.5058824} m_Children: [] m_Father: {fileID: 22495556} m_RootOrder: 5 ---- !u!4 &407618 +--- !u!4 &405754 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 157926} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -299.5, y: -291.5, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22495556} + m_RootOrder: 4 +--- !u!4 &419554 Transform: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 120748} + m_GameObject: {fileID: 110666} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] - m_Father: {fileID: 497940} + m_Father: {fileID: 478430} m_RootOrder: 0 --- !u!4 &429362 Transform: @@ -831,7 +842,7 @@ Transform: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 109930} - m_LocalRotation: {x: 0, y: -.819152117, z: 0, w: .573576331} + m_LocalRotation: {x: 0, y: -0.8191521, z: 0, w: 0.57357633} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] @@ -843,48 +854,24 @@ Transform: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 105406} - m_LocalRotation: {x: 0, y: -.819152117, z: 0, w: .573576331} - m_LocalPosition: {x: -207.606384, y: 418, z: 570.393372} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 22495556} - m_RootOrder: 1 ---- !u!4 &481308 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 141064} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalRotation: {x: 0, y: -0.8191521, z: 0, w: 0.57357633} + m_LocalPosition: {x: -207.60638, y: 418, z: 570.3934} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 22495556} - m_RootOrder: 4 ---- !u!4 &493708 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 183842} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 497940} m_RootOrder: 1 ---- !u!4 &497940 +--- !u!4 &478430 Transform: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 192638} + m_GameObject: {fileID: 137342} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -394.5, y: -222, z: 0} + m_LocalPosition: {x: -299.5, y: -291.5, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - - {fileID: 407618} - - {fileID: 493708} + - {fileID: 419554} + - {fileID: 22435286} m_Father: {fileID: 22495556} m_RootOrder: 3 --- !u!20 &2044656 @@ -896,14 +883,14 @@ Camera: m_Enabled: 1 serializedVersion: 2 m_ClearFlags: 2 - m_BackGroundColor: {r: 0, g: 0, b: 0, a: .0196078438} + m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0.019607844} m_NormalizedViewPortRect: serializedVersion: 2 x: 0 y: 0 width: 1 height: 1 - near clip plane: .300000012 + near clip plane: 0.3 far clip plane: 1000 field of view: 60 orthographic: 0 @@ -919,7 +906,7 @@ Camera: m_HDR: 0 m_OcclusionCulling: 1 m_StereoConvergence: 10 - m_StereoSeparation: .0219999999 + m_StereoSeparation: 0.022 m_StereoMirrorMode: 0 --- !u!81 &8173708 AudioListener: @@ -968,6 +955,7 @@ AudioSource: tangentMode: 0 m_PreInfinity: 2 m_PostInfinity: 2 + m_RotationOrder: 4 panLevelCustomCurve: serializedVersion: 2 m_Curve: @@ -978,6 +966,7 @@ AudioSource: tangentMode: 0 m_PreInfinity: 2 m_PostInfinity: 2 + m_RotationOrder: 0 spreadCustomCurve: serializedVersion: 2 m_Curve: @@ -988,6 +977,7 @@ AudioSource: tangentMode: 0 m_PreInfinity: 2 m_PostInfinity: 2 + m_RotationOrder: 4 reverbZoneMixCustomCurve: serializedVersion: 2 m_Curve: @@ -998,6 +988,7 @@ AudioSource: tangentMode: 0 m_PreInfinity: 2 m_PostInfinity: 2 + m_RotationOrder: 0 --- !u!82 &8288762 AudioSource: m_ObjectHideFlags: 1 @@ -1038,6 +1029,7 @@ AudioSource: tangentMode: 0 m_PreInfinity: 2 m_PostInfinity: 2 + m_RotationOrder: 4 panLevelCustomCurve: serializedVersion: 2 m_Curve: @@ -1048,6 +1040,7 @@ AudioSource: tangentMode: 0 m_PreInfinity: 2 m_PostInfinity: 2 + m_RotationOrder: 0 spreadCustomCurve: serializedVersion: 2 m_Curve: @@ -1058,6 +1051,7 @@ AudioSource: tangentMode: 0 m_PreInfinity: 2 m_PostInfinity: 2 + m_RotationOrder: 4 reverbZoneMixCustomCurve: serializedVersion: 2 m_Curve: @@ -1068,6 +1062,7 @@ AudioSource: tangentMode: 0 m_PreInfinity: 2 m_PostInfinity: 2 + m_RotationOrder: 0 --- !u!92 &9251540 Behaviour: m_ObjectHideFlags: 1 @@ -1075,24 +1070,22 @@ Behaviour: m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 163704} m_Enabled: 1 ---- !u!114 &11402320 +--- !u!114 &11400256 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 192638} + m_GameObject: {fileID: 110666} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -409488130, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 33cbf52dea18b40649d742b0c6f96d3c, type: 3} m_Name: m_EditorClassIdentifier: - displayDevice: {fileID: 0} - shouldCreateCameraLayer: 1 - useSendMessage: 0 - sendMessageEvents: 60 - sendMessageTarget: {fileID: 0} - layers: - - {fileID: 11439342} + advancedProps: 0 + DisableOnNonTouchPlatforms: 1 + Tags: + tagList: + - Touch --- !u!114 &11402662 MonoBehaviour: m_ObjectHideFlags: 1 @@ -1105,20 +1098,17 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_AutoConnect: 1 - m_ActivateOnStart: 1 m_AudioOutput: - m_TargetObject: {fileID: 0} - m_TargetConnection: + m_Connections: [] m_LevelOutput: - m_TargetObject: {fileID: 0} - m_TargetConnection: + m_Connections: [] m_ActivateOutput: - m_TargetObject: {fileID: 0} - m_TargetConnection: + m_Connections: [] + m_ActivateOnStart: 1 m_RecordingBufferSize: 2 m_RecordingHZ: 22050 m_MicrophoneID: - m_LevelOutputInterval: .0500000007 + m_LevelOutputInterval: 0.05 m_LevelOutputModifier: 16 m_PlaybackRecording: 0 m_StatusText: {fileID: 0} @@ -1149,30 +1139,6 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 ---- !u!114 &11403630 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 192638} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 681217450, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 1 - maxTouches: 1 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 1 - minScreenPointsDistance: .5 - screenTransformThreshold: .200000003 --- !u!114 &11403732 MonoBehaviour: m_ObjectHideFlags: 1 @@ -1193,11 +1159,11 @@ MonoBehaviour: m_Transition: 1 m_Colors: m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1} - m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1} - m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} m_ColorMultiplier: 1 - m_FadeDuration: .100000001 + m_FadeDuration: 0.1 m_SpriteState: m_HighlightedSprite: {fileID: 0} m_PressedSprite: {fileID: 0} @@ -1212,7 +1178,7 @@ MonoBehaviour: m_HandleRect: {fileID: 22445652} m_Direction: 2 m_Value: 0 - m_Size: .200000003 + m_Size: 0.2 m_NumberOfSteps: 0 m_OnValueChanged: m_PersistentCalls: @@ -1285,7 +1251,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: .196078435, g: .196078435, b: .196078435, a: 1} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1300,11 +1266,31 @@ MonoBehaviour: m_MinSize: 10 m_MaxSize: 40 m_Alignment: 3 + m_AlignByGeometry: 0 m_RichText: 1 m_HorizontalOverflow: 0 m_VerticalOverflow: 0 m_LineSpacing: 1 m_Text: Option A +--- !u!114 &11410710 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 137342} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1ce6f84be69c24efc9afd3dac982cdfd, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TapGesture: {fileID: 11455074} + m_DoubleTapGesture: {fileID: 0} + m_ThreeTapGesture: {fileID: 11496318} + m_OneFingerMoveGesture: {fileID: 11467878} + m_TwoFingerMoveGesture: {fileID: 11492616} + m_PressGesture: {fileID: 11480846} + m_ReleaseGesture: {fileID: 11482444} + m_LongPressGesture: {fileID: 0} --- !u!114 &11410742 MonoBehaviour: m_ObjectHideFlags: 1 @@ -1325,11 +1311,11 @@ MonoBehaviour: m_Transition: 1 m_Colors: m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1} - m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1} - m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} m_ColorMultiplier: 1 - m_FadeDuration: .100000001 + m_FadeDuration: 0.1 m_SpriteState: m_HighlightedSprite: {fileID: 0} m_PressedSprite: {fileID: 0} @@ -1350,20 +1336,20 @@ MonoBehaviour: m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null m_IsOn: 1 ---- !u!114 &11410752 +--- !u!114 &11411122 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 141064} + m_GameObject: {fileID: 137342} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Script: {fileID: 11500000, guid: bc7fd33c57d694994b0ab9f33fcdcbea, type: 3} m_Name: m_EditorClassIdentifier: - m_FirstSelected: {fileID: 0} - m_sendNavigationEvents: 1 - m_DragThreshold: 5 + Name: Global Fullscreen + type: 2 + _camera: {fileID: 0} --- !u!114 &11411452 MonoBehaviour: m_ObjectHideFlags: 1 @@ -1400,9 +1386,9 @@ MonoBehaviour: m_Horizontal: 0 m_Vertical: 1 m_MovementType: 2 - m_Elasticity: .100000001 + m_Elasticity: 0.1 m_Inertia: 1 - m_DecelerationRate: .135000005 + m_DecelerationRate: 0.135 m_ScrollSensitivity: 1 m_Viewport: {fileID: 22470606} m_HorizontalScrollbar: {fileID: 0} @@ -1428,7 +1414,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: .196078435, g: .196078435, b: .196078435, a: 1} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1443,33 +1429,12 @@ MonoBehaviour: m_MinSize: 10 m_MaxSize: 40 m_Alignment: 3 + m_AlignByGeometry: 0 m_RichText: 1 m_HorizontalOverflow: 0 m_VerticalOverflow: 0 m_LineSpacing: 1 m_Text: Loading ---- !u!114 &11418790 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 192638} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1088824302, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - ignoreChildren: 0 --- !u!114 &11419748 MonoBehaviour: m_ObjectHideFlags: 1 @@ -1482,7 +1447,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: .838235259, g: .838235259, b: .838235259, a: 1} + m_Color: {r: 0.83823526, g: 0.83823526, b: 0.83823526, a: 1} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1497,6 +1462,7 @@ MonoBehaviour: m_MinSize: 10 m_MaxSize: 40 m_Alignment: 2 + m_AlignByGeometry: 0 m_RichText: 1 m_HorizontalOverflow: 0 m_VerticalOverflow: 0 @@ -1518,30 +1484,18 @@ MonoBehaviour: m_BlockingMask: serializedVersion: 2 m_Bits: 4294967295 ---- !u!114 &11420182 +--- !u!114 &11420962 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 192638} + m_GameObject: {fileID: 157926} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 681217450, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 1997211142, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} m_Name: m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 2 - maxTouches: 2 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 7 - minScreenPointsDistance: .5 - screenTransformThreshold: .200000003 + m_ForceModuleActive: 0 --- !u!114 &11424264 MonoBehaviour: m_ObjectHideFlags: 1 @@ -1588,7 +1542,7 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 7ff94ea14c816481191ba8fb97d349a5, type: 3} + m_Sprite: {fileID: 21300000, guid: 1eaeb3a02e12744e5a25a4169c3474a7, type: 3} m_Type: 0 m_PreserveAspect: 1 m_FillCenter: 1 @@ -1608,7 +1562,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: .45588237, g: .45588237, b: .45588237, a: 1} + m_Color: {r: 0.45588237, g: 0.45588237, b: 0.45588237, a: 1} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1623,36 +1577,52 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 ---- !u!114 &11428548 +--- !u!114 &11430476 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 141064} + m_GameObject: {fileID: 184796} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -839872303, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} m_Name: m_EditorClassIdentifier: - horizontalAxis: Horizontal - verticalAxis: Vertical - submitButton: Submit - cancelButton: Cancel - inputActionsPerSecond: 10 - repeatDelay: .5 ---- !u!114 &11430476 + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Loading +--- !u!114 &11432754 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 184796} + m_GameObject: {fileID: 153504} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: .196078435, g: .196078435, b: .196078435, a: 1} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1667,102 +1637,21 @@ MonoBehaviour: m_MinSize: 10 m_MaxSize: 40 m_Alignment: 3 + m_AlignByGeometry: 0 m_RichText: 1 m_HorizontalOverflow: 0 m_VerticalOverflow: 0 m_LineSpacing: 1 - m_Text: Loading ---- !u!114 &11431064 + m_Text: Option A +--- !u!114 &11433796 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 192638} + m_GameObject: {fileID: 154634} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1235405773, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: - - {fileID: 11432642} - numberOfTapsRequired: 1 - timeLimit: Infinity - distanceLimit: Infinity ---- !u!114 &11432642 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 192638} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1235405773, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: - - {fileID: 11431064} - numberOfTapsRequired: 3 - timeLimit: .699999988 - distanceLimit: .300000012 ---- !u!114 &11432754 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 153504} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: .196078435, g: .196078435, b: .196078435, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 3 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: Option A ---- !u!114 &11433796 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 154634} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1200242548, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Script: {fileID: -1200242548, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} m_Name: m_EditorClassIdentifier: m_ShowMaskGraphic: 0 @@ -1820,36 +1709,20 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 ---- !u!114 &11439342 +--- !u!114 &11441268 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 192638} + m_GameObject: {fileID: 157926} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1780265814, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - Name: Global Fullscreen - type: 2 - _camera: {fileID: 0} ---- !u!114 &11441260 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 120748} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1496140412, guid: bb6056dc800c1084da7273cb9f23f5cb, type: 3} + m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} m_Name: m_EditorClassIdentifier: - advancedProps: 0 - DisableMouseInputInBuilds: 1 - Tags: - tagList: - - Touch + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 --- !u!114 &11441814 MonoBehaviour: m_ObjectHideFlags: 1 @@ -1924,11 +1797,11 @@ MonoBehaviour: m_Transition: 1 m_Colors: m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1} - m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1} - m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} m_ColorMultiplier: 1 - m_FadeDuration: .100000001 + m_FadeDuration: 0.1 m_SpriteState: m_HighlightedSprite: {fileID: 0} m_PressedSprite: {fileID: 0} @@ -1975,11 +1848,11 @@ MonoBehaviour: m_Transition: 1 m_Colors: m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1} - m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1} - m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} m_ColorMultiplier: 1 - m_FadeDuration: .100000001 + m_FadeDuration: 0.1 m_SpriteState: m_HighlightedSprite: {fileID: 0} m_PressedSprite: {fileID: 0} @@ -1994,34 +1867,13 @@ MonoBehaviour: m_HandleRect: {fileID: 22425154} m_Direction: 2 m_Value: 0 - m_Size: .200000003 + m_Size: 0.2 m_NumberOfSteps: 0 m_OnValueChanged: m_PersistentCalls: m_Calls: [] m_TypeName: UnityEngine.UI.Scrollbar+ScrollEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null ---- !u!114 &11449204 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 120748} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 175516946, guid: bb6056dc800c1084da7273cb9f23f5cb, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - TouchTags: - tagList: - - Touch - MouseTags: - tagList: - - Mouse - PenTags: - tagList: - - Pen --- !u!114 &11453430 MonoBehaviour: m_ObjectHideFlags: 1 @@ -2049,6 +1901,23 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 +--- !u!114 &11453834 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 157926} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 797eed971a75647609ca044e7924beb7, type: 3} + m_Name: + m_EditorClassIdentifier: + horizontalAxis: Horizontal + verticalAxis: Vertical + submitButton: Submit + cancelButton: Cancel + inputActionsPerSecond: 10 + repeatDelay: 0.5 --- !u!114 &11453914 MonoBehaviour: m_ObjectHideFlags: 1 @@ -2064,9 +1933,9 @@ MonoBehaviour: m_Horizontal: 0 m_Vertical: 1 m_MovementType: 2 - m_Elasticity: .100000001 + m_Elasticity: 0.1 m_Inertia: 1 - m_DecelerationRate: .135000005 + m_DecelerationRate: 0.135 m_ScrollSensitivity: 1 m_Viewport: {fileID: 22417920} m_HorizontalScrollbar: {fileID: 0} @@ -2080,23 +1949,6 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.ScrollRect+ScrollRectEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null ---- !u!114 &11453940 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 183842} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 923107734, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - showTouchId: 0 - showTags: 0 - texture: {fileID: 2800000, guid: 1ca5291cdab0c7440bf75a4a7a4a3282, type: 3} - useDPI: 1 - touchSize: 1 - fontColor: {r: 0, g: 1, b: 1, a: 1} --- !u!114 &11454536 MonoBehaviour: m_ObjectHideFlags: 1 @@ -2117,11 +1969,11 @@ MonoBehaviour: m_Transition: 1 m_Colors: m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1} - m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1} - m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} m_ColorMultiplier: 1 - m_FadeDuration: .100000001 + m_FadeDuration: 0.1 m_SpriteState: m_HighlightedSprite: {fileID: 0} m_PressedSprite: {fileID: 0} @@ -2148,6 +2000,75 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.Dropdown+DropdownEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null +--- !u!114 &11455074 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 137342} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7a878a6ff128243dfb1d89ca0273f059, type: 3} + m_Name: + m_EditorClassIdentifier: + advancedProps: 0 + minTouches: 0 + maxTouches: 0 + combineTouches: 0 + combineTouchesInterval: 0.3 + useSendMessage: 0 + sendStateChangeMessages: 0 + sendMessageTarget: {fileID: 0} + requireGestureToFail: {fileID: 0} + friendlyGestures: + - {fileID: 11496318} + numberOfTapsRequired: 1 + timeLimit: Infinity + distanceLimit: Infinity +--- !u!114 &11461458 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 110666} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e276ccba4f7314d9988af19f9b3a611b, type: 3} + m_Name: + m_EditorClassIdentifier: + advancedProps: 0 + TouchTags: + tagList: + - Touch + MouseTags: + tagList: + - Mouse + PenTags: + tagList: + - Pen + Windows8Touch: 0 + Windows7Touch: 0 + WebPlayerTouch: 1 + WebGLTouch: 1 + Windows8Mouse: 1 + Windows7Mouse: 1 + UniversalWindowsMouse: 1 +--- !u!114 &11461614 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 150438} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 75324aa372886435faa21a4145210f8e, type: 3} + m_Name: + m_EditorClassIdentifier: + touchProxy: {fileID: 11425240, guid: a4bbcb7dfeb4c1d4bb6557cd44ac80da, type: 2} + showTouchId: 1 + showTags: 1 + useDPI: 1 + touchSize: 1 --- !u!114 &11462376 MonoBehaviour: m_ObjectHideFlags: 1 @@ -2222,11 +2143,11 @@ MonoBehaviour: m_Transition: 1 m_Colors: m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1} - m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1} - m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} m_ColorMultiplier: 1 - m_FadeDuration: .100000001 + m_FadeDuration: 0.1 m_SpriteState: m_HighlightedSprite: {fileID: 0} m_PressedSprite: {fileID: 0} @@ -2247,28 +2168,6 @@ MonoBehaviour: m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null m_IsOn: 1 ---- !u!114 &11464902 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 192638} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 438491968, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - ignoreChildren: 0 --- !u!114 &11466234 MonoBehaviour: m_ObjectHideFlags: 1 @@ -2281,35 +2180,18 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_AutoConnect: 1 + m_ResultOutput: + m_Connections: [] m_StatusText: {fileID: 0} m_DetectSilence: 1 - m_SilenceThreshold: .0299999993 + m_SilenceThreshold: 0.03 m_WordConfidence: 0 m_TimeStamps: 0 m_MaxAlternatives: 1 m_EnableContinous: 1 m_EnableInterimResults: 1 m_Transcript: {fileID: 0} - m_ResultOutput: - m_TargetObject: {fileID: 0} - m_TargetConnection: m_Language: en-US ---- !u!114 &11466486 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 120748} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -102971247, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - DisableOnMobilePlatforms: 1 - Tags: - tagList: - - Mouse --- !u!114 &11467620 MonoBehaviour: m_ObjectHideFlags: 1 @@ -2329,7 +2211,7 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: d5b8d64f6d18844e781d2c63316a810f, type: 3} + m_Sprite: {fileID: 21300000, guid: dcc763001129146f0bd779f1a3f3cee2, type: 3} m_Type: 0 m_PreserveAspect: 1 m_FillCenter: 1 @@ -2337,6 +2219,30 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 +--- !u!114 &11467878 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 137342} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 74ae431eff8434b0897d3f7f1cff4311, type: 3} + m_Name: + m_EditorClassIdentifier: + advancedProps: 0 + minTouches: 1 + maxTouches: 1 + combineTouches: 0 + combineTouchesInterval: 0.3 + useSendMessage: 0 + sendStateChangeMessages: 0 + sendMessageTarget: {fileID: 0} + requireGestureToFail: {fileID: 0} + friendlyGestures: [] + type: 1 + minScreenPointsDistance: 0.5 + screenTransformThreshold: 0.1 --- !u!114 &11470694 MonoBehaviour: m_ObjectHideFlags: 1 @@ -2376,35 +2282,20 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_AutoConnect: 1 + m_RecognizeLanguageOutput: + m_Connections: [] + m_SpeechOutput: + m_Connections: [] + m_VoiceOutput: + m_Connections: [] m_SourceLanguage: m_TargetLanguage: es m_Input: {fileID: 11487024} m_Output: {fileID: 11490962} m_DropDownSourceLanguage: {fileID: 11446976} m_DropDownTargetLanguage: {fileID: 11454536} - m_RecognizeLanguageOutput: - m_TargetObject: {fileID: 0} - m_TargetConnection: - m_SpeechOutput: - m_TargetObject: {fileID: 0} - m_TargetConnection: - m_VoiceOutput: - m_TargetObject: {fileID: 0} - m_TargetConnection: m_DefaultDomainToUse: conversational m_DetectLanguageName: Detect Language ---- !u!114 &11477288 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 141064} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1997211142, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_ForceModuleActive: 0 --- !u!114 &11480480 MonoBehaviour: m_ObjectHideFlags: 1 @@ -2424,14 +2315,36 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: d2c2efadb47c74652863d505e27fb0cd, type: 3} - m_Type: 1 + m_Sprite: {fileID: 21300000, guid: 11b8cc94d1829440d972e9e699902f64, type: 3} + m_Type: 0 m_PreserveAspect: 0 m_FillCenter: 1 m_FillMethod: 4 m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 +--- !u!114 &11480846 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 137342} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c6be551879cd14d739b0188844ef2c60, type: 3} + m_Name: + m_EditorClassIdentifier: + advancedProps: 0 + minTouches: 0 + maxTouches: 0 + combineTouches: 0 + combineTouchesInterval: 0.3 + useSendMessage: 0 + sendStateChangeMessages: 0 + sendMessageTarget: {fileID: 0} + requireGestureToFail: {fileID: 0} + friendlyGestures: [] + ignoreChildren: 0 --- !u!114 &11480986 MonoBehaviour: m_ObjectHideFlags: 1 @@ -2444,7 +2357,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: .960784316, g: .960784316, b: .960784316, a: 1} + m_Color: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -2459,6 +2372,25 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 +--- !u!114 &11481174 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 137342} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0dd4c394fe06f4ea49e03aaa5e7a8190, type: 3} + m_Name: + m_EditorClassIdentifier: + displayDevice: {fileID: 0} + shouldCreateCameraLayer: 1 + shouldCreateStandardInput: 1 + useSendMessage: 0 + sendMessageEvents: 60 + sendMessageTarget: {fileID: 0} + layers: + - {fileID: 11411122} --- !u!114 &11481564 MonoBehaviour: m_ObjectHideFlags: 1 @@ -2471,7 +2403,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: .809000015} + m_Color: {r: 1, g: 1, b: 1, a: 0.809} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -2486,6 +2418,28 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 +--- !u!114 &11482444 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 137342} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 141e75b9b7edb42df80a22a14f03ae4b, type: 3} + m_Name: + m_EditorClassIdentifier: + advancedProps: 0 + minTouches: 0 + maxTouches: 0 + combineTouches: 0 + combineTouchesInterval: 0.3 + useSendMessage: 0 + sendStateChangeMessages: 0 + sendMessageTarget: {fileID: 0} + requireGestureToFail: {fileID: 0} + friendlyGestures: [] + ignoreChildren: 0 --- !u!114 &11483680 MonoBehaviour: m_ObjectHideFlags: 1 @@ -2545,11 +2499,11 @@ MonoBehaviour: m_Transition: 1 m_Colors: m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1} - m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1} - m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} m_ColorMultiplier: 1 - m_FadeDuration: .100000001 + m_FadeDuration: 0.1 m_SpriteState: m_HighlightedSprite: {fileID: 0} m_PressedSprite: {fileID: 0} @@ -2571,36 +2525,23 @@ MonoBehaviour: m_HideMobileInput: 0 m_CharacterValidation: 0 m_CharacterLimit: 0 - m_EndEdit: + m_OnEndEdit: m_PersistentCalls: m_Calls: [] m_TypeName: UnityEngine.UI.InputField+SubmitEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_OnValueChange: + m_OnValueChanged: m_PersistentCalls: m_Calls: [] m_TypeName: UnityEngine.UI.InputField+OnChangeEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_SelectionColor: {r: .65882355, g: .807843149, b: 1, a: .752941191} + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} m_Text: - m_CaretBlinkRate: .850000024 ---- !u!114 &11488830 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 192638} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1ce6f84be69c24efc9afd3dac982cdfd, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TapGesture: {fileID: 11431064} - m_ThreeTapGesture: {fileID: 11432642} - m_OneFingerMoveGesture: {fileID: 11403630} - m_TwoFingerMoveGesture: {fileID: 11420182} - m_PressGesture: {fileID: 11418790} - m_ReleaseGesture: {fileID: 11464902} + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 --- !u!114 &11490962 MonoBehaviour: m_ObjectHideFlags: 1 @@ -2628,6 +2569,7 @@ MonoBehaviour: m_MinSize: 10 m_MaxSize: 40 m_Alignment: 0 + m_AlignByGeometry: 0 m_RichText: 0 m_HorizontalOverflow: 0 m_VerticalOverflow: 0 @@ -2646,37 +2588,42 @@ MonoBehaviour: m_EditorClassIdentifier: m_AutoConnect: 1 m_Speaking: - m_TargetObject: {fileID: 0} - m_TargetConnection: Microphone/Disable + m_Connections: [] m_DisableMic: - m_TargetObject: {fileID: 0} - m_TargetConnection: + m_Connections: [] m_LevelOut: - m_TargetObject: {fileID: 0} - m_TargetConnection: - m_LevelOutInterval: .0500000007 + m_Connections: [] + m_LevelOutInterval: 0.05 m_LevelOutputModifier: 12 m_TextToSpeechButton: {fileID: 0} m_Input: {fileID: 0} m_StatusText: {fileID: 0} m_Voice: 3 m_UsePost: 0 ---- !u!114 &11492012 +--- !u!114 &11492616 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 120748} + m_GameObject: {fileID: 137342} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 770742126, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 74ae431eff8434b0897d3f7f1cff4311, type: 3} m_Name: m_EditorClassIdentifier: advancedProps: 0 - DisableOnNonTouchPlatforms: 1 - Tags: - tagList: - - Touch + minTouches: 2 + maxTouches: 2 + combineTouches: 0 + combineTouchesInterval: 0.3 + useSendMessage: 0 + sendStateChangeMessages: 0 + sendMessageTarget: {fileID: 0} + requireGestureToFail: {fileID: 0} + friendlyGestures: [] + type: 7 + minScreenPointsDistance: 0.5 + screenTransformThreshold: 0.1 --- !u!114 &11495262 MonoBehaviour: m_ObjectHideFlags: 1 @@ -2716,7 +2663,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: .960784316, g: .960784316, b: .960784316, a: 1} + m_Color: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -2731,6 +2678,31 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 +--- !u!114 &11496318 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 137342} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7a878a6ff128243dfb1d89ca0273f059, type: 3} + m_Name: + m_EditorClassIdentifier: + advancedProps: 0 + minTouches: 0 + maxTouches: 0 + combineTouches: 0 + combineTouchesInterval: 0.3 + useSendMessage: 0 + sendStateChangeMessages: 0 + sendMessageTarget: {fileID: 0} + requireGestureToFail: {fileID: 0} + friendlyGestures: + - {fileID: 11455074} + numberOfTapsRequired: 3 + timeLimit: 0.7 + distanceLimit: 0.3 --- !u!114 &11498048 MonoBehaviour: m_ObjectHideFlags: 1 @@ -2758,6 +2730,7 @@ MonoBehaviour: m_MinSize: 10 m_MaxSize: 40 m_Alignment: 0 + m_AlignByGeometry: 0 m_RichText: 0 m_HorizontalOverflow: 0 m_VerticalOverflow: 0 @@ -2971,6 +2944,25 @@ CanvasRenderer: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 164006} +--- !u!223 &22304424 +Canvas: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 150438} + m_Enabled: 1 + serializedVersion: 2 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_SortingLayerID: 0 + m_SortingOrder: 9000 + m_TargetDisplay: 0 --- !u!223 &22368372 Canvas: m_ObjectHideFlags: 1 @@ -2986,8 +2978,10 @@ Canvas: m_ReceivesEvents: 1 m_OverrideSorting: 0 m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 m_SortingLayerID: 0 m_SortingOrder: 0 + m_TargetDisplay: 0 --- !u!224 &22403264 RectTransform: m_ObjectHideFlags: 1 @@ -3003,11 +2997,11 @@ RectTransform: - {fileID: 22490108} m_Father: {fileID: 22487714} m_RootOrder: 0 - m_AnchorMin: {x: 0, y: .5} - m_AnchorMax: {x: 1, y: .5} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 20} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22404704 RectTransform: m_ObjectHideFlags: 1 @@ -3022,9 +3016,9 @@ RectTransform: m_RootOrder: 0 m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -7.5, y: -.5} + m_AnchoredPosition: {x: -7.5, y: -0.5} m_SizeDelta: {x: -35, y: -13} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22404962 RectTransform: m_ObjectHideFlags: 1 @@ -3055,11 +3049,11 @@ RectTransform: m_Children: [] m_Father: {fileID: 22403264} m_RootOrder: 1 - m_AnchorMin: {x: 0, y: .5} - m_AnchorMax: {x: 0, y: .5} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} m_AnchoredPosition: {x: 10, y: 0} m_SizeDelta: {x: 20, y: 20} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22416318 RectTransform: m_ObjectHideFlags: 1 @@ -3076,7 +3070,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 80} - m_Pivot: {x: .99000001, y: 1.10000002} + m_Pivot: {x: 0.99, y: 1.1} --- !u!224 &22417514 RectTransform: m_ObjectHideFlags: 1 @@ -3091,9 +3085,9 @@ RectTransform: m_RootOrder: 2 m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 5, y: -.5} + m_AnchoredPosition: {x: 5, y: -0.5} m_SizeDelta: {x: -30, y: -3} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22417920 RectTransform: m_ObjectHideFlags: 1 @@ -3126,9 +3120,9 @@ RectTransform: m_RootOrder: 0 m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -6.10351562e-05, y: 0} + m_AnchoredPosition: {x: -0.000061035156, y: 0} m_SizeDelta: {x: 0, y: 35} - m_Pivot: {x: .0500000007, y: 2.0999999} + m_Pivot: {x: 0.05, y: 2.1} --- !u!224 &22420412 RectTransform: m_ObjectHideFlags: 1 @@ -3144,11 +3138,11 @@ RectTransform: - {fileID: 22417514} m_Father: {fileID: 22432998} m_RootOrder: 0 - m_AnchorMin: {x: 0, y: .5} - m_AnchorMax: {x: 1, y: .5} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 20} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22425154 RectTransform: m_ObjectHideFlags: 1 @@ -3162,10 +3156,10 @@ RectTransform: m_Father: {fileID: 22437232} m_RootOrder: 0 m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: .200000003} + m_AnchorMax: {x: 1, y: 0.2} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 20, y: 20} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22430426 RectTransform: m_ObjectHideFlags: 1 @@ -3182,7 +3176,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 1, y: 0} m_SizeDelta: {x: -14, y: -12} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22432998 RectTransform: m_ObjectHideFlags: 1 @@ -3200,7 +3194,24 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 28} - m_Pivot: {x: .5, y: 1} + m_Pivot: {x: 0.5, y: 1} +--- !u!224 &22435286 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 150438} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 478430} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} --- !u!224 &22436494 RectTransform: m_ObjectHideFlags: 1 @@ -3217,7 +3228,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22437232 RectTransform: m_ObjectHideFlags: 1 @@ -3235,7 +3246,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: -20, y: -20} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22439820 RectTransform: m_ObjectHideFlags: 1 @@ -3254,7 +3265,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 0} m_AnchoredPosition: {x: 0, y: 2} m_SizeDelta: {x: 0, y: 150} - m_Pivot: {x: .5, y: 1} + m_Pivot: {x: 0.5, y: 1} --- !u!224 &22445652 RectTransform: m_ObjectHideFlags: 1 @@ -3268,10 +3279,10 @@ RectTransform: m_Father: {fileID: 22486606} m_RootOrder: 0 m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: .200000003} + m_AnchorMax: {x: 1, y: 0.2} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 20, y: 20} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22450714 RectTransform: m_ObjectHideFlags: 1 @@ -3284,11 +3295,11 @@ RectTransform: m_Children: [] m_Father: {fileID: 22420412} m_RootOrder: 1 - m_AnchorMin: {x: 0, y: .5} - m_AnchorMax: {x: 0, y: .5} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} m_AnchoredPosition: {x: 10, y: 0} m_SizeDelta: {x: 20, y: 20} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22451394 RectTransform: m_ObjectHideFlags: 1 @@ -3301,11 +3312,11 @@ RectTransform: m_Children: [] m_Father: {fileID: 22498982} m_RootOrder: 1 - m_AnchorMin: {x: 1, y: .5} - m_AnchorMax: {x: 1, y: .5} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -15, y: 0} m_SizeDelta: {x: 20, y: 20} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22451712 RectTransform: m_ObjectHideFlags: 1 @@ -3325,7 +3336,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22453226 RectTransform: m_ObjectHideFlags: 1 @@ -3341,9 +3352,9 @@ RectTransform: m_RootOrder: 3 m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 7.10009956, y: -280} + m_AnchoredPosition: {x: 7.1000996, y: -280} m_SizeDelta: {x: -54, y: 200} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22457622 RectTransform: m_ObjectHideFlags: 1 @@ -3378,7 +3389,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 1, y: 2} m_SizeDelta: {x: -17, y: -15} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22458848 RectTransform: m_ObjectHideFlags: 1 @@ -3397,7 +3408,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 0} m_AnchoredPosition: {x: 0, y: 2} m_SizeDelta: {x: 0, y: 150} - m_Pivot: {x: .5, y: 1} + m_Pivot: {x: 0.5, y: 1} --- !u!224 &22460472 RectTransform: m_ObjectHideFlags: 1 @@ -3414,7 +3425,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: -100} m_SizeDelta: {x: -18, y: 3} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22466174 RectTransform: m_ObjectHideFlags: 1 @@ -3431,7 +3442,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22470606 RectTransform: m_ObjectHideFlags: 1 @@ -3467,7 +3478,7 @@ RectTransform: m_RootOrder: 4 m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 34.0999985, y: -426} + m_AnchoredPosition: {x: 34.1, y: -426} m_SizeDelta: {x: 185, y: 30} m_Pivot: {x: 0, y: 1} --- !u!224 &22476200 @@ -3485,9 +3496,9 @@ RectTransform: m_RootOrder: 5 m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 7.10010004, y: -568} + m_AnchoredPosition: {x: 7.1001, y: -568} m_SizeDelta: {x: -54, y: 200} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22481760 RectTransform: m_ObjectHideFlags: 1 @@ -3500,11 +3511,11 @@ RectTransform: m_Children: [] m_Father: {fileID: 22476014} m_RootOrder: 1 - m_AnchorMin: {x: 1, y: .5} - m_AnchorMax: {x: 1, y: .5} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -15, y: 0} m_SizeDelta: {x: 20, y: 20} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22483806 RectTransform: m_ObjectHideFlags: 1 @@ -3539,7 +3550,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: -20, y: -20} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22487714 RectTransform: m_ObjectHideFlags: 1 @@ -3557,7 +3568,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 28} - m_Pivot: {x: .5, y: 1} + m_Pivot: {x: 0.5, y: 1} --- !u!224 &22490108 RectTransform: m_ObjectHideFlags: 1 @@ -3572,9 +3583,9 @@ RectTransform: m_RootOrder: 2 m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 5, y: -.5} + m_AnchoredPosition: {x: 5, y: -0.5} m_SizeDelta: {x: -30, y: -3} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22492356 RectTransform: m_ObjectHideFlags: 1 @@ -3597,7 +3608,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22494706 RectTransform: m_ObjectHideFlags: 1 @@ -3612,9 +3623,9 @@ RectTransform: m_RootOrder: 0 m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -7.5, y: -.5} + m_AnchoredPosition: {x: -7.5, y: -0.5} m_SizeDelta: {x: -35, y: -13} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22495556 RectTransform: m_ObjectHideFlags: 1 @@ -3628,8 +3639,8 @@ RectTransform: - {fileID: 439530} - {fileID: 453272} - {fileID: 429362} - - {fileID: 497940} - - {fileID: 481308} + - {fileID: 478430} + - {fileID: 405754} - {fileID: 400510} - {fileID: 22457622} m_Father: {fileID: 0} @@ -3638,7 +3649,7 @@ RectTransform: m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 299.5, y: 291.5} m_SizeDelta: {x: 599, y: 583} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22498150 RectTransform: m_ObjectHideFlags: 1 @@ -3674,7 +3685,7 @@ RectTransform: m_RootOrder: 2 m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 34.0999985, y: -142} + m_AnchoredPosition: {x: 34.1, y: -142} m_SizeDelta: {x: 185, y: 30} m_Pivot: {x: 0, y: 1} --- !u!1001 &100100000 diff --git a/Scenes/Prefabs/ExampleTranslation.prefab.meta b/Examples/WidgetExamples/Prefabs/ExampleLanguageTranslation.prefab.meta similarity index 100% rename from Scenes/Prefabs/ExampleTranslation.prefab.meta rename to Examples/WidgetExamples/Prefabs/ExampleLanguageTranslation.prefab.meta diff --git a/Examples/WidgetExamples/README.md b/Examples/WidgetExamples/README.md new file mode 100644 index 000000000..0819ad996 --- /dev/null +++ b/Examples/WidgetExamples/README.md @@ -0,0 +1,21 @@ +# Widget Examples + +These example scenes show how to create a simple application by combining Widget functionality. + +## Usage + +### ExampleDialog +Open the ExampleDialog scene. In the ExampleDialog GameObject click on the DialogWidget GameObject. The dialog file to be uploaded is specified in the Inspector under "Auto Upload Dialog". Specify a **unique** name for the dialog instance under "Dialog Name". The upload will result in an error if a unique name is not provided. At runtime, the Widgets will automatically connect their inputs and outputs resulting in a simple dialog application using [Speech to Text][speech_to_text] and [Dialog][dialog]. + +Be sure a microphone is connected and enabled on your computer. Play the scene in the Unity editor and say "Hello" to Watson. + +### ExampleLanguageTranslation +Open the ExampleLanguageTranslation scene. At runtime, the Widgets will automatically connect their inputs and outputs resulting in a simple language translation application using [Speech to Text][speech_to_text], [Language Translation][language_translation] and [Text to Speech][text_to_speech]. + +Be sure a microphone is connected and enabled on your computer. Play the scene in the Unity editor and speak to Watson. Alternatively, phrases can be typed into the top field for translation. The [Language Translation][language_translation] service will auto detect language and translate the phrased to Spanish by default. Other languages are listed in the dropdowns above each field. + +[speech_to_text]: http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/speech-to-text/ +[text_to_speech]: http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/text-to-speech/ +[language_translation]: http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/language-translation/ +[dialog]: http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/dialog/ +[natural_language_classifier]: http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/nl-classifier/ \ No newline at end of file diff --git a/Examples/WidgetExamples/README.md.meta b/Examples/WidgetExamples/README.md.meta new file mode 100644 index 000000000..2895f5f9c --- /dev/null +++ b/Examples/WidgetExamples/README.md.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4e13103b7cd204447a411f9d5abee12d +timeCreated: 1461937017 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/license.txt b/LICENSE similarity index 89% rename from license.txt rename to LICENSE index d64569567..4947287f7 100644 --- a/license.txt +++ b/LICENSE @@ -174,29 +174,4 @@ incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. + END OF TERMS AND CONDITIONS \ No newline at end of file diff --git a/Prefabs/DebugConsole.prefab b/Prefabs/DebugConsole.prefab index 5ef064bd9..93c28cf5c 100644 --- a/Prefabs/DebugConsole.prefab +++ b/Prefabs/DebugConsole.prefab @@ -1,5 +1,20 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &103040 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22434704} + m_Layer: 5 + m_Name: Root_Output + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 --- !u!1 &111478 GameObject: m_ObjectHideFlags: 1 @@ -65,7 +80,7 @@ GameObject: - 114: {fileID: 11411102} - 114: {fileID: 11477586} - 114: {fileID: 11440920} - - 114: {fileID: 11452926} + - 114: {fileID: 11416178} m_Layer: 5 m_Name: DebugConsole m_TagString: Untagged @@ -82,7 +97,7 @@ GameObject: m_Component: - 224: {fileID: 22483952} m_Layer: 5 - m_Name: Root + m_Name: Root_Input m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -174,8 +189,8 @@ MonoBehaviour: m_FontStyle: 0 m_BestFit: 0 m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 0 + m_MaxSize: 201 + m_Alignment: 4 m_AlignByGeometry: 0 m_RichText: 0 m_HorizontalOverflow: 0 @@ -196,7 +211,7 @@ MonoBehaviour: m_UiScaleMode: 1 m_ReferencePixelsPerUnit: 100 m_ScaleFactor: 1 - m_ReferenceResolution: {x: 640, y: 960} + m_ReferenceResolution: {x: 1024, y: 1024} m_ScreenMatchMode: 0 m_MatchWidthOrHeight: 1 m_PhysicalUnit: 3 @@ -223,6 +238,17 @@ MonoBehaviour: m_Spacing: 0 m_ChildForceExpandWidth: 1 m_ChildForceExpandHeight: 0 +--- !u!114 &11416178 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 138316} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2caaa605d8a57402baa0b494d548f244, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!114 &11420940 MonoBehaviour: m_ObjectHideFlags: 1 @@ -237,11 +263,11 @@ MonoBehaviour: m_Padding: m_Left: 0 m_Right: 0 - m_Top: 0 + m_Top: 30 m_Bottom: 0 - m_ChildAlignment: 8 + m_ChildAlignment: 0 m_Spacing: 0 - m_ChildForceExpandWidth: 1 + m_ChildForceExpandWidth: 0 m_ChildForceExpandHeight: 0 --- !u!114 &11440920 MonoBehaviour: @@ -254,8 +280,10 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 8861d830a65c85f4f82b5336dd6c2b53, type: 3} m_Name: m_EditorClassIdentifier: - m_Active: 0 - m_Root: {fileID: 142910} + m_ActiveOutput: 0 + m_ActiveInput: 0 + m_RootOutput: {fileID: 103040} + m_RootInput: {fileID: 142910} m_MessageLayout: {fileID: 11420940} m_MessagePrefab: {fileID: 11410738, guid: 3e2c8217c2abaf0458a6dd960b99bbeb, type: 2} m_CommandInput: {fileID: 11484934} @@ -273,7 +301,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 0.42647058, g: 0.41706315, b: 0.41706315, a: 1} + m_Color: {r: 0.42647058, g: 0.41706315, b: 0.41706315, a: 0.172} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -288,25 +316,6 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 ---- !u!114 &11452926 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 138316} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 656687ed20c93924d9785528d655ff29, type: 3} - m_Name: - m_EditorClassIdentifier: - m_AutoConnect: 1 - m_Mappings: - - m_Key: 96 - m_Modifiers: 0 - m_Event: 1 - - m_Key: 13 - m_Modifiers: 0 - m_Event: 2 --- !u!114 &11477586 MonoBehaviour: m_ObjectHideFlags: 1 @@ -423,9 +432,9 @@ MonoBehaviour: m_BestFit: 0 m_MinSize: 10 m_MaxSize: 40 - m_Alignment: 0 + m_Alignment: 4 m_AlignByGeometry: 0 - m_RichText: 1 + m_RichText: 0 m_HorizontalOverflow: 0 m_VerticalOverflow: 0 m_LineSpacing: 1 @@ -517,12 +526,12 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] - m_Father: {fileID: 22483952} + m_Father: {fileID: 22434704} m_RootOrder: 2 m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 235.33002, y: 0} - m_SizeDelta: {x: -471.34, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22413656 RectTransform: @@ -534,13 +543,33 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] - m_Father: {fileID: 22483952} + m_Father: {fileID: 22434704} m_RootOrder: 1 m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: -252.71016, y: 0} m_SizeDelta: {x: -504.56, y: 0} m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &22434704 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 103040} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22492444} + - {fileID: 22413656} + - {fileID: 22408174} + m_Father: {fileID: 22477790} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22446100 RectTransform: m_ObjectHideFlags: 1 @@ -555,8 +584,8 @@ RectTransform: m_RootOrder: 1 m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: -0.5} - m_SizeDelta: {x: -20, y: -13} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -8, y: -8} m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22454254 RectTransform: @@ -572,8 +601,8 @@ RectTransform: m_RootOrder: 0 m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: -0.5} - m_SizeDelta: {x: -20, y: -13} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -8, y: -8} m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22477790 RectTransform: @@ -585,6 +614,7 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0, y: 0, z: 0} m_Children: + - {fileID: 22434704} - {fileID: 22483952} m_Father: {fileID: 0} m_RootOrder: 0 @@ -606,12 +636,12 @@ RectTransform: - {fileID: 22454254} - {fileID: 22446100} m_Father: {fileID: 22483952} - m_RootOrder: 3 - m_AnchorMin: {x: 1, y: 1} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -253.06, y: -20} - m_SizeDelta: {x: 506, y: 40} - m_Pivot: {x: 0.5, y: 0.5} + m_RootOrder: 0 + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: -5} + m_SizeDelta: {x: 660, y: 40} + m_Pivot: {x: 0.5, y: 1} --- !u!224 &22483952 RectTransform: m_ObjectHideFlags: 1 @@ -622,16 +652,13 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - - {fileID: 22492444} - - {fileID: 22413656} - - {fileID: 22408174} - {fileID: 22481580} m_Father: {fileID: 22477790} - m_RootOrder: 0 + m_RootOrder: 1 m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -0.009918213, y: 0} - m_SizeDelta: {x: 0.9000244, y: 0} + m_AnchoredPosition: {x: 0.000030517578, y: 0.000015258789} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22492444 RectTransform: @@ -643,7 +670,7 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] - m_Father: {fileID: 22483952} + m_Father: {fileID: 22434704} m_RootOrder: 0 m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} @@ -659,15 +686,15 @@ Prefab: m_Modifications: - target: {fileID: 0} propertyPath: m_Mappings.Array.size - value: 2 + value: 1 objectReference: {fileID: 0} - target: {fileID: 0} propertyPath: m_ReferenceResolution.x - value: 640 + value: 1024 objectReference: {fileID: 0} - target: {fileID: 0} propertyPath: m_ReferenceResolution.y - value: 960 + value: 1024 objectReference: {fileID: 0} - target: {fileID: 0} propertyPath: m_Mappings.Array.data[0].m_Key diff --git a/Prefabs/DialogWidget.prefab b/Prefabs/DialogWidget.prefab index e6d0c8780..9a1b1ed50 100644 --- a/Prefabs/DialogWidget.prefab +++ b/Prefabs/DialogWidget.prefab @@ -244,11 +244,11 @@ MonoBehaviour: m_Transition: 1 m_Colors: m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1} - m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1} - m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} m_ColorMultiplier: 1 - m_FadeDuration: .100000001 + m_FadeDuration: 0.1 m_SpriteState: m_HighlightedSprite: {fileID: 0} m_PressedSprite: {fileID: 0} @@ -263,7 +263,7 @@ MonoBehaviour: m_HandleRect: {fileID: 22494054} m_Direction: 2 m_Value: 1 - m_Size: .99999994 + m_Size: 0.99999994 m_NumberOfSteps: 0 m_OnValueChanged: m_PersistentCalls: @@ -335,7 +335,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: .838235259, g: .838235259, b: .838235259, a: 1} + m_Color: {r: 0.83823526, g: 0.83823526, b: 0.83823526, a: 1} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -350,6 +350,7 @@ MonoBehaviour: m_MinSize: 10 m_MaxSize: 40 m_Alignment: 2 + m_AlignByGeometry: 0 m_RichText: 1 m_HorizontalOverflow: 0 m_VerticalOverflow: 0 @@ -370,9 +371,9 @@ MonoBehaviour: m_Horizontal: 1 m_Vertical: 1 m_MovementType: 2 - m_Elasticity: .100000001 + m_Elasticity: 0.1 m_Inertia: 1 - m_DecelerationRate: .135000005 + m_DecelerationRate: 0.135 m_ScrollSensitivity: 1 m_Viewport: {fileID: 22431086} m_HorizontalScrollbar: {fileID: 0} @@ -425,13 +426,12 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_AutoConnect: 1 - m_DialogName: 429010086e6a4000826b6d0e - m_AutoUploadDialog: /Watson/Editor/TestData/pizza_sample.xml + m_ResultOutput: + m_Connections: [] + m_DialogName: unity-sdk-test-dialog-0.2.0 + m_AutoUploadDialog: /unity-sdk/Scripts/Editor/TestData/pizza_sample.xml m_DialogLayout: {fileID: 11412678} m_ScrollRect: {fileID: 11428570} - m_ResultOutput: - m_TargetObject: {fileID: 0} - m_TargetConnection: TextToSpeech/Text m_QuestionPrefab: {fileID: 191706, guid: cb00305fa9669490fbe502513d85728d, type: 2} m_AnswerPrefab: {fileID: 197462, guid: cc807e1eadf1f44ad8185ecbe083364d, type: 2} m_HistoryCount: 50 @@ -734,8 +734,10 @@ Canvas: m_ReceivesEvents: 1 m_OverrideSorting: 0 m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 m_SortingLayerID: 0 m_SortingOrder: 0 + m_TargetDisplay: 0 --- !u!224 &22400342 RectTransform: m_ObjectHideFlags: 1 @@ -750,9 +752,9 @@ RectTransform: m_RootOrder: 2 m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 2.38418579e-07, y: -100} + m_AnchoredPosition: {x: 0.00000023841858, y: -100} m_SizeDelta: {x: -10, y: 1} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22420118 RectTransform: m_ObjectHideFlags: 1 @@ -770,7 +772,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22422416 RectTransform: m_ObjectHideFlags: 1 @@ -809,7 +811,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22431086 RectTransform: m_ObjectHideFlags: 1 @@ -844,7 +846,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 80} - m_Pivot: {x: .99000001, y: 1.10000002} + m_Pivot: {x: 0.99, y: 1.1} --- !u!224 &22434398 RectTransform: m_ObjectHideFlags: 1 @@ -862,7 +864,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: -60} m_SizeDelta: {x: -40, y: -160} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22443776 RectTransform: m_ObjectHideFlags: 1 @@ -882,7 +884,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22453676 RectTransform: m_ObjectHideFlags: 1 @@ -917,7 +919,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 5, y: -3} - m_Pivot: {x: 1, y: .5} + m_Pivot: {x: 1, y: 0.5} --- !u!224 &22486684 RectTransform: m_ObjectHideFlags: 1 @@ -934,7 +936,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: -20, y: 0} - m_Pivot: {x: .5, y: 1} + m_Pivot: {x: 0.5, y: 1} --- !u!224 &22492190 RectTransform: m_ObjectHideFlags: 1 @@ -949,9 +951,9 @@ RectTransform: m_RootOrder: 0 m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -6.10351562e-05, y: 0} + m_AnchoredPosition: {x: -0.000061035156, y: 0} m_SizeDelta: {x: 0, y: 35} - m_Pivot: {x: .0500000007, y: 2.0999999} + m_Pivot: {x: 0.05, y: 2.1} --- !u!224 &22494054 RectTransform: m_ObjectHideFlags: 1 @@ -968,7 +970,7 @@ RectTransform: m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1001 &100100000 Prefab: m_ObjectHideFlags: 1 diff --git a/Prefabs/Elements/DialogWidgetAnswerText.prefab b/Prefabs/Elements/DialogWidgetAnswerText.prefab index 55ee18e36..1f4ab3280 100644 --- a/Prefabs/Elements/DialogWidgetAnswerText.prefab +++ b/Prefabs/Elements/DialogWidgetAnswerText.prefab @@ -39,12 +39,13 @@ MonoBehaviour: Version=1.0.0.0, Culture=neutral, PublicKeyToken=null m_FontData: m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 + m_FontSize: 20 m_FontStyle: 0 m_BestFit: 0 - m_MinSize: 10 + m_MinSize: 2 m_MaxSize: 40 m_Alignment: 0 + m_AlignByGeometry: 0 m_RichText: 1 m_HorizontalOverflow: 0 m_VerticalOverflow: 0 @@ -90,7 +91,7 @@ RectTransform: m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1001 &100100000 Prefab: m_ObjectHideFlags: 1 @@ -100,7 +101,7 @@ Prefab: m_Modifications: - target: {fileID: 0} propertyPath: m_FontData.m_FontSize - value: 14 + value: 20 objectReference: {fileID: 0} - target: {fileID: 0} propertyPath: m_Color.r @@ -114,6 +115,10 @@ Prefab: propertyPath: m_Color.b value: 0 objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_FontData.m_MinSize + value: 2 + objectReference: {fileID: 0} m_RemovedComponents: [] m_ParentPrefab: {fileID: 0} m_RootGameObject: {fileID: 197462} diff --git a/Prefabs/Elements/DialogWidgetQuestionText.prefab b/Prefabs/Elements/DialogWidgetQuestionText.prefab index 5471bb19e..01fa39784 100644 --- a/Prefabs/Elements/DialogWidgetQuestionText.prefab +++ b/Prefabs/Elements/DialogWidgetQuestionText.prefab @@ -39,12 +39,13 @@ MonoBehaviour: Version=1.0.0.0, Culture=neutral, PublicKeyToken=null m_FontData: m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 + m_FontSize: 20 m_FontStyle: 0 m_BestFit: 0 - m_MinSize: 10 + m_MinSize: 2 m_MaxSize: 40 m_Alignment: 2 + m_AlignByGeometry: 0 m_RichText: 1 m_HorizontalOverflow: 0 m_VerticalOverflow: 0 @@ -90,7 +91,7 @@ RectTransform: m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1001 &100100000 Prefab: m_ObjectHideFlags: 1 @@ -100,7 +101,7 @@ Prefab: m_Modifications: - target: {fileID: 0} propertyPath: m_FontData.m_FontSize - value: 14 + value: 20 objectReference: {fileID: 0} - target: {fileID: 0} propertyPath: m_Color.r @@ -114,6 +115,10 @@ Prefab: propertyPath: m_Color.b value: 0 objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_FontData.m_MinSize + value: 2 + objectReference: {fileID: 0} m_RemovedComponents: [] m_ParentPrefab: {fileID: 0} m_RootGameObject: {fileID: 191706} diff --git a/Prefabs/TranslateWidget.prefab b/Prefabs/LanguageTranslationWidget.prefab similarity index 94% rename from Prefabs/TranslateWidget.prefab rename to Prefabs/LanguageTranslationWidget.prefab index ceecdcf4a..e253950b4 100644 --- a/Prefabs/TranslateWidget.prefab +++ b/Prefabs/LanguageTranslationWidget.prefab @@ -185,7 +185,7 @@ GameObject: - 114: {fileID: 11410204} - 114: {fileID: 11489172} m_Layer: 0 - m_Name: TranslateWidget + m_Name: LanguageTranslationWidget m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -660,11 +660,11 @@ MonoBehaviour: m_Transition: 1 m_Colors: m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1} - m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1} - m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} m_ColorMultiplier: 1 - m_FadeDuration: .100000001 + m_FadeDuration: 0.1 m_SpriteState: m_HighlightedSprite: {fileID: 0} m_PressedSprite: {fileID: 0} @@ -786,11 +786,11 @@ MonoBehaviour: m_Transition: 1 m_Colors: m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1} - m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1} - m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} m_ColorMultiplier: 1 - m_FadeDuration: .100000001 + m_FadeDuration: 0.1 m_SpriteState: m_HighlightedSprite: {fileID: 0} m_PressedSprite: {fileID: 0} @@ -805,7 +805,7 @@ MonoBehaviour: m_HandleRect: {fileID: 22489976} m_Direction: 2 m_Value: 0 - m_Size: .200000003 + m_Size: 0.2 m_NumberOfSteps: 0 m_OnValueChanged: m_PersistentCalls: @@ -824,7 +824,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: .838235259, g: .838235259, b: .838235259, a: 1} + m_Color: {r: 0.83823526, g: 0.83823526, b: 0.83823526, a: 1} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -839,6 +839,7 @@ MonoBehaviour: m_MinSize: 10 m_MaxSize: 40 m_Alignment: 2 + m_AlignByGeometry: 0 m_RichText: 1 m_HorizontalOverflow: 0 m_VerticalOverflow: 0 @@ -945,11 +946,11 @@ MonoBehaviour: m_Transition: 1 m_Colors: m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1} - m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1} - m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} m_ColorMultiplier: 1 - m_FadeDuration: .100000001 + m_FadeDuration: 0.1 m_SpriteState: m_HighlightedSprite: {fileID: 0} m_PressedSprite: {fileID: 0} @@ -971,19 +972,23 @@ MonoBehaviour: m_HideMobileInput: 0 m_CharacterValidation: 0 m_CharacterLimit: 0 - m_EndEdit: + m_OnEndEdit: m_PersistentCalls: m_Calls: [] m_TypeName: UnityEngine.UI.InputField+SubmitEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_OnValueChange: + m_OnValueChanged: m_PersistentCalls: m_Calls: [] m_TypeName: UnityEngine.UI.InputField+OnChangeEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_SelectionColor: {r: .65882355, g: .807843149, b: 1, a: .752941191} + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} m_Text: - m_CaretBlinkRate: .850000024 + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 --- !u!114 &11435216 MonoBehaviour: m_ObjectHideFlags: 1 @@ -996,7 +1001,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: .960784316, g: .960784316, b: .960784316, a: 1} + m_Color: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1134,9 +1139,9 @@ MonoBehaviour: m_Horizontal: 0 m_Vertical: 1 m_MovementType: 2 - m_Elasticity: .100000001 + m_Elasticity: 0.1 m_Inertia: 1 - m_DecelerationRate: .135000005 + m_DecelerationRate: 0.135 m_ScrollSensitivity: 1 m_Viewport: {fileID: 22419224} m_HorizontalScrollbar: {fileID: 0} @@ -1243,7 +1248,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: .196078435, g: .196078435, b: .196078435, a: 1} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1258,6 +1263,7 @@ MonoBehaviour: m_MinSize: 10 m_MaxSize: 40 m_Alignment: 3 + m_AlignByGeometry: 0 m_RichText: 1 m_HorizontalOverflow: 0 m_VerticalOverflow: 0 @@ -1283,11 +1289,11 @@ MonoBehaviour: m_Transition: 1 m_Colors: m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1} - m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1} - m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} m_ColorMultiplier: 1 - m_FadeDuration: .100000001 + m_FadeDuration: 0.1 m_SpriteState: m_HighlightedSprite: {fileID: 0} m_PressedSprite: {fileID: 0} @@ -1355,11 +1361,11 @@ MonoBehaviour: m_Transition: 1 m_Colors: m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1} - m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1} - m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} m_ColorMultiplier: 1 - m_FadeDuration: .100000001 + m_FadeDuration: 0.1 m_SpriteState: m_HighlightedSprite: {fileID: 0} m_PressedSprite: {fileID: 0} @@ -1374,7 +1380,7 @@ MonoBehaviour: m_HandleRect: {fileID: 22432190} m_Direction: 2 m_Value: 0 - m_Size: .200000003 + m_Size: 0.2 m_NumberOfSteps: 0 m_OnValueChanged: m_PersistentCalls: @@ -1420,7 +1426,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: .45588237, g: .45588237, b: .45588237, a: 1} + m_Color: {r: 0.45588237, g: 0.45588237, b: 0.45588237, a: 1} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1585,9 +1591,9 @@ MonoBehaviour: m_Horizontal: 0 m_Vertical: 1 m_MovementType: 2 - m_Elasticity: .100000001 + m_Elasticity: 0.1 m_Inertia: 1 - m_DecelerationRate: .135000005 + m_DecelerationRate: 0.135 m_ScrollSensitivity: 1 m_Viewport: {fileID: 22408012} m_HorizontalScrollbar: {fileID: 0} @@ -1625,7 +1631,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: .196078435, g: .196078435, b: .196078435, a: 1} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1640,6 +1646,7 @@ MonoBehaviour: m_MinSize: 10 m_MaxSize: 40 m_Alignment: 3 + m_AlignByGeometry: 0 m_RichText: 1 m_HorizontalOverflow: 0 m_VerticalOverflow: 0 @@ -1657,21 +1664,18 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_AutoConnect: 1 + m_RecognizeLanguageOutput: + m_Connections: [] + m_SpeechOutput: + m_Connections: [] + m_VoiceOutput: + m_Connections: [] m_SourceLanguage: m_TargetLanguage: es m_Input: {fileID: 11433540} m_Output: {fileID: 11486174} m_DropDownSourceLanguage: {fileID: 11408344} m_DropDownTargetLanguage: {fileID: 11487390} - m_RecognizeLanguageOutput: - m_TargetObject: {fileID: 0} - m_TargetConnection: - m_SpeechOutput: - m_TargetObject: {fileID: 0} - m_TargetConnection: - m_VoiceOutput: - m_TargetObject: {fileID: 0} - m_TargetConnection: m_DefaultDomainToUse: conversational m_DetectLanguageName: Detect Language --- !u!114 &11486174 @@ -1701,6 +1705,7 @@ MonoBehaviour: m_MinSize: 10 m_MaxSize: 40 m_Alignment: 0 + m_AlignByGeometry: 0 m_RichText: 0 m_HorizontalOverflow: 0 m_VerticalOverflow: 0 @@ -1726,11 +1731,11 @@ MonoBehaviour: m_Transition: 1 m_Colors: m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1} - m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1} - m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} m_ColorMultiplier: 1 - m_FadeDuration: .100000001 + m_FadeDuration: 0.1 m_SpriteState: m_HighlightedSprite: {fileID: 0} m_PressedSprite: {fileID: 0} @@ -1785,7 +1790,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: .196078435, g: .196078435, b: .196078435, a: 1} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1800,6 +1805,7 @@ MonoBehaviour: m_MinSize: 10 m_MaxSize: 40 m_Alignment: 3 + m_AlignByGeometry: 0 m_RichText: 1 m_HorizontalOverflow: 0 m_VerticalOverflow: 0 @@ -1825,11 +1831,11 @@ MonoBehaviour: m_Transition: 1 m_Colors: m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1} - m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1} - m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} m_ColorMultiplier: 1 - m_FadeDuration: .100000001 + m_FadeDuration: 0.1 m_SpriteState: m_HighlightedSprite: {fileID: 0} m_PressedSprite: {fileID: 0} @@ -1862,7 +1868,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: .196078435, g: .196078435, b: .196078435, a: 1} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1877,6 +1883,7 @@ MonoBehaviour: m_MinSize: 10 m_MaxSize: 40 m_Alignment: 3 + m_AlignByGeometry: 0 m_RichText: 1 m_HorizontalOverflow: 0 m_VerticalOverflow: 0 @@ -1909,6 +1916,7 @@ MonoBehaviour: m_MinSize: 10 m_MaxSize: 40 m_Alignment: 0 + m_AlignByGeometry: 0 m_RichText: 0 m_HorizontalOverflow: 0 m_VerticalOverflow: 0 @@ -1926,7 +1934,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: .960784316, g: .960784316, b: .960784316, a: 1} + m_Color: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -2130,8 +2138,10 @@ Canvas: m_ReceivesEvents: 1 m_OverrideSorting: 0 m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 m_SortingLayerID: 0 m_SortingOrder: 0 + m_TargetDisplay: 0 --- !u!224 &22408012 RectTransform: m_ObjectHideFlags: 1 @@ -2180,11 +2190,11 @@ RectTransform: m_Children: [] m_Father: {fileID: 22429332} m_RootOrder: 1 - m_AnchorMin: {x: 0, y: .5} - m_AnchorMax: {x: 0, y: .5} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} m_AnchoredPosition: {x: 10, y: 0} m_SizeDelta: {x: 20, y: 20} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22413044 RectTransform: m_ObjectHideFlags: 1 @@ -2200,9 +2210,9 @@ RectTransform: m_RootOrder: 3 m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 7.10009956, y: -280} + m_AnchoredPosition: {x: 7.1000996, y: -280} m_SizeDelta: {x: -54, y: 200} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22415334 RectTransform: m_ObjectHideFlags: 1 @@ -2218,11 +2228,11 @@ RectTransform: - {fileID: 22459678} m_Father: {fileID: 22479414} m_RootOrder: 0 - m_AnchorMin: {x: 0, y: .5} - m_AnchorMax: {x: 1, y: .5} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 20} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22415772 RectTransform: m_ObjectHideFlags: 1 @@ -2276,7 +2286,7 @@ RectTransform: m_RootOrder: 4 m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 34.0999985, y: -426} + m_AnchoredPosition: {x: 34.1, y: -426} m_SizeDelta: {x: 185, y: 30} m_Pivot: {x: 0, y: 1} --- !u!224 &22422044 @@ -2295,7 +2305,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22423780 RectTransform: m_ObjectHideFlags: 1 @@ -2308,11 +2318,11 @@ RectTransform: m_Children: [] m_Father: {fileID: 22468852} m_RootOrder: 1 - m_AnchorMin: {x: 1, y: .5} - m_AnchorMax: {x: 1, y: .5} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -15, y: 0} m_SizeDelta: {x: 20, y: 20} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22429332 RectTransform: m_ObjectHideFlags: 1 @@ -2328,11 +2338,11 @@ RectTransform: - {fileID: 22449278} m_Father: {fileID: 22435402} m_RootOrder: 0 - m_AnchorMin: {x: 0, y: .5} - m_AnchorMax: {x: 1, y: .5} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 20} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22432190 RectTransform: m_ObjectHideFlags: 1 @@ -2346,10 +2356,10 @@ RectTransform: m_Father: {fileID: 22478042} m_RootOrder: 0 m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: .200000003} + m_AnchorMax: {x: 1, y: 0.2} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 20, y: 20} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22435402 RectTransform: m_ObjectHideFlags: 1 @@ -2367,7 +2377,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 28} - m_Pivot: {x: .5, y: 1} + m_Pivot: {x: 0.5, y: 1} --- !u!224 &22440724 RectTransform: m_ObjectHideFlags: 1 @@ -2382,9 +2392,9 @@ RectTransform: m_RootOrder: 0 m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -6.10351562e-05, y: 0} + m_AnchoredPosition: {x: -0.000061035156, y: 0} m_SizeDelta: {x: 0, y: 35} - m_Pivot: {x: .0500000007, y: 2.0999999} + m_Pivot: {x: 0.05, y: 2.1} --- !u!224 &22441140 RectTransform: m_ObjectHideFlags: 1 @@ -2397,11 +2407,11 @@ RectTransform: m_Children: [] m_Father: {fileID: 22415334} m_RootOrder: 1 - m_AnchorMin: {x: 0, y: .5} - m_AnchorMax: {x: 0, y: .5} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} m_AnchoredPosition: {x: 10, y: 0} m_SizeDelta: {x: 20, y: 20} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22442856 RectTransform: m_ObjectHideFlags: 1 @@ -2418,7 +2428,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 80} - m_Pivot: {x: .99000001, y: 1.10000002} + m_Pivot: {x: 0.99, y: 1.1} --- !u!224 &22445932 RectTransform: m_ObjectHideFlags: 1 @@ -2438,7 +2448,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22446766 RectTransform: m_ObjectHideFlags: 1 @@ -2456,7 +2466,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: -20, y: -20} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22447386 RectTransform: m_ObjectHideFlags: 1 @@ -2472,9 +2482,9 @@ RectTransform: m_RootOrder: 5 m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 7.10010004, y: -568} + m_AnchoredPosition: {x: 7.1001, y: -568} m_SizeDelta: {x: -54, y: 200} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22449246 RectTransform: m_ObjectHideFlags: 1 @@ -2507,9 +2517,9 @@ RectTransform: m_RootOrder: 2 m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 5, y: -.5} + m_AnchoredPosition: {x: 5, y: -0.5} m_SizeDelta: {x: -30, y: -3} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22459598 RectTransform: m_ObjectHideFlags: 1 @@ -2526,7 +2536,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 1, y: 2} m_SizeDelta: {x: -17, y: -15} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22459678 RectTransform: m_ObjectHideFlags: 1 @@ -2541,9 +2551,9 @@ RectTransform: m_RootOrder: 2 m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 5, y: -.5} + m_AnchoredPosition: {x: 5, y: -0.5} m_SizeDelta: {x: -30, y: -3} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22460064 RectTransform: m_ObjectHideFlags: 1 @@ -2562,7 +2572,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 0} m_AnchoredPosition: {x: 0, y: 2} m_SizeDelta: {x: 0, y: 150} - m_Pivot: {x: .5, y: 1} + m_Pivot: {x: 0.5, y: 1} --- !u!224 &22468048 RectTransform: m_ObjectHideFlags: 1 @@ -2585,7 +2595,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22468306 RectTransform: m_ObjectHideFlags: 1 @@ -2604,7 +2614,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 0} m_AnchoredPosition: {x: 0, y: 2} m_SizeDelta: {x: 0, y: 150} - m_Pivot: {x: .5, y: 1} + m_Pivot: {x: 0.5, y: 1} --- !u!224 &22468852 RectTransform: m_ObjectHideFlags: 1 @@ -2622,7 +2632,7 @@ RectTransform: m_RootOrder: 2 m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 34.0999985, y: -142} + m_AnchoredPosition: {x: 34.1, y: -142} m_SizeDelta: {x: 185, y: 30} m_Pivot: {x: 0, y: 1} --- !u!224 &22469206 @@ -2641,7 +2651,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 1, y: 0} m_SizeDelta: {x: -14, y: -12} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22477610 RectTransform: m_ObjectHideFlags: 1 @@ -2656,9 +2666,9 @@ RectTransform: m_RootOrder: 2 m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 2.38418579e-07, y: -100} + m_AnchoredPosition: {x: 0.00000023841858, y: -100} m_SizeDelta: {x: -10, y: 1} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22478042 RectTransform: m_ObjectHideFlags: 1 @@ -2676,7 +2686,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: -20, y: -20} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22479414 RectTransform: m_ObjectHideFlags: 1 @@ -2694,7 +2704,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 28} - m_Pivot: {x: .5, y: 1} + m_Pivot: {x: 0.5, y: 1} --- !u!224 &22479518 RectTransform: m_ObjectHideFlags: 1 @@ -2709,9 +2719,9 @@ RectTransform: m_RootOrder: 0 m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -7.5, y: -.5} + m_AnchoredPosition: {x: -7.5, y: -0.5} m_SizeDelta: {x: -35, y: -13} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22483592 RectTransform: m_ObjectHideFlags: 1 @@ -2724,11 +2734,11 @@ RectTransform: m_Children: [] m_Father: {fileID: 22420674} m_RootOrder: 1 - m_AnchorMin: {x: 1, y: .5} - m_AnchorMax: {x: 1, y: .5} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -15, y: 0} m_SizeDelta: {x: 20, y: 20} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22489796 RectTransform: m_ObjectHideFlags: 1 @@ -2745,7 +2755,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22489976 RectTransform: m_ObjectHideFlags: 1 @@ -2759,10 +2769,10 @@ RectTransform: m_Father: {fileID: 22446766} m_RootOrder: 0 m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: .200000003} + m_AnchorMax: {x: 1, y: 0.2} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 20, y: 20} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22495942 RectTransform: m_ObjectHideFlags: 1 @@ -2794,9 +2804,9 @@ RectTransform: m_RootOrder: 0 m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -7.5, y: -.5} + m_AnchoredPosition: {x: -7.5, y: -0.5} m_SizeDelta: {x: -35, y: -13} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1001 &100100000 Prefab: m_ObjectHideFlags: 1 diff --git a/Prefabs/TranslateWidget.prefab.meta b/Prefabs/LanguageTranslationWidget.prefab.meta similarity index 100% rename from Prefabs/TranslateWidget.prefab.meta rename to Prefabs/LanguageTranslationWidget.prefab.meta diff --git a/Prefabs/NlcWidget.prefab b/Prefabs/NaturalLanguageClassifierWidget.prefab similarity index 57% rename from Prefabs/NlcWidget.prefab rename to Prefabs/NaturalLanguageClassifierWidget.prefab index a7f70acb5..d6a7aad06 100644 --- a/Prefabs/NlcWidget.prefab +++ b/Prefabs/NaturalLanguageClassifierWidget.prefab @@ -10,7 +10,7 @@ GameObject: - 4: {fileID: 434176} - 114: {fileID: 11489316} m_Layer: 0 - m_Name: NlcWidget + m_Name: NaturalLanguageClassifierWidget m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -22,8 +22,8 @@ Transform: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 150770} - m_LocalRotation: {x: 0, y: -.819152117, z: 0, w: .573576331} - m_LocalPosition: {x: -207.606384, y: 418, z: 570.393372} + m_LocalRotation: {x: 0, y: -0.8191521, z: 0, w: 0.57357633} + m_LocalPosition: {x: -207.60638, y: 418, z: 570.3934} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} @@ -41,77 +41,14 @@ MonoBehaviour: m_EditorClassIdentifier: m_AutoConnect: 1 m_ClassifyOutput: - m_TargetObject: {fileID: 0} - m_TargetConnection: Classifier/Classified + m_Connections: [] m_ClassifierName: ${NLC_CLASSIFIER_NAME} m_ClassifierId: ${NLC_CLASSIFIER_ID} - m_MinWordConfidence: .40000000000000002 - m_IgnoreWordConfidence: .20000000000000001 - m_MinClassEventConfidence: .5 + m_MinWordConfidence: 0 + m_IgnoreWordConfidence: 0 + m_MinClassEventConfidence: 0 m_Language: en - m_ClassEventList: - - m_Class: wakeup - m_Event: 403 - - m_Class: sleep - m_Event: 404 - - m_Class: cancel - m_Event: 210 - - m_Class: dialog - m_Event: 402 - - m_Class: debug_on - m_Event: 405 - - m_Class: debug_off - m_Event: 406 - - m_Class: fold - m_Event: 407 - - m_Class: unfold - m_Event: 408 - - m_Class: answers - m_Event: 409 - - m_Class: evidence - m_Event: 410 - - m_Class: chat - m_Event: 411 - - m_Class: parse - m_Event: 412 - - m_Class: location - m_Event: 413 - - m_Class: question-thunderstone - m_Event: 401 - - m_Class: question-woodside - m_Event: 401 - - m_Class: question-numerati_woodside - m_Event: 401 - - m_Class: pan_left - m_Event: -1 - - m_Class: pan_right - m_Event: -1 - - m_Class: pan_up - m_Event: -1 - - m_Class: pan_down - m_Event: -1 - - m_Class: zoom_in - m_Event: -1 - - m_Class: zoom_out - m_Event: -1 - - m_Class: show_next_passage - m_Event: 415 - - m_Class: show_next_answer - m_Event: 415 - - m_Class: show_next - m_Event: 415 - - m_Class: show_previous_passage - m_Event: 416 - - m_Class: show_previous_answer - m_Event: 416 - - m_Class: show_previous - m_Event: 416 - - m_Class: scroll_up - m_Event: 417 - - m_Class: scroll_down - m_Event: 418 - - m_Class: repeat_last_action - m_Event: 419 + m_ClassEventList: [] m_TopClassText: {fileID: 0} --- !u!1001 &100100000 Prefab: @@ -122,7 +59,7 @@ Prefab: m_Modifications: - target: {fileID: 0} propertyPath: m_ClassEventList.Array.size - value: 31 + value: 49 objectReference: {fileID: 0} - target: {fileID: 0} propertyPath: m_ClassifierId @@ -170,7 +107,7 @@ Prefab: objectReference: {fileID: 0} - target: {fileID: 0} propertyPath: m_ClassEventList.Array.data[2].m_Event - value: 210 + value: 422 objectReference: {fileID: 0} - target: {fileID: 0} propertyPath: m_ClassEventList.Array.data[16].m_Class @@ -178,7 +115,7 @@ Prefab: objectReference: {fileID: 0} - target: {fileID: 0} propertyPath: m_ClassEventList.Array.data[16].m_Event - value: -1 + value: 309 objectReference: {fileID: 0} - target: {fileID: 0} propertyPath: m_ClassEventList.Array.data[17].m_Class @@ -186,7 +123,7 @@ Prefab: objectReference: {fileID: 0} - target: {fileID: 0} propertyPath: m_ClassEventList.Array.data[17].m_Event - value: -1 + value: 310 objectReference: {fileID: 0} - target: {fileID: 0} propertyPath: m_ClassEventList.Array.data[18].m_Class @@ -198,11 +135,11 @@ Prefab: objectReference: {fileID: 0} - target: {fileID: 0} propertyPath: m_ClassEventList.Array.data[18].m_Event - value: -1 + value: 311 objectReference: {fileID: 0} - target: {fileID: 0} propertyPath: m_ClassEventList.Array.data[19].m_Event - value: -1 + value: 312 objectReference: {fileID: 0} - target: {fileID: 0} propertyPath: m_ClassEventList.Array.data[20].m_Class @@ -214,11 +151,11 @@ Prefab: objectReference: {fileID: 0} - target: {fileID: 0} propertyPath: m_ClassEventList.Array.data[20].m_Event - value: -1 + value: 307 objectReference: {fileID: 0} - target: {fileID: 0} propertyPath: m_ClassEventList.Array.data[21].m_Event - value: -1 + value: 308 objectReference: {fileID: 0} - target: {fileID: 0} propertyPath: m_ClassEventList.Array.data[22].m_Class @@ -296,6 +233,150 @@ Prefab: propertyPath: m_ClassifierName value: ${NLC_CLASSIFIER_NAME} objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClassEventList.Array.data[31].m_Class + value: personnel + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClassEventList.Array.data[31].m_Event + value: 423 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClassEventList.Array.data[32].m_Class + value: confirm_update + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClassEventList.Array.data[33].m_Class + value: cancel_update + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClassEventList.Array.data[32].m_Event + value: 700 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClassEventList.Array.data[33].m_Event + value: 701 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_MinWordConfidence + value: 0.3 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_MinClassEventConfidence + value: 0.4 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClassEventList.Array.data[34].m_Event + value: 902 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClassEventList.Array.data[34].m_Class + value: close_caption_on + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClassEventList.Array.data[35].m_Event + value: 903 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClassEventList.Array.data[35].m_Class + value: close_caption_off + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClassEventList.Array.data[36].m_Event + value: 900 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClassEventList.Array.data[36].m_Class + value: log_out + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClassEventList.Array.data[37].m_Event + value: 510 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClassEventList.Array.data[37].m_Class + value: virtual_keyboard_show + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClassEventList.Array.data[38].m_Class + value: show_first + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClassEventList.Array.data[38].m_Event + value: 420 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClassEventList.Array.data[39].m_Class + value: show_first_answer + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClassEventList.Array.data[40].m_Class + value: show_first_passage + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClassEventList.Array.data[41].m_Class + value: show_last + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClassEventList.Array.data[41].m_Event + value: 421 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClassEventList.Array.data[42].m_Class + value: show_last_answer + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClassEventList.Array.data[43].m_Class + value: show_last_passage + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClassEventList.Array.data[44].m_Class + value: health_panel_show + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClassEventList.Array.data[44].m_Event + value: 905 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClassEventList.Array.data[45].m_Class + value: log_panel_show + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClassEventList.Array.data[45].m_Event + value: 906 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClassEventList.Array.data[46].m_Class + value: about_xray + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClassEventList.Array.data[46].m_Event + value: 907 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClassEventList.Array.data[47].m_Class + value: ship_tracking + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClassEventList.Array.data[47].m_Event + value: 424 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClassEventList.Array.data[48].m_Class + value: procurement + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClassEventList.Array.data[48].m_Event + value: 425 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClassEventList.Array.data[49].m_Class + value: about_xray + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClassEventList.Array.data[49].m_Event + value: 907 + objectReference: {fileID: 0} m_RemovedComponents: [] m_ParentPrefab: {fileID: 0} m_RootGameObject: {fileID: 150770} diff --git a/Prefabs/NlcWidget.prefab.meta b/Prefabs/NaturalLanguageClassifierWidget.prefab.meta similarity index 100% rename from Prefabs/NlcWidget.prefab.meta rename to Prefabs/NaturalLanguageClassifierWidget.prefab.meta diff --git a/Prefabs/SpeechToTextWidget.prefab b/Prefabs/SpeechToTextWidget.prefab index 44c9c9283..739fc269c 100644 --- a/Prefabs/SpeechToTextWidget.prefab +++ b/Prefabs/SpeechToTextWidget.prefab @@ -22,8 +22,8 @@ Transform: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 175116} - m_LocalRotation: {x: 0, y: -.819152117, z: 0, w: .573576331} - m_LocalPosition: {x: -207.606384, y: 418, z: 570.393372} + m_LocalRotation: {x: 0, y: -0.8191521, z: 0, w: 0.57357633} + m_LocalPosition: {x: -207.60638, y: 418, z: 570.3934} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} @@ -40,21 +40,19 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_AutoConnect: 1 + m_ResultOutput: + m_Connections: [] m_StatusText: {fileID: 0} m_DetectSilence: 1 - m_SilenceThreshold: .0299999993 + m_SilenceThreshold: 0.03 m_WordConfidence: 0 m_TimeStamps: 0 m_MaxAlternatives: 1 m_EnableContinous: 1 m_EnableInterimResults: 1 m_Transcript: {fileID: 0} - m_TextOutput: - m_TargetObject: {fileID: 0} - m_TargetConnection: Avatar/Recognize - m_ResultOutput: - m_TargetObject: {fileID: 0} - m_TargetConnection: + m_Language: en-US + m_LogResult: 1 --- !u!1001 &100100000 Prefab: m_ObjectHideFlags: 1 @@ -66,6 +64,10 @@ Prefab: propertyPath: m_AutoConnect value: 1 objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LogResult + value: 1 + objectReference: {fileID: 0} m_RemovedComponents: [] m_ParentPrefab: {fileID: 0} m_RootGameObject: {fileID: 175116} diff --git a/Prefabs/Touch Hit Watson.prefab b/Prefabs/Touch Hit Watson.prefab new file mode 100644 index 000000000..5782fb27c --- /dev/null +++ b/Prefabs/Touch Hit Watson.prefab @@ -0,0 +1,98 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &183852 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22471328} + - 222: {fileID: 22246154} + - 114: {fileID: 11454912} + - 114: {fileID: 11425240} + m_Layer: 0 + m_Name: Touch Hit Watson + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &11425240 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 183852} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7cb960f8e83f447beb42da7d064d77e2, type: 3} + m_Name: + m_EditorClassIdentifier: + Text: {fileID: 0} +--- !u!114 &11454912 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 183852} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 22829b69db79e467b9df2b6db9bccdf3, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &22246154 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 183852} +--- !u!224 &22471328 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 183852} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 472, y: 378} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 0} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: 1ca5291cdab0c7440bf75a4a7a4a3282, + type: 3} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 183852} + m_IsPrefabParent: 1 diff --git a/Prefabs/Touch Hit Watson.prefab.meta b/Prefabs/Touch Hit Watson.prefab.meta new file mode 100644 index 000000000..63763efb7 --- /dev/null +++ b/Prefabs/Touch Hit Watson.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a4bbcb7dfeb4c1d4bb6557cd44ac80da +timeCreated: 1451329839 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Prefabs/Touch Visualizer Watson.prefab b/Prefabs/Touch Visualizer Watson.prefab new file mode 100644 index 000000000..af4db9b96 --- /dev/null +++ b/Prefabs/Touch Visualizer Watson.prefab @@ -0,0 +1,110 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &100000 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22401058} + - 114: {fileID: 11400000} + - 223: {fileID: 22341586} + m_Layer: 0 + m_Name: Touch Visualizer Watson + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1002 &100001 +EditorExtensionImpl: + serializedVersion: 6 +--- !u!1002 &400001 +EditorExtensionImpl: + serializedVersion: 6 +--- !u!1002 &2000001 +EditorExtensionImpl: + serializedVersion: 6 +--- !u!1002 &8100001 +EditorExtensionImpl: + serializedVersion: 6 +--- !u!1002 &9200001 +EditorExtensionImpl: + serializedVersion: 6 +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100000} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 75324aa372886435faa21a4145210f8e, type: 3} + m_Name: + m_EditorClassIdentifier: + touchProxy: {fileID: 11425240, guid: a4bbcb7dfeb4c1d4bb6557cd44ac80da, type: 2} + showTouchId: 1 + showTags: 1 + useDPI: 1 + touchSize: 1 +--- !u!1002 &11400001 +EditorExtensionImpl: + serializedVersion: 6 +--- !u!1002 &12400001 +EditorExtensionImpl: + serializedVersion: 6 +--- !u!223 &22341586 +Canvas: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100000} + m_Enabled: 1 + serializedVersion: 2 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingLayerID: 0 + m_SortingOrder: 9000 + m_TargetDisplay: 0 +--- !u!224 &22401058 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100000} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 0} + propertyPath: touchProxy + value: + objectReference: {fileID: 11425240, guid: a4bbcb7dfeb4c1d4bb6557cd44ac80da, + type: 2} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 100000} + m_IsPrefabParent: 1 +--- !u!1002 &100100001 +EditorExtensionImpl: + serializedVersion: 6 diff --git a/Prefabs/Touch Visualizer Watson.prefab.meta b/Prefabs/Touch Visualizer Watson.prefab.meta new file mode 100644 index 000000000..0d4f19e93 --- /dev/null +++ b/Prefabs/Touch Visualizer Watson.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1acd07626e252754da8a96f00b099b12 +timeCreated: 1451330005 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Prefabs/TouchManager.prefab b/Prefabs/TouchManager.prefab index b75ae6685..afc153aa9 100644 --- a/Prefabs/TouchManager.prefab +++ b/Prefabs/TouchManager.prefab @@ -9,14 +9,16 @@ GameObject: m_Component: - 4: {fileID: 456440} - 114: {fileID: 11447296} - - 114: {fileID: 11421058} - - 114: {fileID: 11418270} - - 114: {fileID: 11471262} - - 114: {fileID: 11410502} - - 114: {fileID: 11464796} - - 114: {fileID: 11444476} - - 114: {fileID: 11411050} - - 114: {fileID: 11459434} + - 114: {fileID: 11482954} + - 114: {fileID: 11437114} + - 114: {fileID: 11479124} + - 114: {fileID: 11457544} + - 114: {fileID: 11469728} + - 114: {fileID: 11459306} + - 114: {fileID: 11461230} + - 114: {fileID: 11479102} + - 114: {fileID: 11417566} + - 114: {fileID: 11495534} m_Layer: 0 m_Name: TouchManager m_TagString: Untagged @@ -33,9 +35,6 @@ GameObject: m_Component: - 4: {fileID: 438902} - 114: {fileID: 11412284} - - 114: {fileID: 11406678} - - 114: {fileID: 11459072} - - 114: {fileID: 11426162} m_Layer: 0 m_Name: Inputs m_TagString: Untagged @@ -43,17 +42,18 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &161306 +--- !u!1 &196872 GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} serializedVersion: 4 m_Component: - - 4: {fileID: 459882} - - 114: {fileID: 11403072} + - 224: {fileID: 22440388} + - 114: {fileID: 11455964} + - 223: {fileID: 22308338} m_Layer: 0 - m_Name: Touch Debugger + m_Name: Touch Visualizer Watson m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -78,43 +78,14 @@ Transform: m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 109220} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -394.5, y: -222, z: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 438902} - - {fileID: 459882} + - {fileID: 22440388} m_Father: {fileID: 0} m_RootOrder: 0 ---- !u!4 &459882 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 161306} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 456440} - m_RootOrder: 1 ---- !u!114 &11403072 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 161306} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 923107734, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - showTouchId: 0 - showTags: 0 - texture: {fileID: 2800000, guid: 1ca5291cdab0c7440bf75a4a7a4a3282, type: 3} - useDPI: 1 - touchSize: 1 - fontColor: {r: 0, g: 1, b: 1, a: 1} ---- !u!114 &11406678 +--- !u!114 &11412284 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} @@ -122,7 +93,7 @@ MonoBehaviour: m_GameObject: {fileID: 132064} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 175516946, guid: bb6056dc800c1084da7273cb9f23f5cb, type: 3} + m_Script: {fileID: 11500000, guid: e276ccba4f7314d9988af19f9b3a611b, type: 3} m_Name: m_EditorClassIdentifier: advancedProps: 0 @@ -135,7 +106,14 @@ MonoBehaviour: PenTags: tagList: - Pen ---- !u!114 &11410502 + Windows8Touch: 0 + Windows7Touch: 0 + WebPlayerTouch: 1 + WebGLTouch: 1 + Windows8Mouse: 1 + Windows7Mouse: 1 + UniversalWindowsMouse: 1 +--- !u!114 &11417566 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} @@ -143,61 +121,39 @@ MonoBehaviour: m_GameObject: {fileID: 109220} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 681217450, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 2 - maxTouches: 2 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 7 - minScreenPointsDistance: .5 - screenTransformThreshold: .200000003 ---- !u!114 &11411050 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 109220} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 438491968, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 7a878a6ff128243dfb1d89ca0273f059, type: 3} m_Name: m_EditorClassIdentifier: advancedProps: 0 minTouches: 0 maxTouches: 0 combineTouches: 0 - combineTouchesInterval: .300000012 + combineTouchesInterval: 0.3 useSendMessage: 0 sendStateChangeMessages: 0 sendMessageTarget: {fileID: 0} requireGestureToFail: {fileID: 0} - friendlyGestures: [] - ignoreChildren: 0 ---- !u!114 &11412284 + friendlyGestures: + - {fileID: 11461230} + - {fileID: 11479102} + numberOfTapsRequired: 3 + timeLimit: 0.7 + distanceLimit: 0.3 +--- !u!114 &11437114 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 132064} + m_GameObject: {fileID: 109220} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -1496140412, guid: bb6056dc800c1084da7273cb9f23f5cb, type: 3} + m_Script: {fileID: 11500000, guid: bc7fd33c57d694994b0ab9f33fcdcbea, type: 3} m_Name: m_EditorClassIdentifier: - advancedProps: 0 - DisableMouseInputInBuilds: 1 - Tags: - tagList: - - Touch ---- !u!114 &11418270 + Name: Global Fullscreen + type: 2 + _camera: {fileID: 0} +--- !u!114 &11447296 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} @@ -205,47 +161,58 @@ MonoBehaviour: m_GameObject: {fileID: 109220} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1780265814, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 1ce6f84be69c24efc9afd3dac982cdfd, type: 3} m_Name: m_EditorClassIdentifier: - Name: Global Fullscreen - type: 2 - _camera: {fileID: 0} ---- !u!114 &11421058 + m_TapGesture: {fileID: 11461230} + m_DoubleTapGesture: {fileID: 11479102} + m_ThreeTapGesture: {fileID: 11417566} + m_OneFingerMoveGesture: {fileID: 11479124} + m_TwoFingerMoveGesture: {fileID: 11457544} + m_PressGesture: {fileID: 11469728} + m_ReleaseGesture: {fileID: 11459306} + m_LongPressGesture: {fileID: 11495534} +--- !u!114 &11455964 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 109220} + m_GameObject: {fileID: 196872} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -409488130, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 75324aa372886435faa21a4145210f8e, type: 3} m_Name: m_EditorClassIdentifier: - displayDevice: {fileID: 0} - shouldCreateCameraLayer: 1 - useSendMessage: 0 - sendMessageEvents: 60 - sendMessageTarget: {fileID: 0} - layers: - - {fileID: 0} ---- !u!114 &11426162 + touchProxy: {fileID: 11425240, guid: a4bbcb7dfeb4c1d4bb6557cd44ac80da, type: 2} + showTouchId: 1 + showTags: 1 + useDPI: 1 + touchSize: 1 +--- !u!114 &11457544 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 132064} + m_GameObject: {fileID: 109220} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 770742126, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 74ae431eff8434b0897d3f7f1cff4311, type: 3} m_Name: m_EditorClassIdentifier: advancedProps: 0 - DisableOnNonTouchPlatforms: 1 - Tags: - tagList: - - Touch ---- !u!114 &11444476 + minTouches: 2 + maxTouches: 2 + combineTouches: 0 + combineTouchesInterval: 0.3 + useSendMessage: 0 + sendStateChangeMessages: 0 + sendMessageTarget: {fileID: 0} + requireGestureToFail: {fileID: 0} + friendlyGestures: [] + type: 7 + minScreenPointsDistance: 0.5 + screenTransformThreshold: 0.1 +--- !u!114 &11459306 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} @@ -253,21 +220,21 @@ MonoBehaviour: m_GameObject: {fileID: 109220} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1088824302, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 141e75b9b7edb42df80a22a14f03ae4b, type: 3} m_Name: m_EditorClassIdentifier: advancedProps: 0 minTouches: 0 maxTouches: 0 combineTouches: 0 - combineTouchesInterval: .300000012 + combineTouchesInterval: 0.3 useSendMessage: 0 sendStateChangeMessages: 0 sendMessageTarget: {fileID: 0} requireGestureToFail: {fileID: 0} friendlyGestures: [] ignoreChildren: 0 ---- !u!114 &11447296 +--- !u!114 &11461230 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} @@ -275,32 +242,47 @@ MonoBehaviour: m_GameObject: {fileID: 109220} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1ce6f84be69c24efc9afd3dac982cdfd, type: 3} + m_Script: {fileID: 11500000, guid: 7a878a6ff128243dfb1d89ca0273f059, type: 3} m_Name: m_EditorClassIdentifier: - m_TapGesture: {fileID: 11464796} - m_ThreeTapGesture: {fileID: 11459434} - m_OneFingerMoveGesture: {fileID: 11471262} - m_TwoFingerMoveGesture: {fileID: 11410502} - m_PressGesture: {fileID: 11444476} - m_ReleaseGesture: {fileID: 11411050} ---- !u!114 &11459072 + advancedProps: 0 + minTouches: 0 + maxTouches: 0 + combineTouches: 0 + combineTouchesInterval: 0.3 + useSendMessage: 0 + sendStateChangeMessages: 0 + sendMessageTarget: {fileID: 0} + requireGestureToFail: {fileID: 0} + friendlyGestures: + - {fileID: 11417566} + - {fileID: 11479102} + numberOfTapsRequired: 1 + timeLimit: Infinity + distanceLimit: Infinity +--- !u!114 &11469728 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 132064} + m_GameObject: {fileID: 109220} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -102971247, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: c6be551879cd14d739b0188844ef2c60, type: 3} m_Name: m_EditorClassIdentifier: advancedProps: 0 - DisableOnMobilePlatforms: 1 - Tags: - tagList: - - Mouse ---- !u!114 &11459434 + minTouches: 0 + maxTouches: 0 + combineTouches: 0 + combineTouchesInterval: 0.3 + useSendMessage: 0 + sendStateChangeMessages: 0 + sendMessageTarget: {fileID: 0} + requireGestureToFail: {fileID: 0} + friendlyGestures: [] + ignoreChildren: 0 +--- !u!114 &11479102 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} @@ -308,24 +290,25 @@ MonoBehaviour: m_GameObject: {fileID: 109220} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1235405773, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 7a878a6ff128243dfb1d89ca0273f059, type: 3} m_Name: m_EditorClassIdentifier: advancedProps: 0 minTouches: 0 maxTouches: 0 combineTouches: 0 - combineTouchesInterval: .300000012 + combineTouchesInterval: 0.3 useSendMessage: 0 sendStateChangeMessages: 0 sendMessageTarget: {fileID: 0} requireGestureToFail: {fileID: 0} friendlyGestures: - - {fileID: 11464796} - numberOfTapsRequired: 3 - timeLimit: .699999988 - distanceLimit: .300000012 ---- !u!114 &11464796 + - {fileID: 11461230} + - {fileID: 11417566} + numberOfTapsRequired: 2 + timeLimit: 0.7 + distanceLimit: 0.3 +--- !u!114 &11479124 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} @@ -333,24 +316,23 @@ MonoBehaviour: m_GameObject: {fileID: 109220} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1235405773, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 74ae431eff8434b0897d3f7f1cff4311, type: 3} m_Name: m_EditorClassIdentifier: advancedProps: 0 - minTouches: 0 - maxTouches: 0 + minTouches: 1 + maxTouches: 1 combineTouches: 0 - combineTouchesInterval: .300000012 + combineTouchesInterval: 0.3 useSendMessage: 0 sendStateChangeMessages: 0 sendMessageTarget: {fileID: 0} requireGestureToFail: {fileID: 0} - friendlyGestures: - - {fileID: 11459434} - numberOfTapsRequired: 1 - timeLimit: Infinity - distanceLimit: Infinity ---- !u!114 &11471262 + friendlyGestures: [] + type: 1 + minScreenPointsDistance: 0.5 + screenTransformThreshold: 0.1 +--- !u!114 &11482954 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} @@ -358,22 +340,75 @@ MonoBehaviour: m_GameObject: {fileID: 109220} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 681217450, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 0dd4c394fe06f4ea49e03aaa5e7a8190, type: 3} + m_Name: + m_EditorClassIdentifier: + displayDevice: {fileID: 0} + shouldCreateCameraLayer: 1 + shouldCreateStandardInput: 1 + useSendMessage: 0 + sendMessageEvents: 60 + sendMessageTarget: {fileID: 0} + layers: [] +--- !u!114 &11495534 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 109220} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 65c8d97aff62a473e888feae3bec54cd, type: 3} m_Name: m_EditorClassIdentifier: advancedProps: 0 minTouches: 1 maxTouches: 1 combineTouches: 0 - combineTouchesInterval: .300000012 + combineTouchesInterval: 0.3 useSendMessage: 0 sendStateChangeMessages: 0 sendMessageTarget: {fileID: 0} requireGestureToFail: {fileID: 0} friendlyGestures: [] - type: 1 - minScreenPointsDistance: .5 - screenTransformThreshold: .200000003 + timeToPress: 1 + distanceLimit: 1 +--- !u!223 &22308338 +Canvas: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 196872} + m_Enabled: 1 + serializedVersion: 2 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_SortingLayerID: 0 + m_SortingOrder: 9000 + m_TargetDisplay: 0 +--- !u!224 &22440388 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 196872} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 456440} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} --- !u!1001 &100100000 Prefab: m_ObjectHideFlags: 1 @@ -387,31 +422,31 @@ Prefab: objectReference: {fileID: 0} - target: {fileID: 0} propertyPath: friendlyGestures.Array.size - value: 1 + value: 2 objectReference: {fileID: 0} - target: {fileID: 0} propertyPath: layers.Array.data[0] value: - objectReference: {fileID: 11418270} + objectReference: {fileID: 11437114} - target: {fileID: 0} propertyPath: maxTouches - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 0} propertyPath: m_PressGesture value: - objectReference: {fileID: 11444476} + objectReference: {fileID: 0} - target: {fileID: 0} propertyPath: m_ReleaseGesture value: - objectReference: {fileID: 11411050} + objectReference: {fileID: 0} - target: {fileID: 0} propertyPath: numberOfTapsRequired value: 3 objectReference: {fileID: 0} - target: {fileID: 0} propertyPath: distanceLimit - value: .300000012 + value: 1 objectReference: {fileID: 0} - target: {fileID: 0} propertyPath: timeLimit @@ -420,7 +455,7 @@ Prefab: - target: {fileID: 0} propertyPath: m_ThreeTapGesture value: - objectReference: {fileID: 11459434} + objectReference: {fileID: 0} - target: {fileID: 0} propertyPath: m_Enabled value: 1 @@ -428,7 +463,15 @@ Prefab: - target: {fileID: 0} propertyPath: friendlyGestures.Array.data[0] value: - objectReference: {fileID: 11459434} + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LongPressGesture + value: + objectReference: {fileID: 11495534} + - target: {fileID: 0} + propertyPath: minTouches + value: 1 + objectReference: {fileID: 0} m_RemovedComponents: [] m_ParentPrefab: {fileID: 0} m_RootGameObject: {fileID: 109220} diff --git a/README.md b/README.md new file mode 100644 index 000000000..6f0bf546f --- /dev/null +++ b/README.md @@ -0,0 +1,258 @@ +# Watson Developer Cloud Unity SDK + +Use this SDK to build Watson-powered applications in Unity. It comes with a set of prefabs that you can use to develop a simple Watson application in just one minute. + +## Table of Contents +* [Before you begin](#before-you-begin) +* [Getting the Watson SDK and adding it to Unity](#getting-the-watson-sdk-and-adding-it-to-unity) + * [Installing the SDK source into your Unity project](#installing-the-sdk-source-into-your-unity-project) +* [Configuring your service credentials](#configuring-your-service-credentials) +* [IBM Watson Services](#ibm-watson-services) + * [Speech to Text](#speech-to-text) + * [Text to Speech](#text-to-speech) + * [Language Translation](#language-translation) + * [Dialog](#dialog) + * [Natural Language Classifier](#natural-language-classifier) +* [Developing a basic application in one minute](#developing-a-basic-application-in-one-minute) +* [Documentation](#documentation) +* [License](#license) +* [Contributing](#contributing) + +## Before you begin +Ensure that you have the following prerequisites: +* An IBM Bluemix account. If you don't have one, [sign up][bluemix_registration]. +* [Unity][get_unity]. You win! You can use the **free** Personal edition. +* Change the build settings in Unity (**File > Build Settings**) to PC, Mac & Linux Standalone. Click PC, Mac & Linux Standalone and click the Switch Platform button. + +## Getting the Watson SDK and adding it to Unity +You can get the latest SDK release by clicking [here][latest_release]. + +### Installing the SDK source into your Unity project +Move the `unity-sdk` directory into the Assets directory of the Unity project. **Rename the SDK directory from `unity-sdk` to 'Watson'.** + +## Configuring your service credentials +You will need the 'username' and 'password' credentials for each service. Service credentials are different from your Bluemix account username and password. +1. Determine which services to configure. + +2. If you have configured the services already, complete the following steps. Otherwise, go to step 3. + 1. Log in to Bluemix at https://bluemix.net. + 2. Navigate to the **Dashboard** on your Bluemix account. + 3. Click the **tile** for a service. + 4. Click **Service Credentials**. + 5. Copy the content in the **Service Credentials** field, and paste it in the credentials field in the Config Editor (**Watson -> Config Editor**) in Unity. + 6. Click **Apply Credentials**. + 7. Repeat steps 1 - 5 for each service you want to use. + ![services-0](http://g.recordit.co/cPa1FOGwEU.gif) +3. If you need to configure the services that you want to use, complete the following steps. + 1. In the Config Editor (**Watson -> Config Editor**), click the **Configure** button beside the service to register. The service window is displayed. + 2. Under **Add Service**, type a unique name for the service instance in the Service name field. For example, type 'my-service-name'. Leave the default values for the other options. + 3. Click **Create**. + 4. Click **Service Credentials**. + 5. Copy the content in the **Service Credentials** field, and paste it in the empty credentials field in the **Config Editor** in Unity. + 6. Click **Apply Credentials**. + 7. Repeat steps 1 - 5 for each service you want to use. + ![services-1](http://g.recordit.co/zyL5RZYXqa.gif) +4. Click **Save**, and close the Config Editor. + +## IBM Watson Services +### Speech to Text +Use the [Speech to Text][speech_to_text] service to recognize the text from a .wav file. Assign the .wav file to the script in the Unity Editor. Speech to text can also be used to convert an audio stream into text. + +```cs +[SerializeField] +private AudioClip m_AudioClip = new AudioClip(); +private SpeechToText m_SpeechToText = new SpeechToText(); + +void Start() +{ + m_SpeechToText.Recognize(m_AudioClip, HandleOnRecognize); +} + +void HandleOnRecognize (SpeechResultList result) +{ + if (result != null && result.Results.Length > 0) + { + foreach( var res in result.Results ) + { + foreach( var alt in res.Alternatives ) + { + string text = alt.Transcript; + Debug.Log(string.Format( "{0} ({1}, {2:0.00})\n", text, res.Final ? "Final" : "Interim", alt.Confidence)); + } + } + } +} +``` + +### Text to Speech +Use the [Text to Speech][text_to_speech] service to get the available voices to synthesize. + +```cs +TextToSpeech m_TextToSpeech = new TextToSpeech(); +string m_TestString = "Hello! This is Text to Speech!"; + +void Start () +{ + m_TextToSpeech.Voice = VoiceType.en_GB_Kate; + m_TextToSpeech.ToSpeech(m_TestString, HandleToSpeechCallback); +} + +void HandleToSpeechCallback (AudioClip clip) +{ + PlayClip(clip); +} + +private void PlayClip(AudioClip clip) +{ + if (Application.isPlaying && clip != null) + { + GameObject audioObject = new GameObject("AudioObject"); + AudioSource source = audioObject.AddComponent(); + source.spatialBlend = 0.0f; + source.loop = false; + source.clip = clip; + source.Play(); + + GameObject.Destroy(audioObject, clip.length); + } +} +``` + +### Language Translation +Select a domain, then identify or select the language of text, and then translate the text from one supported language to another. +Example: Ask how to get to the disco in Spanish using [Language Translation][language_translation] service. + +```cs +private LanguageTranslation m_Translate = new LanguageTranslation(); +private string m_PharseToTranslate = "How do I get to the disco?"; + +void Start () +{ + Debug.Log("English Phrase to translate: " + m_PharseToTranslate); + m_Translate.GetTranslation(m_PharseToTranslate, "en", "es", OnGetTranslation); +} + +private void OnGetTranslation(Translations translation) +{ + if (translation != null && translation.translations.Length > 0) + Debug.Log("Spanish Translation: " + translation.translations[0].translation); +} +``` + +### Dialog +Converse with Watson using the [Dialog][dialog] service. Upload a dialog by following instructions on [Uploading Dialogs](#uploading-dialogs) and replace the DialogID in m_DialogID below with the uploaded dialog's DialogID. + +```cs +private Dialog m_Dialog = new Dialog(); +private string m_DialogID = ; + +void Start () +{ + Debug.Log("User: 'Hello'"); + m_Dialog.Converse(m_DialogID, "Hello", OnConverse); +} + +private void OnConverse(ConverseResponse resp) +{ + foreach (string r in resp.response) + Debug.Log("Watson: " + r); +} +``` +#### Uploading dialogs +You can upload dialogs by using the Dialog Editor. + 1. Click **Watson -> Dialog Editor**. The Dialog Editor window is displayed. + 2. Specify a **unique** name for the dialog in the **Name** field. + 3. Click **Upload**. + 4. Navigate to the dialog file to be uploaded, and click **Open**. + +### Natural Language Classifier +Use [Natural Language Classifier][natural_language_classifier] service to create a classifier instance by providing a set of representative strings and a set of one or more correct classes for each as training. Then use the trained classifier to classify your new question for best matching answers or to retrieve next actions for your application. + +The SDK contains a Test Natural Language Classifier, which contains classes for temperature and conditions. Before you develop a sample application in the next section, train the classifier on the test data. + +1. Open the Natural Language Classifier Editor by clicking **Watson -> Natural Language Classifier Editor**. +2. Locate the Test Natural Language Classifier, and click **Train**. The training process begins. The process lasts a few minutes. +3. To check the status of the training process, click **Refresh**. When the status changes from Training to Available, the process is finished. +4. Replace the ClassifierID below with the Natural Language Classifier instance's ClassifierID. + +```cs +private NaturalLanguageClassifier m_NaturalLanguageClassifier = new NaturalLanguageClassifier(); +private string m_InputString = "Is it hot outside?"; +private string m_ClassifierId = ; + +void Start () +{ + Debug.Log("Input String: " + m_InputString); + m_NaturalLanguageClassifier.Classify(m_ClassifierId, m_InputString, OnClassify); +} + +private void OnClassify(ClassifyResult result) +{ + if (result != null) + { + Debug.Log("Classify Result: " + result.top_class); + } +} +``` + +#### Managing classifiers +You can use the Natural Language Classifier Editor to import and export classifier files, and create new classifiers and edit them. + +##### Importing files for existing classifiers +1. Click **Watson -> Natural Language Classifier Editor**. The Natural Language Classifier Editor window is displayed. +2. Click **Import**. +3. Navigate to the '.csv' file to import, and click **Open**. The file is imported. +4. Click **Train**. + +##### Creating new classifiers +1. Click **Watson -> Natural Language Classifier Editor**. The Natural Language Classifier Editor window is displayed. +2. In the **Name** field, specify a name for the classifier. +3. Click **Create**. + +## Developing a basic application in one minute +You can quickly develop a basic application that uses the Speech to Text service and the Natural Language Classifier service by using the prefabs that come with the SDK. Ensure that you prepare the test data before you complete the the following steps: + 1. Create a new scene and drag the following prefabs from **Assets -> Watson -> Prefabs**, and drop them in the Hierarchy tab: + * MicWidget + * SpeechToTextWidget + * Natural Language Classifier Widget + * ClassDisplayWidget + 2. Select the **Natural Language Classifier Widget**. + 5. In the **Classifier Name** field in the Inspector tab, specify 'TestNaturalLanguageClassifier'. + 6. In the Natural Language Classifier Editor, expand the **Test Natural Language Classifier** , expand the classes, and determine which questions about the weather to ask to test the classifier. + 7. Run the application. + 8. Say your questions into the microphone to test the MicWidget, the SpeechToTextWidget, and the NaturalLanguageClassifierWidget. + +## Documentation +To read the documentation you need to have a **chm reader** installed. Open the documentation by selecting API Reference the Watson menu (**Watson -> API Reference**). + +## Questions + +If you are having difficulties using the APIs or have a question about the IBM Watson Services, please ask a question on +[dW Answers](https://developer.ibm.com/answers/questions/ask/?topics=watson) +or [Stack Overflow](http://stackoverflow.com/questions/ask?tags=ibm-watson). + +## Open Source @ IBM +Find more open source projects on the [IBM Github Page](http://ibm.github.io/). + +## License +This library is licensed under Apache 2.0. Full license text is available in [LICENSE](LICENSE). + +## Contributing +See [CONTRIBUTING.md](.github/CONTRIBUTING.md). + +[wdc]: http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/ +[wdc_unity_sdk]: https://github.com/watson-developer-cloud/unity-sdk +[latest_release]: https://github.com/watson-developer-cloud/unity-sdk/archive/0.3.0.zip +[bluemix_registration]: http://bluemix.net/registration +[get_unity]: https://unity3d.com/get-unity + +[speech_to_text]: http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/speech-to-text/ +[text_to_speech]: http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/text-to-speech/ +[language_translation]: http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/language-translation/ +[dialog]: http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/dialog/ +[natural_language_classifier]: http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/nl-classifier/ + +[alchemy_language]: http://www.alchemyapi.com/products/alchemylanguage +[sentiment_analysis]: http://www.alchemyapi.com/products/alchemylanguage/sentiment-analysis +[tone_analyzer]: http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/tone-analyzer/ +[tradeoff_analytics]: http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/tradeoff-analytics/ diff --git a/Resources/WatsonLogo_512x512.jpg.meta b/Resources/WatsonLogo_512x512.jpg.meta deleted file mode 100644 index 40552061f..000000000 --- a/Resources/WatsonLogo_512x512.jpg.meta +++ /dev/null @@ -1,56 +0,0 @@ -fileFormatVersion: 2 -guid: af10b96cdec104ef2b9f7d11c7d855ec -timeCreated: 1444839589 -licenseType: Pro -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 2048 - textureSettings: - filterMode: -1 - aniso: 16 - mipBias: -1 - wrapMode: 1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 0 - textureType: 0 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Resources/IBM_Watson_avatar.png b/Resources/ibm-watson-avatar.png similarity index 100% rename from Resources/IBM_Watson_avatar.png rename to Resources/ibm-watson-avatar.png diff --git a/Resources/ibm-watson-avatar.png.meta b/Resources/ibm-watson-avatar.png.meta new file mode 100644 index 000000000..6ca1329f5 --- /dev/null +++ b/Resources/ibm-watson-avatar.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: 60de88fd187ae4ffaa17a5e9500111f1 +timeCreated: 1461685993 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 16 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 8 + buildTargetSettings: [] + spriteSheet: + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Resources/WatsonLogo_512x512.jpg b/Resources/watsonLogo-512x512.jpg similarity index 100% rename from Resources/WatsonLogo_512x512.jpg rename to Resources/watsonLogo-512x512.jpg diff --git a/ThirdParty/TouchScript/Examples/_misc/Models/Table/Materials/table_chair_01.jpg.meta b/Resources/watsonLogo-512x512.jpg.meta similarity index 83% rename from ThirdParty/TouchScript/Examples/_misc/Models/Table/Materials/table_chair_01.jpg.meta rename to Resources/watsonLogo-512x512.jpg.meta index 0a8df2dc3..3e61d39e1 100644 --- a/ThirdParty/TouchScript/Examples/_misc/Models/Table/Materials/table_chair_01.jpg.meta +++ b/Resources/watsonLogo-512x512.jpg.meta @@ -1,5 +1,7 @@ fileFormatVersion: 2 -guid: 1bd4269a1e460f449bb6752f18f8bcaa +guid: c4948371808d74ac88e1bd879e4c9625 +timeCreated: 1461685993 +licenseType: Pro TextureImporter: fileIDToRecycleName: {} serializedVersion: 2 @@ -15,17 +17,17 @@ TextureImporter: bumpmap: convertToNormalMap: 0 externalNormalMap: 0 - heightScale: .25 + heightScale: 0.25 normalMapFilter: 0 isReadable: 0 grayScaleToAlpha: 0 generateCubemap: 0 cubemapConvolution: 0 - cubemapConvolutionSteps: 8 + cubemapConvolutionSteps: 7 cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 - maxTextureSize: 1024 + maxTextureSize: 2048 textureSettings: filterMode: -1 aniso: -1 @@ -40,7 +42,7 @@ TextureImporter: spriteExtrude: 1 spriteMeshType: 1 alignment: 0 - spritePivot: {x: .5, y: .5} + spritePivot: {x: 0.5, y: 0.5} spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 alphaIsTransparency: 0 @@ -48,6 +50,7 @@ TextureImporter: buildTargetSettings: [] spriteSheet: sprites: [] + outline: [] spritePackingTag: userData: assetBundleName: diff --git a/Resources/WatsonSpriteIcon_32x32.jpg b/Resources/watsonSpriteIcon-32x32.jpg similarity index 100% rename from Resources/WatsonSpriteIcon_32x32.jpg rename to Resources/watsonSpriteIcon-32x32.jpg diff --git a/Resources/watsonSpriteIcon-32x32.jpg.meta b/Resources/watsonSpriteIcon-32x32.jpg.meta new file mode 100644 index 000000000..c4b177d8b --- /dev/null +++ b/Resources/watsonSpriteIcon-32x32.jpg.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: a9f0e146216cb43ab9e7c616cd2c3de7 +timeCreated: 1461685993 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 16 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 8 + buildTargetSettings: [] + spriteSheet: + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Resources/WatsonSpriteLogo_506x506.jpg b/Resources/watsonSpriteLogo-506x506.jpg similarity index 100% rename from Resources/WatsonSpriteLogo_506x506.jpg rename to Resources/watsonSpriteLogo-506x506.jpg diff --git a/Resources/watsonSpriteLogo-506x506.jpg.meta b/Resources/watsonSpriteLogo-506x506.jpg.meta new file mode 100644 index 000000000..a2808609c --- /dev/null +++ b/Resources/watsonSpriteLogo-506x506.jpg.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: caa641412ebe74ae1a75d8ad5c5f9eee +timeCreated: 1461685993 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 16 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 8 + buildTargetSettings: [] + spriteSheet: + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scenes.meta b/Scenes.meta deleted file mode 100644 index 1f1815e5f..000000000 --- a/Scenes.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 52249bdfb2768421a80988e7fe54795f -folderAsset: yes -timeCreated: 1442344943 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Scenes/TestTTS.unity b/Scenes/TestTTS.unity deleted file mode 100644 index 2ec4a49ed..000000000 --- a/Scenes/TestTTS.unity +++ /dev/null @@ -1,1504 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!29 &1 -SceneSettings: - m_ObjectHideFlags: 0 - m_PVSData: - m_PVSObjectsArray: [] - m_PVSPortalsArray: [] - m_OcclusionBakeSettings: - smallestOccluder: 5 - smallestHole: .25 - backfaceThreshold: 100 ---- !u!104 &2 -RenderSettings: - m_ObjectHideFlags: 0 - serializedVersion: 6 - m_Fog: 0 - m_FogColor: {r: .5, g: .5, b: .5, a: 1} - m_FogMode: 3 - m_FogDensity: .00999999978 - m_LinearFogStart: 0 - m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: .211999997, g: .226999998, b: .259000003, a: 1} - m_AmbientEquatorColor: {r: .114, g: .125, b: .133000001, a: 1} - m_AmbientGroundColor: {r: .0469999984, g: .0430000015, b: .0350000001, a: 1} - m_AmbientIntensity: 1 - m_AmbientMode: 0 - m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} - m_HaloStrength: .5 - m_FlareStrength: 1 - m_FlareFadeSpeed: 3 - m_HaloTexture: {fileID: 0} - m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} - m_DefaultReflectionMode: 0 - m_DefaultReflectionResolution: 128 - m_ReflectionBounces: 1 - m_ReflectionIntensity: 1 - m_CustomReflection: {fileID: 0} - m_Sun: {fileID: 0} ---- !u!157 &3 -LightmapSettings: - m_ObjectHideFlags: 0 - serializedVersion: 5 - m_GIWorkflowMode: 0 - m_LightmapsMode: 1 - m_GISettings: - serializedVersion: 2 - m_BounceScale: 1 - m_IndirectOutputScale: 1 - m_AlbedoBoost: 1 - m_TemporalCoherenceThreshold: 1 - m_EnvironmentLightingMode: 0 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 1 - m_LightmapEditorSettings: - serializedVersion: 3 - m_Resolution: 2 - m_BakeResolution: 40 - m_TextureWidth: 1024 - m_TextureHeight: 1024 - m_AOMaxDistance: 1 - m_Padding: 2 - m_CompAOExponent: 0 - m_LightmapParameters: {fileID: 0} - m_TextureCompression: 1 - m_FinalGather: 0 - m_FinalGatherRayCount: 1024 - m_ReflectionCompression: 2 - m_LightmapSnapshot: {fileID: 0} - m_RuntimeCPUUsage: 25 ---- !u!196 &4 -NavMeshSettings: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_BuildSettings: - serializedVersion: 2 - agentRadius: .5 - agentHeight: 2 - agentSlope: 45 - agentClimb: .400000006 - ledgeDropHeight: 0 - maxJumpAcrossDistance: 0 - accuratePlacement: 0 - minRegionArea: 2 - cellSize: .166666672 - manualCellSize: 0 - m_NavMeshData: {fileID: 0} ---- !u!1 &284908835 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 121360, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 284908836} - - 222: {fileID: 284908838} - - 114: {fileID: 284908837} - m_Layer: 5 - m_Name: Banner_Upper_Element - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &284908836 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 22486242, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 284908835} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1754115494} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 80} - m_Pivot: {x: .99000001, y: 1.10000002} ---- !u!114 &284908837 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 11427122, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 284908835} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 7ff94ea14c816481191ba8fb97d349a5, type: 3} - m_Type: 0 - m_PreserveAspect: 1 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &284908838 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 22255640, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 284908835} ---- !u!1 &805880026 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 138814, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 805880027} - - 20: {fileID: 805880031} - - 92: {fileID: 805880030} - - 124: {fileID: 805880029} - - 81: {fileID: 805880028} - m_Layer: 0 - m_Name: MainCamera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &805880027 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 486262, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 805880026} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -320, y: -478.870605, z: -15.0588236} - m_LocalScale: {x: 1.50588238, y: 1.50588238, z: 1.50588238} - m_Children: [] - m_Father: {fileID: 1697454588} - m_RootOrder: 4 ---- !u!81 &805880028 -AudioListener: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 8124566, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 805880026} - m_Enabled: 1 ---- !u!124 &805880029 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 12471746, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 805880026} - m_Enabled: 1 ---- !u!92 &805880030 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 9243690, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 805880026} - m_Enabled: 1 ---- !u!20 &805880031 -Camera: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 2020416, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 805880026} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 2 - m_BackGroundColor: {r: 0, g: 0, b: 0, a: .0196078438} - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: .300000012 - far clip plane: 1000 - field of view: 60 - orthographic: 0 - orthographic size: 5 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: .0219999999 - m_StereoMirrorMode: 0 ---- !u!1 &884120618 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 178826, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 884120620} - - 222: {fileID: 884120621} - - 114: {fileID: 884120619} - m_Layer: 0 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &884120619 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 11416320, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 884120618} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: .196078435, g: .196078435, b: .196078435, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 20 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 3 - m_RichText: 0 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: ---- !u!224 &884120620 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 22498304, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 884120618} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1263337888} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: -.5} - m_SizeDelta: {x: -20, y: -13} - m_Pivot: {x: .5, y: .5} ---- !u!222 &884120621 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 22268122, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 884120618} ---- !u!1001 &933005770 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 1697454588} - m_Modifications: - - target: {fileID: 11421058, guid: 18d6f509dac7d89419df972e1daa5d9b, type: 2} - propertyPath: layers.Array.size - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 456440, guid: 18d6f509dac7d89419df972e1daa5d9b, type: 2} - propertyPath: m_LocalPosition.x - value: -394.5 - objectReference: {fileID: 0} - - target: {fileID: 456440, guid: 18d6f509dac7d89419df972e1daa5d9b, type: 2} - propertyPath: m_LocalPosition.y - value: -222 - objectReference: {fileID: 0} - - target: {fileID: 456440, guid: 18d6f509dac7d89419df972e1daa5d9b, type: 2} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 456440, guid: 18d6f509dac7d89419df972e1daa5d9b, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 456440, guid: 18d6f509dac7d89419df972e1daa5d9b, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 456440, guid: 18d6f509dac7d89419df972e1daa5d9b, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 456440, guid: 18d6f509dac7d89419df972e1daa5d9b, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 456440, guid: 18d6f509dac7d89419df972e1daa5d9b, type: 2} - propertyPath: m_RootOrder - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 11421058, guid: 18d6f509dac7d89419df972e1daa5d9b, type: 2} - propertyPath: layers.Array.data[0] - value: - objectReference: {fileID: 933005772} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: 18d6f509dac7d89419df972e1daa5d9b, type: 2} - m_IsPrefabParent: 0 ---- !u!4 &933005771 stripped -Transform: - m_PrefabParentObject: {fileID: 456440, guid: 18d6f509dac7d89419df972e1daa5d9b, type: 2} - m_PrefabInternal: {fileID: 933005770} ---- !u!114 &933005772 stripped -MonoBehaviour: - m_PrefabParentObject: {fileID: 11418270, guid: 18d6f509dac7d89419df972e1daa5d9b, - type: 2} - m_PrefabInternal: {fileID: 933005770} - m_Script: {fileID: 1780265814, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} ---- !u!1 &1033307588 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 155860, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1033307589} - - 222: {fileID: 1033307591} - - 114: {fileID: 1033307590} - m_Layer: 5 - m_Name: Line - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1033307589 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 22443144, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1033307588} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1754115494} - m_RootOrder: 2 - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: -100} - m_SizeDelta: {x: -18, y: 3} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1033307590 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 11464114, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1033307588} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: .809000015} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 1 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &1033307591 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 22214610, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1033307588} ---- !u!1 &1263337885 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 144738, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1263337888} - - 222: {fileID: 1263337889} - - 114: {fileID: 1263337887} - - 114: {fileID: 1263337886} - m_Layer: 0 - m_Name: InputField - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1263337886 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 11410406, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1263337885} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 575553740, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1} - m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1} - m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} - m_ColorMultiplier: 1 - m_FadeDuration: .100000001 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 1263337887} - m_TextComponent: {fileID: 884120619} - m_Placeholder: {fileID: 2001689676} - m_ContentType: 0 - m_InputType: 0 - m_AsteriskChar: 42 - m_KeyboardType: 0 - m_LineType: 0 - m_HideMobileInput: 0 - m_CharacterValidation: 0 - m_CharacterLimit: 0 - m_EndEdit: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.InputField+SubmitEvent, UnityEngine.UI, Version=1.0.0.0, - Culture=neutral, PublicKeyToken=null - m_OnValueChange: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.InputField+OnChangeEvent, UnityEngine.UI, Version=1.0.0.0, - Culture=neutral, PublicKeyToken=null - m_SelectionColor: {r: .65882355, g: .807843149, b: 1, a: .752941191} - m_Text: - m_CaretBlinkRate: .850000024 ---- !u!114 &1263337887 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 11470788, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1263337885} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!224 &1263337888 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 22475904, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1263337885} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 2001689677} - - {fileID: 884120620} - m_Father: {fileID: 1456282793} - m_RootOrder: 4 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 247, y: 40} - m_SizeDelta: {x: 476, y: 63} - m_Pivot: {x: .5, y: .5} ---- !u!222 &1263337889 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 22243658, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1263337885} ---- !u!1 &1265568956 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 146658, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1265568957} - - 222: {fileID: 1265568959} - - 114: {fileID: 1265568958} - m_Layer: 0 - m_Name: Text_IBM_Watson_TTS - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1265568957 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 22449748, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1265568956} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1456282793} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: -112} - m_SizeDelta: {x: -25, y: 30} - m_Pivot: {x: 0, y: 1} ---- !u!114 &1265568958 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 11418016, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1265568956} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: .95588237, g: .95588237, b: .95588237, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 18 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 2 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: 'TEXT TO SPEECH - -' ---- !u!222 &1265568959 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 22249244, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1265568956} ---- !u!1 &1288755626 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 164950, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1288755627} - - 114: {fileID: 1288755630} - - 114: {fileID: 1288755629} - - 114: {fileID: 1288755628} - m_Layer: 0 - m_Name: EventSystem - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1288755627 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 431512, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1288755626} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1697454588} - m_RootOrder: 3 ---- !u!114 &1288755628 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 11460970, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1288755626} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1997211142, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_ForceModuleActive: 0 ---- !u!114 &1288755629 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 11452200, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1288755626} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -839872303, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - horizontalAxis: Horizontal - verticalAxis: Vertical - submitButton: Submit - cancelButton: Cancel - inputActionsPerSecond: 10 - repeatDelay: .5 ---- !u!114 &1288755630 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 11405496, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1288755626} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_FirstSelected: {fileID: 0} - m_sendNavigationEvents: 1 - m_DragThreshold: 5 ---- !u!1 &1376646625 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 142596, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1376646628} - - 82: {fileID: 1376646627} - - 114: {fileID: 1376646626} - m_Layer: 0 - m_Name: TextToSpeechWidget - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1376646626 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 11407494, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1376646625} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 19bbf0e483a3ecb4b88d5144d66059e4, type: 3} - m_Name: - m_EditorClassIdentifier: - m_AutoConnect: 1 - m_Speaking: - m_TargetObject: {fileID: 0} - m_TargetConnection: Microphone/Disable - m_DisableMic: - m_TargetObject: {fileID: 0} - m_TargetConnection: - m_LevelOut: - m_TargetObject: {fileID: 0} - m_TargetConnection: - m_LevelOutInterval: .0500000007 - m_LevelOutputModifier: 12 - m_TextToSpeechButton: {fileID: 1403544574} - m_Input: {fileID: 1263337886} - m_StatusText: {fileID: 1620154816} - m_Voice: 3 - m_UsePost: 0 ---- !u!82 &1376646627 -AudioSource: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 8214900, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1376646625} - m_Enabled: 1 - serializedVersion: 4 - OutputAudioMixerGroup: {fileID: 0} - m_audioClip: {fileID: 0} - m_PlayOnAwake: 1 - m_Volume: 1 - m_Pitch: 1 - Loop: 0 - Mute: 0 - Spatialize: 0 - Priority: 128 - DopplerLevel: 1 - MinDistance: 1 - MaxDistance: 500 - Pan2D: 0 - rolloffMode: 0 - BypassEffects: 0 - BypassListenerEffects: 0 - BypassReverbZones: 0 - rolloffCustomCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - panLevelCustomCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - spreadCustomCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - reverbZoneMixCustomCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 ---- !u!4 &1376646628 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 484622, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1376646625} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 607, y: 418, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1697454588} - m_RootOrder: 1 ---- !u!1 &1403544573 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 168732, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1403544576} - - 222: {fileID: 1403544577} - - 114: {fileID: 1403544575} - - 114: {fileID: 1403544574} - m_Layer: 0 - m_Name: Button - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1403544574 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 11495760, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1403544573} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: .926470578, g: .926470578, b: .926470578, a: 1} - m_HighlightedColor: {r: 1, g: 1, b: 1, a: 1} - m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1} - m_DisabledColor: {r: .262975812, g: .276011229, b: .279411793, a: .501960814} - m_ColorMultiplier: 1 - m_FadeDuration: .100000001 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 1403544575} - m_OnClick: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 1376646626} - m_MethodName: OnTextToSpeech - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 - m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, - Culture=neutral, PublicKeyToken=null ---- !u!114 &1403544575 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 11416698, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1403544573} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!224 &1403544576 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 22470618, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1403544573} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1512886854} - m_Father: {fileID: 1456282793} - m_RootOrder: 3 - m_AnchorMin: {x: 1, y: 0} - m_AnchorMax: {x: 1, y: 0} - m_AnchoredPosition: {x: -78, y: 40.25} - m_SizeDelta: {x: 137, y: 63.5} - m_Pivot: {x: .5, y: .5} ---- !u!222 &1403544577 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 22243084, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1403544573} ---- !u!1 &1456282792 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 127206, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1456282793} - - 222: {fileID: 1456282797} - - 223: {fileID: 1456282796} - - 114: {fileID: 1456282795} - - 114: {fileID: 1456282794} - m_Layer: 0 - m_Name: Panel - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1456282793 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 22461892, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1456282792} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0, y: 0, z: 0} - m_Children: - - {fileID: 1754115494} - - {fileID: 1265568957} - - {fileID: 1620154817} - - {fileID: 1403544576} - - {fileID: 1263337888} - m_Father: {fileID: 1697454588} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0, y: 0} ---- !u!114 &1456282794 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 11454420, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1456282792} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreReversedGraphics: 1 - m_BlockingObjects: 0 - m_BlockingMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!114 &1456282795 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 11490014, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1456282792} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UiScaleMode: 1 - m_ReferencePixelsPerUnit: 100 - m_ScaleFactor: 1 - m_ReferenceResolution: {x: 640, y: 960} - m_ScreenMatchMode: 0 - m_MatchWidthOrHeight: 1 - m_PhysicalUnit: 3 - m_FallbackScreenDPI: 96 - m_DefaultSpriteDPI: 96 - m_DynamicPixelsPerUnit: 1 ---- !u!223 &1456282796 -Canvas: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 22330052, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1456282792} - m_Enabled: 1 - serializedVersion: 2 - m_RenderMode: 0 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!222 &1456282797 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 22251740, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1456282792} ---- !u!1 &1512886853 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 171822, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1512886854} - - 222: {fileID: 1512886856} - - 114: {fileID: 1512886855} - m_Layer: 0 - m_Name: Help - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1512886854 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 22432630, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1512886853} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1403544576} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: .499986649, y: -6.86645508e-05} - m_SizeDelta: {x: -1, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1512886855 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 11469948, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1512886853} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: .196078435, g: .196078435, b: .196078435, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 20 - m_FontStyle: 1 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 4 - m_RichText: 1 - m_HorizontalOverflow: 1 - m_VerticalOverflow: 1 - m_LineSpacing: 1 - m_Text: PLAY ---- !u!222 &1512886856 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 22271234, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1512886853} ---- !u!1 &1620154815 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 159788, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1620154817} - - 222: {fileID: 1620154818} - - 114: {fileID: 1620154816} - m_Layer: 0 - m_Name: Status - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1620154816 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 11484930, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1620154815} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: .992647052, b: .992647052, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 20 - m_FontStyle: 1 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 4 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: READY ---- !u!224 &1620154817 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 22467616, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1620154815} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1456282793} - m_RootOrder: 2 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: .130004883, y: -.000144958496} - m_SizeDelta: {x: -.75, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!222 &1620154818 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 22219554, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1620154815} ---- !u!1 &1697454587 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 161264, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1697454588} - m_Layer: 0 - m_Name: TestTTS - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1697454588 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 22495110, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1697454587} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1456282793} - - {fileID: 1376646628} - - {fileID: 933005771} - - {fileID: 1288755627} - - {fileID: 805880027} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 299.5, y: 291.5} - m_SizeDelta: {x: 599, y: 583} - m_Pivot: {x: .5, y: .5} ---- !u!1 &1739821487 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 111398, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1739821488} - - 222: {fileID: 1739821490} - - 114: {fileID: 1739821489} - m_Layer: 5 - m_Name: Watson_Logo - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1739821488 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 22420766, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1739821487} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1754115494} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -6.10351562e-05, y: 0} - m_SizeDelta: {x: 0, y: 35} - m_Pivot: {x: .0500000007, y: 2.0999999} ---- !u!114 &1739821489 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 11463212, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1739821487} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: d5b8d64f6d18844e781d2c63316a810f, type: 3} - m_Type: 0 - m_PreserveAspect: 1 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &1739821490 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 22297586, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1739821487} ---- !u!1 &1754115493 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 189170, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1754115494} - - 222: {fileID: 1754115496} - - 114: {fileID: 1754115495} - m_Layer: 5 - m_Name: Background - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1754115494 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 22492940, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1754115493} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1739821488} - - {fileID: 284908836} - - {fileID: 1033307589} - m_Father: {fileID: 1456282793} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1754115495 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 11462952, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1754115493} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: d2c2efadb47c74652863d505e27fb0cd, type: 3} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &1754115496 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 22287794, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1754115493} ---- !u!1 &2001689675 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 134596, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 2001689677} - - 222: {fileID: 2001689678} - - 114: {fileID: 2001689676} - m_Layer: 0 - m_Name: Placeholder - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &2001689676 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 11462264, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2001689675} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: .196078435, g: .196078435, b: .196078435, a: .5} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 20 - m_FontStyle: 2 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 3 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: Enter text... ---- !u!224 &2001689677 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 22489860, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2001689675} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1263337888} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: -.5} - m_SizeDelta: {x: -20, y: -13} - m_Pivot: {x: .5, y: .5} ---- !u!222 &2001689678 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 22289906, guid: 9321ac016e311474e94c27e42bdac14f, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2001689675} diff --git a/Resources.meta b/Scenes/UnitTests.meta similarity index 67% rename from Resources.meta rename to Scenes/UnitTests.meta index d9ebfab8d..6b2c8e621 100644 --- a/Resources.meta +++ b/Scenes/UnitTests.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 -guid: 90806ed4e22dd4250a6b249a097a6c3d +guid: 38ffa67fbdee74b629169d1bfe8f8624 folderAsset: yes -timeCreated: 1443727490 +timeCreated: 1461861888 licenseType: Pro DefaultImporter: userData: diff --git a/Scenes/Main.unity b/Scenes/UnitTests/Main.unity similarity index 77% rename from Scenes/Main.unity rename to Scenes/UnitTests/Main.unity index 45d8b4c95..6e91b47d2 100644 --- a/Scenes/Main.unity +++ b/Scenes/UnitTests/Main.unity @@ -8,25 +8,25 @@ SceneSettings: m_PVSPortalsArray: [] m_OcclusionBakeSettings: smallestOccluder: 5 - smallestHole: .25 + smallestHole: 0.25 backfaceThreshold: 100 --- !u!104 &2 RenderSettings: m_ObjectHideFlags: 0 serializedVersion: 6 m_Fog: 0 - m_FogColor: {r: .5, g: .5, b: .5, a: 1} + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} m_FogMode: 3 - m_FogDensity: .00999999978 + m_FogDensity: 0.01 m_LinearFogStart: 0 m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: .211999997, g: .226999998, b: .259000003, a: 1} - m_AmbientEquatorColor: {r: .114, g: .125, b: .133000001, a: 1} - m_AmbientGroundColor: {r: .0469999984, g: .0430000015, b: .0350000001, a: 1} + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} m_AmbientIntensity: 1 m_AmbientMode: 0 m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} - m_HaloStrength: .5 + m_HaloStrength: 0.5 m_FlareStrength: 1 m_FlareFadeSpeed: 3 m_HaloTexture: {fileID: 0} @@ -40,7 +40,7 @@ RenderSettings: --- !u!157 &3 LightmapSettings: m_ObjectHideFlags: 0 - serializedVersion: 5 + serializedVersion: 6 m_GIWorkflowMode: 0 m_LightmapsMode: 1 m_GISettings: @@ -66,7 +66,7 @@ LightmapSettings: m_FinalGather: 0 m_FinalGatherRayCount: 1024 m_ReflectionCompression: 2 - m_LightmapSnapshot: {fileID: 0} + m_LightingDataAsset: {fileID: 0} m_RuntimeCPUUsage: 25 --- !u!196 &4 NavMeshSettings: @@ -74,15 +74,15 @@ NavMeshSettings: m_ObjectHideFlags: 0 m_BuildSettings: serializedVersion: 2 - agentRadius: .5 + agentRadius: 0.5 agentHeight: 2 agentSlope: 45 - agentClimb: .400000006 + agentClimb: 0.4 ledgeDropHeight: 0 maxJumpAcrossDistance: 0 accuratePlacement: 0 minRegionArea: 2 - cellSize: .166666672 + cellSize: 0.16666667 manualCellSize: 0 m_NavMeshData: {fileID: 0} --- !u!1001 &204989905 @@ -92,17 +92,17 @@ Prefab: m_Modification: m_TransformParent: {fileID: 0} m_Modifications: - - target: {fileID: 11421058, guid: 18d6f509dac7d89419df972e1daa5d9b, type: 2} + - target: {fileID: 11482954, guid: 18d6f509dac7d89419df972e1daa5d9b, type: 2} propertyPath: layers.Array.size value: 1 objectReference: {fileID: 0} - target: {fileID: 456440, guid: 18d6f509dac7d89419df972e1daa5d9b, type: 2} propertyPath: m_LocalPosition.x - value: -394.5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 456440, guid: 18d6f509dac7d89419df972e1daa5d9b, type: 2} propertyPath: m_LocalPosition.y - value: -222 + value: 0 objectReference: {fileID: 0} - target: {fileID: 456440, guid: 18d6f509dac7d89419df972e1daa5d9b, type: 2} propertyPath: m_LocalPosition.z @@ -128,13 +128,19 @@ Prefab: propertyPath: m_RootOrder value: 3 objectReference: {fileID: 0} - - target: {fileID: 11421058, guid: 18d6f509dac7d89419df972e1daa5d9b, type: 2} + - target: {fileID: 11482954, guid: 18d6f509dac7d89419df972e1daa5d9b, type: 2} propertyPath: layers.Array.data[0] value: - objectReference: {fileID: 1489464620} + objectReference: {fileID: 204989906} m_RemovedComponents: [] m_ParentPrefab: {fileID: 100100000, guid: 18d6f509dac7d89419df972e1daa5d9b, type: 2} m_IsPrefabParent: 0 +--- !u!114 &204989906 stripped +MonoBehaviour: + m_PrefabParentObject: {fileID: 11437114, guid: 18d6f509dac7d89419df972e1daa5d9b, + type: 2} + m_PrefabInternal: {fileID: 204989905} + m_Script: {fileID: 11500000, guid: bc7fd33c57d694994b0ab9f33fcdcbea, type: 3} --- !u!1001 &349407072 Prefab: m_ObjectHideFlags: 0 @@ -184,10 +190,6 @@ Prefab: m_Modification: m_TransformParent: {fileID: 0} m_Modifications: - - target: {fileID: 11458500, guid: a8b93b7079a69044fb723b0bcc6a0e8c, type: 2} - propertyPath: m_Scenes.Array.size - value: 7 - objectReference: {fileID: 0} - target: {fileID: 22411986, guid: a8b93b7079a69044fb723b0bcc6a0e8c, type: 2} propertyPath: m_LocalPosition.x value: 0 @@ -260,55 +262,9 @@ Prefab: propertyPath: m_Pivot.y value: 0 objectReference: {fileID: 0} - - target: {fileID: 11458500, guid: a8b93b7079a69044fb723b0bcc6a0e8c, type: 2} - propertyPath: m_Scenes.Array.data[7].m_SceneName - value: XRay - objectReference: {fileID: 0} - - target: {fileID: 11458500, guid: a8b93b7079a69044fb723b0bcc6a0e8c, type: 2} - propertyPath: m_Scenes.Array.data[7].m_SceneDesc - value: XRay - objectReference: {fileID: 0} - - target: {fileID: 11458500, guid: a8b93b7079a69044fb723b0bcc6a0e8c, type: 2} - propertyPath: m_Scenes.Array.data[7].m_CustomBackButtonPosition.x - value: -30 - objectReference: {fileID: 0} - - target: {fileID: 11458500, guid: a8b93b7079a69044fb723b0bcc6a0e8c, type: 2} - propertyPath: m_Scenes.Array.data[7].m_CustomBackButtonScale.x - value: 120 - objectReference: {fileID: 0} - - target: {fileID: 11458500, guid: a8b93b7079a69044fb723b0bcc6a0e8c, type: 2} - propertyPath: m_Scenes.Array.data[7].m_CustomBackButtonScale.y - value: 120 - objectReference: {fileID: 0} - - target: {fileID: 11458500, guid: a8b93b7079a69044fb723b0bcc6a0e8c, type: 2} - propertyPath: m_Scenes.Array.data[8].m_SceneName - value: XRay WoodSide - objectReference: {fileID: 0} - - target: {fileID: 11458500, guid: a8b93b7079a69044fb723b0bcc6a0e8c, type: 2} - propertyPath: m_Scenes.Array.data[8].m_SceneDesc - value: XRay WoodSide - objectReference: {fileID: 0} - - target: {fileID: 11458500, guid: a8b93b7079a69044fb723b0bcc6a0e8c, type: 2} - propertyPath: m_Scenes.Array.data[8].m_CustomBackButtonPosition.x - value: -30 - objectReference: {fileID: 0} - - target: {fileID: 11458500, guid: a8b93b7079a69044fb723b0bcc6a0e8c, type: 2} - propertyPath: m_Scenes.Array.data[8].m_CustomBackButtonScale.x - value: 120 - objectReference: {fileID: 0} - - target: {fileID: 11458500, guid: a8b93b7079a69044fb723b0bcc6a0e8c, type: 2} - propertyPath: m_Scenes.Array.data[8].m_CustomBackButtonScale.y - value: 120 - objectReference: {fileID: 0} m_RemovedComponents: [] m_ParentPrefab: {fileID: 100100000, guid: a8b93b7079a69044fb723b0bcc6a0e8c, type: 2} m_IsPrefabParent: 0 ---- !u!114 &1489464620 stripped -MonoBehaviour: - m_PrefabParentObject: {fileID: 11418270, guid: 18d6f509dac7d89419df972e1daa5d9b, - type: 2} - m_PrefabInternal: {fileID: 204989905} - m_Script: {fileID: 1780265814, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} --- !u!1001 &1862106922 Prefab: m_ObjectHideFlags: 0 diff --git a/Scenes/Main.unity.meta b/Scenes/UnitTests/Main.unity.meta similarity index 100% rename from Scenes/Main.unity.meta rename to Scenes/UnitTests/Main.unity.meta diff --git a/Scenes/Prefabs.meta b/Scenes/UnitTests/Prefabs.meta similarity index 100% rename from Scenes/Prefabs.meta rename to Scenes/UnitTests/Prefabs.meta diff --git a/Scenes/Prefabs/EventSystem.prefab b/Scenes/UnitTests/Prefabs/EventSystem.prefab similarity index 96% rename from Scenes/Prefabs/EventSystem.prefab rename to Scenes/UnitTests/Prefabs/EventSystem.prefab index dbe0f6cdb..f35670b06 100644 --- a/Scenes/Prefabs/EventSystem.prefab +++ b/Scenes/UnitTests/Prefabs/EventSystem.prefab @@ -50,7 +50,7 @@ MonoBehaviour: m_GameObject: {fileID: 107580} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -839872303, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 797eed971a75647609ca044e7924beb7, type: 3} m_Name: m_EditorClassIdentifier: horizontalAxis: Horizontal @@ -58,7 +58,7 @@ MonoBehaviour: submitButton: Submit cancelButton: Cancel inputActionsPerSecond: 10 - repeatDelay: .5 + repeatDelay: 0.5 --- !u!114 &11465164 MonoBehaviour: m_ObjectHideFlags: 1 diff --git a/Scenes/Prefabs/EventSystem.prefab.meta b/Scenes/UnitTests/Prefabs/EventSystem.prefab.meta similarity index 100% rename from Scenes/Prefabs/EventSystem.prefab.meta rename to Scenes/UnitTests/Prefabs/EventSystem.prefab.meta diff --git a/Scenes/UnitTests/Prefabs/LogSystem.prefab b/Scenes/UnitTests/Prefabs/LogSystem.prefab new file mode 100644 index 000000000..d587f5f37 --- /dev/null +++ b/Scenes/UnitTests/Prefabs/LogSystem.prefab @@ -0,0 +1,54 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &127774 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 424072} + - 114: {fileID: 11457110} + m_Layer: 0 + m_Name: LogSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &424072 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 127774} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!114 &11457110 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 127774} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9dc3f3e4df03e4b70a0d9851743cb986, type: 3} + m_Name: + m_EditorClassIdentifier: + m_LogHistory: 2 + m_LogLevelOnFile: 2 +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 127774} + m_IsPrefabParent: 1 diff --git a/Scenes/UnitTests/Prefabs/LogSystem.prefab.meta b/Scenes/UnitTests/Prefabs/LogSystem.prefab.meta new file mode 100644 index 000000000..c93b01150 --- /dev/null +++ b/Scenes/UnitTests/Prefabs/LogSystem.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b517660e05f9a4708af7a5b23f40c27a +timeCreated: 1460062566 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scenes/Prefabs/MainButton.prefab b/Scenes/UnitTests/Prefabs/MainButton.prefab similarity index 100% rename from Scenes/Prefabs/MainButton.prefab rename to Scenes/UnitTests/Prefabs/MainButton.prefab diff --git a/Scenes/Prefabs/MainButton.prefab.meta b/Scenes/UnitTests/Prefabs/MainButton.prefab.meta similarity index 100% rename from Scenes/Prefabs/MainButton.prefab.meta rename to Scenes/UnitTests/Prefabs/MainButton.prefab.meta diff --git a/Scenes/Prefabs/MainCamera.prefab b/Scenes/UnitTests/Prefabs/MainCamera.prefab similarity index 100% rename from Scenes/Prefabs/MainCamera.prefab rename to Scenes/UnitTests/Prefabs/MainCamera.prefab diff --git a/Scenes/Prefabs/MainCamera.prefab.meta b/Scenes/UnitTests/Prefabs/MainCamera.prefab.meta similarity index 100% rename from Scenes/Prefabs/MainCamera.prefab.meta rename to Scenes/UnitTests/Prefabs/MainCamera.prefab.meta diff --git a/Scenes/Prefabs/MainUI.prefab b/Scenes/UnitTests/Prefabs/MainUI.prefab similarity index 92% rename from Scenes/Prefabs/MainUI.prefab rename to Scenes/UnitTests/Prefabs/MainUI.prefab index 85762a17a..6a405032e 100644 --- a/Scenes/Prefabs/MainUI.prefab +++ b/Scenes/UnitTests/Prefabs/MainUI.prefab @@ -158,7 +158,7 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: d5b8d64f6d18844e781d2c63316a810f, type: 3} + m_Sprite: {fileID: 21300000, guid: dcc763001129146f0bd779f1a3f3cee2, type: 3} m_Type: 0 m_PreserveAspect: 1 m_FillCenter: 1 @@ -207,11 +207,11 @@ MonoBehaviour: m_Transition: 1 m_Colors: m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1} - m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1} - m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} m_ColorMultiplier: 1 - m_FadeDuration: .100000001 + m_FadeDuration: 0.1 m_SpriteState: m_HighlightedSprite: {fileID: 0} m_PressedSprite: {fileID: 0} @@ -251,7 +251,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: .809000015} + m_Color: {r: 1, g: 1, b: 1, a: 0.809} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -278,7 +278,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: .992647052, g: .992647052, b: .992647052, a: .0719999969} + m_Color: {r: 0.99264705, g: 0.99264705, b: 0.99264705, a: 0.072} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -314,8 +314,8 @@ MonoBehaviour: m_CustomBackButtonPosition: {x: 0, y: 0, z: 0} m_CustomBackButtonScale: {x: 0, y: 0} m_IsVisibleBackButton: 1 - - m_SceneName: ExampleTranslation - m_SceneDesc: Example Translation + - m_SceneName: ExampleLanguageTranslation + m_SceneDesc: Example Language Translation m_CustomBackButtonPosition: {x: 0, y: 0, z: 0} m_CustomBackButtonScale: {x: 0, y: 0} m_IsVisibleBackButton: 1 @@ -324,17 +324,17 @@ MonoBehaviour: m_CustomBackButtonPosition: {x: 0, y: 0, z: 0} m_CustomBackButtonScale: {x: 0, y: 0} m_IsVisibleBackButton: 1 - - m_SceneName: TestNLC + - m_SceneName: TestNaturalLanguageClassifier m_SceneDesc: Natural Language Classifier (NLC) m_CustomBackButtonPosition: {x: 0, y: 0, z: 0} m_CustomBackButtonScale: {x: 0, y: 0} m_IsVisibleBackButton: 1 - - m_SceneName: TestSTT + - m_SceneName: TestSpeechToText m_SceneDesc: Speech To Text (STT) m_CustomBackButtonPosition: {x: 0, y: 0, z: 0} m_CustomBackButtonScale: {x: 0, y: 0} m_IsVisibleBackButton: 1 - - m_SceneName: TestTTS + - m_SceneName: TestTextToSpeech m_SceneDesc: Text To Speech (TTS) m_CustomBackButtonPosition: {x: 0, y: 0, z: 0} m_CustomBackButtonScale: {x: 0, y: 0} @@ -344,16 +344,6 @@ MonoBehaviour: m_CustomBackButtonPosition: {x: 0, y: 0, z: 0} m_CustomBackButtonScale: {x: 0, y: 0} m_IsVisibleBackButton: 1 - - m_SceneName: XRay - m_SceneDesc: XRay - m_CustomBackButtonPosition: {x: -30, y: 0, z: 0} - m_CustomBackButtonScale: {x: 120, y: 120} - m_IsVisibleBackButton: 0 - - m_SceneName: XRay WoodSide - m_SceneDesc: XRay WoodSide - m_CustomBackButtonPosition: {x: -30, y: 0, z: 0} - m_CustomBackButtonScale: {x: 120, y: 120} - m_IsVisibleBackButton: 0 --- !u!114 &11461980 MonoBehaviour: m_ObjectHideFlags: 1 @@ -382,7 +372,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: .996999979} + m_Color: {r: 1, g: 1, b: 1, a: 0.997} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -397,6 +387,7 @@ MonoBehaviour: m_MinSize: 10 m_MaxSize: 40 m_Alignment: 4 + m_AlignByGeometry: 0 m_RichText: 1 m_HorizontalOverflow: 0 m_VerticalOverflow: 0 @@ -441,8 +432,8 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: d2c2efadb47c74652863d505e27fb0cd, type: 3} - m_Type: 1 + m_Sprite: {fileID: 21300000, guid: 11b8cc94d1829440d972e9e699902f64, type: 3} + m_Type: 0 m_PreserveAspect: 0 m_FillCenter: 1 m_FillMethod: 4 @@ -468,7 +459,7 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 7ff94ea14c816481191ba8fb97d349a5, type: 3} + m_Sprite: {fileID: 21300000, guid: 1eaeb3a02e12744e5a25a4169c3474a7, type: 3} m_Type: 0 m_PreserveAspect: 1 m_FillCenter: 1 @@ -533,8 +524,10 @@ Canvas: m_ReceivesEvents: 1 m_OverrideSorting: 0 m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 m_SortingLayerID: 0 m_SortingOrder: 1000 + m_TargetDisplay: 0 --- !u!224 &22411986 RectTransform: m_ObjectHideFlags: 1 @@ -570,9 +563,9 @@ RectTransform: m_RootOrder: 1 m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 0, y: -106.519997} + m_AnchoredPosition: {x: 0, y: -106.52} m_SizeDelta: {x: 60, y: 30} - m_Pivot: {x: -.300000012, y: 1} + m_Pivot: {x: -0.3, y: 1} --- !u!224 &22428728 RectTransform: m_ObjectHideFlags: 1 @@ -589,7 +582,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22428922 RectTransform: m_ObjectHideFlags: 1 @@ -606,7 +599,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 80} - m_Pivot: {x: .99000001, y: 1.10000002} + m_Pivot: {x: 0.99, y: 1.1} --- !u!224 &22453550 RectTransform: m_ObjectHideFlags: 1 @@ -623,7 +616,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: -100} m_SizeDelta: {x: -18, y: 3} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22463206 RectTransform: m_ObjectHideFlags: 1 @@ -643,7 +636,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22468068 RectTransform: m_ObjectHideFlags: 1 @@ -658,9 +651,9 @@ RectTransform: m_RootOrder: 0 m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -6.10351562e-05, y: 0} + m_AnchoredPosition: {x: -0.000061035156, y: 0} m_SizeDelta: {x: 0, y: 35} - m_Pivot: {x: .0500000007, y: 2.0999999} + m_Pivot: {x: 0.05, y: 2.1} --- !u!224 &22481826 RectTransform: m_ObjectHideFlags: 1 @@ -677,7 +670,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0, y: .5} + m_Pivot: {x: 0, y: 0.5} --- !u!1001 &100100000 Prefab: m_ObjectHideFlags: 1 diff --git a/Scenes/Prefabs/MainUI.prefab.meta b/Scenes/UnitTests/Prefabs/MainUI.prefab.meta similarity index 100% rename from Scenes/Prefabs/MainUI.prefab.meta rename to Scenes/UnitTests/Prefabs/MainUI.prefab.meta diff --git a/Scenes/Prefabs/TestMic.prefab b/Scenes/UnitTests/Prefabs/TestMic.prefab similarity index 83% rename from Scenes/Prefabs/TestMic.prefab rename to Scenes/UnitTests/Prefabs/TestMic.prefab index 3da79532d..087f49121 100644 --- a/Scenes/Prefabs/TestMic.prefab +++ b/Scenes/UnitTests/Prefabs/TestMic.prefab @@ -51,6 +51,65 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!1 &111586 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 445176} + - 114: {fileID: 11448178} + - 114: {fileID: 11468580} + - 114: {fileID: 11451280} + - 114: {fileID: 11492526} + - 114: {fileID: 11466110} + - 114: {fileID: 11432542} + - 114: {fileID: 11499276} + - 114: {fileID: 11446304} + - 114: {fileID: 11418490} + m_Layer: 0 + m_Name: TouchManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &120962 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 495566} + - 114: {fileID: 11478802} + - 114: {fileID: 11473916} + - 114: {fileID: 11451962} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &124186 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22436412} + - 114: {fileID: 11460582} + - 223: {fileID: 22308688} + m_Layer: 0 + m_Name: Touch Visualizer Watson + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 --- !u!1 &125294 GameObject: m_ObjectHideFlags: 0 @@ -121,30 +180,6 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &140516 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 4 - m_Component: - - 4: {fileID: 413696} - - 114: {fileID: 11422436} - - 114: {fileID: 11493884} - - 114: {fileID: 11486396} - - 114: {fileID: 11414266} - - 114: {fileID: 11426306} - - 114: {fileID: 11484946} - - 114: {fileID: 11464990} - - 114: {fileID: 11406550} - - 114: {fileID: 11423062} - m_Layer: 0 - m_Name: TouchManager - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 --- !u!1 &144112 GameObject: m_ObjectHideFlags: 0 @@ -180,18 +215,16 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &156756 +--- !u!1 &157814 GameObject: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} serializedVersion: 4 m_Component: - - 4: {fileID: 470498} - - 114: {fileID: 11478772} - - 114: {fileID: 11445020} - - 114: {fileID: 11426318} - - 114: {fileID: 11480020} + - 4: {fileID: 493804} + - 114: {fileID: 11432434} + - 114: {fileID: 11408556} m_Layer: 0 m_Name: Inputs m_TagString: Untagged @@ -199,22 +232,6 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &164096 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 4 - m_Component: - - 4: {fileID: 468196} - - 114: {fileID: 11411034} - m_Layer: 0 - m_Name: Touch Debugger - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 --- !u!1 &170540 GameObject: m_ObjectHideFlags: 0 @@ -266,38 +283,6 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &194694 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 4 - m_Component: - - 4: {fileID: 474580} - - 114: {fileID: 11471676} - - 114: {fileID: 11475600} - - 114: {fileID: 11439520} - m_Layer: 0 - m_Name: EventSystem - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &413696 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 140516} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -394.5, y: -222, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 470498} - - {fileID: 468196} - m_Father: {fileID: 22400230} - m_RootOrder: 6 --- !u!4 &443140 Transform: m_ObjectHideFlags: 1 @@ -310,54 +295,56 @@ Transform: m_Children: [] m_Father: {fileID: 22400230} m_RootOrder: 0 ---- !u!4 &462562 +--- !u!4 &445176 Transform: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 128010} + m_GameObject: {fileID: 111586} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -320, y: -478.870605, z: -15.0588236} - m_LocalScale: {x: 1.50588238, y: 1.50588238, z: 1.50588238} - m_Children: [] + m_LocalPosition: {x: -854.10077, y: -480.00003, z: 0} + m_LocalScale: {x: 2.3021584, y: 2.3021584, z: 2.3021584} + m_Children: + - {fileID: 493804} + - {fileID: 22436412} m_Father: {fileID: 22400230} - m_RootOrder: 5 ---- !u!4 &468196 + m_RootOrder: 4 +--- !u!4 &462562 Transform: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 164096} + m_GameObject: {fileID: 128010} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalPosition: {x: -320, y: -478.8706, z: -15.058824} + m_LocalScale: {x: 1.5058824, y: 1.5058824, z: 1.5058824} m_Children: [] - m_Father: {fileID: 413696} - m_RootOrder: 1 ---- !u!4 &470498 + m_Father: {fileID: 22400230} + m_RootOrder: 6 +--- !u!4 &493804 Transform: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 156756} + m_GameObject: {fileID: 157814} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] - m_Father: {fileID: 413696} + m_Father: {fileID: 445176} m_RootOrder: 0 ---- !u!4 &474580 +--- !u!4 &495566 Transform: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 194694} + m_GameObject: {fileID: 120962} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalPosition: {x: -854.10077, y: -480.00003, z: 0} + m_LocalScale: {x: 2.3021584, y: 2.3021584, z: 2.3021584} m_Children: [] m_Father: {fileID: 22400230} - m_RootOrder: 4 + m_RootOrder: 5 --- !u!20 &2077910 Camera: m_ObjectHideFlags: 1 @@ -367,14 +354,14 @@ Camera: m_Enabled: 1 serializedVersion: 2 m_ClearFlags: 2 - m_BackGroundColor: {r: 0, g: 0, b: 0, a: .0196078438} + m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0.019607844} m_NormalizedViewPortRect: serializedVersion: 2 x: 0 y: 0 width: 1 height: 1 - near clip plane: .300000012 + near clip plane: 0.3 far clip plane: 1000 field of view: 60 orthographic: 0 @@ -390,7 +377,7 @@ Camera: m_HDR: 0 m_OcclusionCulling: 1 m_StereoConvergence: 10 - m_StereoSeparation: .0219999999 + m_StereoSeparation: 0.022 m_StereoMirrorMode: 0 --- !u!81 &8131898 AudioListener: @@ -439,6 +426,7 @@ AudioSource: tangentMode: 0 m_PreInfinity: 2 m_PostInfinity: 2 + m_RotationOrder: 4 panLevelCustomCurve: serializedVersion: 2 m_Curve: @@ -449,6 +437,7 @@ AudioSource: tangentMode: 0 m_PreInfinity: 2 m_PostInfinity: 2 + m_RotationOrder: 0 spreadCustomCurve: serializedVersion: 2 m_Curve: @@ -459,6 +448,7 @@ AudioSource: tangentMode: 0 m_PreInfinity: 2 m_PostInfinity: 2 + m_RotationOrder: 4 reverbZoneMixCustomCurve: serializedVersion: 2 m_Curve: @@ -469,6 +459,7 @@ AudioSource: tangentMode: 0 m_PreInfinity: 2 m_PostInfinity: 2 + m_RotationOrder: 0 --- !u!92 &9204376 Behaviour: m_ObjectHideFlags: 1 @@ -495,7 +486,7 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 7ff94ea14c816481191ba8fb97d349a5, type: 3} + m_Sprite: {fileID: 21300000, guid: 1eaeb3a02e12744e5a25a4169c3474a7, type: 3} m_Type: 0 m_PreserveAspect: 1 m_FillCenter: 1 @@ -524,28 +515,6 @@ MonoBehaviour: m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 ---- !u!114 &11406550 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 140516} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 438491968, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - ignoreChildren: 0 --- !u!114 &11408470 MonoBehaviour: m_ObjectHideFlags: 1 @@ -558,7 +527,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: .808823526, g: .808823526, b: .808823526, a: 1} + m_Color: {r: 0.8088235, g: 0.8088235, b: 0.8088235, a: 1} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -573,52 +542,28 @@ MonoBehaviour: m_MinSize: 10 m_MaxSize: 40 m_Alignment: 4 + m_AlignByGeometry: 0 m_RichText: 1 m_HorizontalOverflow: 0 m_VerticalOverflow: 0 m_LineSpacing: 1 m_Text: STOPPED ---- !u!114 &11411034 +--- !u!114 &11408556 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 164096} + m_GameObject: {fileID: 157814} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 923107734, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - showTouchId: 0 - showTags: 0 - texture: {fileID: 2800000, guid: 1ca5291cdab0c7440bf75a4a7a4a3282, type: 3} - useDPI: 1 - touchSize: 1 - fontColor: {r: 0, g: 1, b: 1, a: 1} ---- !u!114 &11414266 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 140516} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 681217450, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 33cbf52dea18b40649d742b0c6f96d3c, type: 3} m_Name: m_EditorClassIdentifier: advancedProps: 0 - minTouches: 1 - maxTouches: 1 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 1 - minScreenPointsDistance: .5 - screenTransformThreshold: .200000003 + DisableOnNonTouchPlatforms: 1 + Tags: + tagList: + - Touch --- !u!114 &11416314 MonoBehaviour: m_ObjectHideFlags: 1 @@ -638,56 +583,39 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: d2c2efadb47c74652863d505e27fb0cd, type: 3} - m_Type: 1 + m_Sprite: {fileID: 21300000, guid: 11b8cc94d1829440d972e9e699902f64, type: 3} + m_Type: 0 m_PreserveAspect: 0 m_FillCenter: 1 m_FillMethod: 4 m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 ---- !u!114 &11422436 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 140516} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1ce6f84be69c24efc9afd3dac982cdfd, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TapGesture: {fileID: 11484946} - m_ThreeTapGesture: {fileID: 11423062} - m_OneFingerMoveGesture: {fileID: 11414266} - m_TwoFingerMoveGesture: {fileID: 11426306} - m_PressGesture: {fileID: 11464990} - m_ReleaseGesture: {fileID: 11406550} ---- !u!114 &11423062 +--- !u!114 &11418490 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 140516} + m_GameObject: {fileID: 111586} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1235405773, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 7a878a6ff128243dfb1d89ca0273f059, type: 3} m_Name: m_EditorClassIdentifier: advancedProps: 0 minTouches: 0 maxTouches: 0 combineTouches: 0 - combineTouchesInterval: .300000012 + combineTouchesInterval: 0.3 useSendMessage: 0 sendStateChangeMessages: 0 sendMessageTarget: {fileID: 0} requireGestureToFail: {fileID: 0} friendlyGestures: - - {fileID: 11484946} + - {fileID: 11432542} numberOfTapsRequired: 3 - timeLimit: .699999988 - distanceLimit: .300000012 + timeLimit: 0.7 + distanceLimit: 0.3 --- !u!114 &11424424 MonoBehaviour: m_ObjectHideFlags: 1 @@ -700,75 +628,73 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_AutoConnect: 1 - m_ActivateOnStart: 1 m_AudioOutput: - m_TargetObject: {fileID: 0} - m_TargetConnection: + m_Connections: [] m_LevelOutput: - m_TargetObject: {fileID: 0} - m_TargetConnection: + m_Connections: [] m_ActivateOutput: - m_TargetObject: {fileID: 0} - m_TargetConnection: + m_Connections: [] + m_ActivateOnStart: 1 m_RecordingBufferSize: 2 m_RecordingHZ: 22050 m_MicrophoneID: - m_LevelOutputInterval: .0500000007 + m_LevelOutputInterval: 0.05 m_LevelOutputModifier: 1 m_PlaybackRecording: 1 m_StatusText: {fileID: 11408470} ---- !u!114 &11426306 +--- !u!114 &11432434 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 140516} + m_GameObject: {fileID: 157814} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 681217450, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: e276ccba4f7314d9988af19f9b3a611b, type: 3} m_Name: m_EditorClassIdentifier: advancedProps: 0 - minTouches: 2 - maxTouches: 2 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 7 - minScreenPointsDistance: .5 - screenTransformThreshold: .200000003 ---- !u!114 &11426318 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 156756} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -102971247, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - DisableOnMobilePlatforms: 1 - Tags: + TouchTags: + tagList: + - Touch + MouseTags: tagList: - Mouse ---- !u!114 &11439520 + PenTags: + tagList: + - Pen + Windows8Touch: 0 + Windows7Touch: 0 + WebPlayerTouch: 1 + WebGLTouch: 1 + Windows8Mouse: 1 + Windows7Mouse: 1 + UniversalWindowsMouse: 1 +--- !u!114 &11432542 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 194694} + m_GameObject: {fileID: 111586} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1997211142, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Script: {fileID: 11500000, guid: 7a878a6ff128243dfb1d89ca0273f059, type: 3} m_Name: m_EditorClassIdentifier: - m_ForceModuleActive: 0 + advancedProps: 0 + minTouches: 0 + maxTouches: 0 + combineTouches: 0 + combineTouchesInterval: 0.3 + useSendMessage: 0 + sendStateChangeMessages: 0 + sendMessageTarget: {fileID: 0} + requireGestureToFail: {fileID: 0} + friendlyGestures: + - {fileID: 11418490} + numberOfTapsRequired: 1 + timeLimit: Infinity + distanceLimit: Infinity --- !u!114 &11442980 MonoBehaviour: m_ObjectHideFlags: 1 @@ -788,12 +714,12 @@ MonoBehaviour: m_SelectOnRight: {fileID: 0} m_Transition: 1 m_Colors: - m_NormalColor: {r: .926470578, g: .926470578, b: .926470578, a: 1} + m_NormalColor: {r: 0.9264706, g: 0.9264706, b: 0.9264706, a: 1} m_HighlightedColor: {r: 1, g: 1, b: 1, a: 1} - m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1} - m_DisabledColor: {r: .262975812, g: .276011229, b: .279411793, a: .501960814} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.2629758, g: 0.27601123, b: 0.2794118, a: 0.5019608} m_ColorMultiplier: 1 - m_FadeDuration: .100000001 + m_FadeDuration: 0.1 m_SpriteState: m_HighlightedSprite: {fileID: 0} m_PressedSprite: {fileID: 0} @@ -821,27 +747,47 @@ MonoBehaviour: m_CallState: 2 m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null ---- !u!114 &11445020 +--- !u!114 &11446304 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 156756} + m_GameObject: {fileID: 111586} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 175516946, guid: bb6056dc800c1084da7273cb9f23f5cb, type: 3} + m_Script: {fileID: 11500000, guid: 141e75b9b7edb42df80a22a14f03ae4b, type: 3} m_Name: m_EditorClassIdentifier: advancedProps: 0 - TouchTags: - tagList: - - Touch - MouseTags: - tagList: - - Mouse - PenTags: - tagList: - - Pen + minTouches: 0 + maxTouches: 0 + combineTouches: 0 + combineTouchesInterval: 0.3 + useSendMessage: 0 + sendStateChangeMessages: 0 + sendMessageTarget: {fileID: 0} + requireGestureToFail: {fileID: 0} + friendlyGestures: [] + ignoreChildren: 0 +--- !u!114 &11448178 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 111586} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1ce6f84be69c24efc9afd3dac982cdfd, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TapGesture: {fileID: 11432542} + m_DoubleTapGesture: {fileID: 0} + m_ThreeTapGesture: {fileID: 11418490} + m_OneFingerMoveGesture: {fileID: 11492526} + m_TwoFingerMoveGesture: {fileID: 11466110} + m_PressGesture: {fileID: 11499276} + m_ReleaseGesture: {fileID: 11446304} + m_LongPressGesture: {fileID: 0} --- !u!114 &11448448 MonoBehaviour: m_ObjectHideFlags: 1 @@ -854,7 +800,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: .926470578, g: .926470578, b: .926470578, a: 1} + m_Color: {r: 0.9264706, g: 0.9264706, b: 0.9264706, a: 1} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -869,6 +815,7 @@ MonoBehaviour: m_MinSize: 10 m_MaxSize: 40 m_Alignment: 2 + m_AlignByGeometry: 0 m_RichText: 1 m_HorizontalOverflow: 0 m_VerticalOverflow: 0 @@ -876,51 +823,100 @@ MonoBehaviour: m_Text: 'MICROPHONE ' ---- !u!114 &11464990 +--- !u!114 &11451280 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 111586} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bc7fd33c57d694994b0ab9f33fcdcbea, type: 3} + m_Name: + m_EditorClassIdentifier: + Name: Global Fullscreen + type: 2 + _camera: {fileID: 0} +--- !u!114 &11451962 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 120962} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1997211142, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ForceModuleActive: 0 +--- !u!114 &11460582 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 124186} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 75324aa372886435faa21a4145210f8e, type: 3} + m_Name: + m_EditorClassIdentifier: + touchProxy: {fileID: 11425240, guid: a4bbcb7dfeb4c1d4bb6557cd44ac80da, type: 2} + showTouchId: 1 + showTags: 1 + useDPI: 1 + touchSize: 1 +--- !u!114 &11466110 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 140516} + m_GameObject: {fileID: 111586} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1088824302, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 74ae431eff8434b0897d3f7f1cff4311, type: 3} m_Name: m_EditorClassIdentifier: advancedProps: 0 - minTouches: 0 - maxTouches: 0 + minTouches: 2 + maxTouches: 2 combineTouches: 0 - combineTouchesInterval: .300000012 + combineTouchesInterval: 0.3 useSendMessage: 0 sendStateChangeMessages: 0 sendMessageTarget: {fileID: 0} requireGestureToFail: {fileID: 0} friendlyGestures: [] - ignoreChildren: 0 ---- !u!114 &11471676 + type: 7 + minScreenPointsDistance: 0.5 + screenTransformThreshold: 0.1 +--- !u!114 &11468580 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 194694} + m_GameObject: {fileID: 111586} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Script: {fileID: 11500000, guid: 0dd4c394fe06f4ea49e03aaa5e7a8190, type: 3} m_Name: m_EditorClassIdentifier: - m_FirstSelected: {fileID: 0} - m_sendNavigationEvents: 1 - m_DragThreshold: 5 ---- !u!114 &11475600 + displayDevice: {fileID: 0} + shouldCreateCameraLayer: 1 + shouldCreateStandardInput: 1 + useSendMessage: 0 + sendMessageEvents: 60 + sendMessageTarget: {fileID: 0} + layers: + - {fileID: 0} +--- !u!114 &11473916 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 194694} + m_GameObject: {fileID: 120962} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -839872303, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 797eed971a75647609ca044e7924beb7, type: 3} m_Name: m_EditorClassIdentifier: horizontalAxis: Horizontal @@ -928,7 +924,7 @@ MonoBehaviour: submitButton: Submit cancelButton: Cancel inputActionsPerSecond: 10 - repeatDelay: .5 + repeatDelay: 0.5 --- !u!114 &11476706 MonoBehaviour: m_ObjectHideFlags: 1 @@ -941,7 +937,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: .470588207, g: .470588207, b: .470588207, a: 1} + m_Color: {r: 0.4705882, g: 0.4705882, b: 0.4705882, a: 1} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -956,6 +952,7 @@ MonoBehaviour: m_MinSize: 10 m_MaxSize: 40 m_Alignment: 4 + m_AlignByGeometry: 0 m_RichText: 1 m_HorizontalOverflow: 0 m_VerticalOverflow: 0 @@ -973,7 +970,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: .809000015} + m_Color: {r: 1, g: 1, b: 1, a: 0.809} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -988,38 +985,20 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 ---- !u!114 &11478772 +--- !u!114 &11478802 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 156756} + m_GameObject: {fileID: 120962} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -1496140412, guid: bb6056dc800c1084da7273cb9f23f5cb, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - DisableMouseInputInBuilds: 1 - Tags: - tagList: - - Touch ---- !u!114 &11480020 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 156756} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 770742126, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} m_Name: m_EditorClassIdentifier: - advancedProps: 0 - DisableOnNonTouchPlatforms: 1 - Tags: - tagList: - - Touch + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 --- !u!114 &11482604 MonoBehaviour: m_ObjectHideFlags: 1 @@ -1039,7 +1018,7 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: ba09d4364d96141a6bd0810e92e245ca, type: 3} + m_Sprite: {fileID: 21300000, guid: 60de88fd187ae4ffaa17a5e9500111f1, type: 3} m_Type: 0 m_PreserveAspect: 1 m_FillCenter: 1 @@ -1047,45 +1026,6 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 ---- !u!114 &11484946 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 140516} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1235405773, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: - - {fileID: 11423062} - numberOfTapsRequired: 1 - timeLimit: Infinity - distanceLimit: Infinity ---- !u!114 &11486396 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 140516} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1780265814, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - Name: Global Fullscreen - type: 2 - _camera: {fileID: 0} --- !u!114 &11488114 MonoBehaviour: m_ObjectHideFlags: 1 @@ -1102,24 +1042,30 @@ MonoBehaviour: m_BlockingMask: serializedVersion: 2 m_Bits: 4294967295 ---- !u!114 &11493884 +--- !u!114 &11492526 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 140516} + m_GameObject: {fileID: 111586} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -409488130, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 74ae431eff8434b0897d3f7f1cff4311, type: 3} m_Name: m_EditorClassIdentifier: - displayDevice: {fileID: 0} - shouldCreateCameraLayer: 1 + advancedProps: 0 + minTouches: 1 + maxTouches: 1 + combineTouches: 0 + combineTouchesInterval: 0.3 useSendMessage: 0 - sendMessageEvents: 60 + sendStateChangeMessages: 0 sendMessageTarget: {fileID: 0} - layers: - - {fileID: 11486396} + requireGestureToFail: {fileID: 0} + friendlyGestures: [] + type: 1 + minScreenPointsDistance: 0.5 + screenTransformThreshold: 0.1 --- !u!114 &11494388 MonoBehaviour: m_ObjectHideFlags: 1 @@ -1139,7 +1085,7 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: d5b8d64f6d18844e781d2c63316a810f, type: 3} + m_Sprite: {fileID: 21300000, guid: dcc763001129146f0bd779f1a3f3cee2, type: 3} m_Type: 0 m_PreserveAspect: 1 m_FillCenter: 1 @@ -1147,6 +1093,28 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 +--- !u!114 &11499276 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 111586} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c6be551879cd14d739b0188844ef2c60, type: 3} + m_Name: + m_EditorClassIdentifier: + advancedProps: 0 + minTouches: 0 + maxTouches: 0 + combineTouches: 0 + combineTouchesInterval: 0.3 + useSendMessage: 0 + sendStateChangeMessages: 0 + sendMessageTarget: {fileID: 0} + requireGestureToFail: {fileID: 0} + friendlyGestures: [] + ignoreChildren: 0 --- !u!124 &12417906 Behaviour: m_ObjectHideFlags: 1 @@ -1208,6 +1176,25 @@ CanvasRenderer: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 190040} +--- !u!223 &22308688 +Canvas: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 124186} + m_Enabled: 1 + serializedVersion: 2 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 1 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_SortingLayerID: 0 + m_SortingOrder: 9000 + m_TargetDisplay: 0 --- !u!223 &22357656 Canvas: m_ObjectHideFlags: 1 @@ -1223,8 +1210,10 @@ Canvas: m_ReceivesEvents: 1 m_OverrideSorting: 0 m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 m_SortingLayerID: 0 m_SortingOrder: 0 + m_TargetDisplay: 0 --- !u!224 &22400230 RectTransform: m_ObjectHideFlags: 1 @@ -1239,9 +1228,9 @@ RectTransform: - {fileID: 22488920} - {fileID: 22470698} - {fileID: 22441114} - - {fileID: 474580} + - {fileID: 445176} + - {fileID: 495566} - {fileID: 462562} - - {fileID: 413696} m_Father: {fileID: 0} m_RootOrder: 0 m_AnchorMin: {x: 0, y: 0} @@ -1261,11 +1250,11 @@ RectTransform: m_Children: [] m_Father: {fileID: 22443574} m_RootOrder: 0 - m_AnchorMin: {x: .5, y: 0} - m_AnchorMax: {x: .5, y: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} m_AnchoredPosition: {x: 0, y: -25} m_SizeDelta: {x: 350, y: 35} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22429648 RectTransform: m_ObjectHideFlags: 1 @@ -1282,7 +1271,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 80} - m_Pivot: {x: .99000001, y: 1.10000002} + m_Pivot: {x: 0.99, y: 1.1} --- !u!224 &22435884 RectTransform: m_ObjectHideFlags: 1 @@ -1297,9 +1286,26 @@ RectTransform: m_RootOrder: 0 m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -6.10351562e-05, y: 0} + m_AnchoredPosition: {x: -0.000061035156, y: 0} m_SizeDelta: {x: 0, y: 35} - m_Pivot: {x: .0500000007, y: 2.0999999} + m_Pivot: {x: 0.05, y: 2.1} +--- !u!224 &22436412 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 124186} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 445176} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 371, y: 208.5} + m_SizeDelta: {x: 742, y: 417} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22437400 RectTransform: m_ObjectHideFlags: 1 @@ -1316,7 +1322,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: -100} m_SizeDelta: {x: -18, y: 3} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22441114 RectTransform: m_ObjectHideFlags: 1 @@ -1333,9 +1339,9 @@ RectTransform: m_RootOrder: 3 m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 1.5, y: .5} + m_AnchoredPosition: {x: 1.5, y: 0.5} m_SizeDelta: {x: 7, y: 1} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22442602 RectTransform: m_ObjectHideFlags: 1 @@ -1348,11 +1354,11 @@ RectTransform: m_Children: [] m_Father: {fileID: 22441114} m_RootOrder: 1 - m_AnchorMin: {x: .5, y: 1} - m_AnchorMax: {x: .5, y: 1} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} m_AnchoredPosition: {x: 0, y: -169} m_SizeDelta: {x: 231, y: 30} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22443574 RectTransform: m_ObjectHideFlags: 1 @@ -1366,11 +1372,11 @@ RectTransform: - {fileID: 22421000} m_Father: {fileID: 22441114} m_RootOrder: 0 - m_AnchorMin: {x: 0, y: .5} - m_AnchorMax: {x: 1, y: .5} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 380} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22470698 RectTransform: m_ObjectHideFlags: 1 @@ -1407,7 +1413,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1001 &100100000 Prefab: m_ObjectHideFlags: 1 diff --git a/Scenes/Prefabs/TestMic.prefab.meta b/Scenes/UnitTests/Prefabs/TestMic.prefab.meta similarity index 100% rename from Scenes/Prefabs/TestMic.prefab.meta rename to Scenes/UnitTests/Prefabs/TestMic.prefab.meta diff --git a/Scenes/Prefabs/TestNLC.prefab b/Scenes/UnitTests/Prefabs/TestNaturalLanguageClassifier.prefab similarity index 79% rename from Scenes/Prefabs/TestNLC.prefab rename to Scenes/UnitTests/Prefabs/TestNaturalLanguageClassifier.prefab index 8dc567654..c429f29c9 100644 --- a/Scenes/Prefabs/TestNLC.prefab +++ b/Scenes/UnitTests/Prefabs/TestNaturalLanguageClassifier.prefab @@ -26,59 +26,75 @@ GameObject: m_Component: - 224: {fileID: 22497212} m_Layer: 0 - m_Name: TestNLC + m_Name: TestNaturalLanguageClassifier m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &121702 +--- !u!1 &124772 GameObject: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} serializedVersion: 4 m_Component: - - 4: {fileID: 428872} - - 114: {fileID: 11481320} - - 114: {fileID: 11419360} - - 114: {fileID: 11426692} - - 114: {fileID: 11498408} + - 224: {fileID: 22472450} + - 222: {fileID: 22211700} + - 114: {fileID: 11420780} + m_Layer: 5 + m_Name: Banner_Upper_Element + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &126450 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 484432} + - 114: {fileID: 11417568} m_Layer: 0 - m_Name: Inputs + m_Name: SpeechToTextWidget m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &124772 +--- !u!1 &128472 GameObject: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} serializedVersion: 4 m_Component: - - 224: {fileID: 22472450} - - 222: {fileID: 22211700} - - 114: {fileID: 11420780} - m_Layer: 5 - m_Name: Banner_Upper_Element + - 4: {fileID: 437600} + - 114: {fileID: 11401932} + - 114: {fileID: 11439064} + m_Layer: 0 + m_Name: Inputs m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &126450 +--- !u!1 &140234 GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} serializedVersion: 4 m_Component: - - 4: {fileID: 484432} - - 114: {fileID: 11417568} + - 4: {fileID: 434130} + - 114: {fileID: 11486554} + - 114: {fileID: 11451856} + - 114: {fileID: 11409252} m_Layer: 0 - m_Name: SpeechToTextWidget + m_Name: EventSystem m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -120,19 +136,25 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &149894 +--- !u!1 &157548 GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} serializedVersion: 4 m_Component: - - 4: {fileID: 412440} - - 114: {fileID: 11432006} - - 114: {fileID: 11494632} - - 114: {fileID: 11427444} + - 4: {fileID: 420498} + - 114: {fileID: 11444834} + - 114: {fileID: 11441044} + - 114: {fileID: 11407682} + - 114: {fileID: 11445766} + - 114: {fileID: 11432490} + - 114: {fileID: 11424898} + - 114: {fileID: 11461908} + - 114: {fileID: 11440322} + - 114: {fileID: 11474440} m_Layer: 0 - m_Name: EventSystem + m_Name: TouchManager m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -157,30 +179,6 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &164440 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 4 - m_Component: - - 4: {fileID: 422754} - - 114: {fileID: 11468740} - - 114: {fileID: 11489036} - - 114: {fileID: 11460090} - - 114: {fileID: 11413414} - - 114: {fileID: 11438446} - - 114: {fileID: 11435042} - - 114: {fileID: 11477886} - - 114: {fileID: 11493726} - - 114: {fileID: 11489758} - m_Layer: 0 - m_Name: TouchManager - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 --- !u!1 &166960 GameObject: m_ObjectHideFlags: 1 @@ -215,17 +213,18 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &174368 +--- !u!1 &176980 GameObject: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} serializedVersion: 4 m_Component: - - 4: {fileID: 470842} - - 114: {fileID: 11421316} + - 224: {fileID: 22459000} + - 114: {fileID: 11426790} + - 223: {fileID: 22386216} m_Layer: 0 - m_Name: Touch Debugger + m_Name: Touch Visualizer Watson m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -288,49 +287,49 @@ Transform: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 140864} - m_LocalRotation: {x: 0, y: -.819152117, z: 0, w: .573576331} - m_LocalPosition: {x: -920.285461, y: 148.965515, z: 858.272156} - m_LocalScale: {x: 1.50470209, y: 1.50470221, z: 1.50470209} + m_LocalRotation: {x: 0, y: -0.8191521, z: 0, w: 0.57357633} + m_LocalPosition: {x: -920.28546, y: 148.96552, z: 858.27216} + m_LocalScale: {x: 1.5047021, y: 1.5047022, z: 1.5047021} m_Children: [] m_Father: {fileID: 22497212} m_RootOrder: 2 ---- !u!4 &412440 +--- !u!4 &420498 Transform: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 149894} + m_GameObject: {fileID: 157548} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -607.899719, y: -480, z: 0} - m_LocalScale: {x: 1.50470221, y: 1.50470221, z: 1.50470221} - m_Children: [] + m_LocalPosition: {x: -299.5, y: -291.5, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 437600} + - {fileID: 22459000} m_Father: {fileID: 22497212} - m_RootOrder: 4 ---- !u!4 &422754 + m_RootOrder: 3 +--- !u!4 &434130 Transform: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 164440} + m_GameObject: {fileID: 140234} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -394.5, y: -222, z: 0} + m_LocalPosition: {x: -299.5, y: -291.5, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 428872} - - {fileID: 470842} + m_Children: [] m_Father: {fileID: 22497212} - m_RootOrder: 3 ---- !u!4 &428872 + m_RootOrder: 4 +--- !u!4 &437600 Transform: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 121702} + m_GameObject: {fileID: 128472} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] - m_Father: {fileID: 422754} + m_Father: {fileID: 420498} m_RootOrder: 0 --- !u!4 &444938 Transform: @@ -339,8 +338,8 @@ Transform: m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 158402} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -1089.40442, y: -1200.55762, z: -22.6590443} - m_LocalScale: {x: 2.26590466, y: 2.26590466, z: 2.26590466} + m_LocalPosition: {x: -1089.4044, y: -1200.5576, z: -22.659044} + m_LocalScale: {x: 2.2659047, y: 2.2659047, z: 2.2659047} m_Children: [] m_Father: {fileID: 22497212} m_RootOrder: 5 @@ -350,32 +349,20 @@ Transform: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 178172} - m_LocalRotation: {x: 0, y: -.819152117, z: 0, w: .573576331} + m_LocalRotation: {x: 0, y: -0.8191521, z: 0, w: 0.57357633} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 22497212} m_RootOrder: 0 ---- !u!4 &470842 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 174368} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 422754} - m_RootOrder: 1 --- !u!4 &484432 Transform: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 126450} - m_LocalRotation: {x: 0, y: -.819152117, z: 0, w: .573576331} - m_LocalPosition: {x: -207.606384, y: 418, z: 570.393372} + m_LocalRotation: {x: 0, y: -0.8191521, z: 0, w: 0.57357633} + m_LocalPosition: {x: -207.60638, y: 418, z: 570.3934} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 22497212} @@ -389,14 +376,14 @@ Camera: m_Enabled: 1 serializedVersion: 2 m_ClearFlags: 2 - m_BackGroundColor: {r: 0, g: 0, b: 0, a: .0196078438} + m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0.019607844} m_NormalizedViewPortRect: serializedVersion: 2 x: 0 y: 0 width: 1 height: 1 - near clip plane: .300000012 + near clip plane: 0.3 far clip plane: 1000 field of view: 60 orthographic: 0 @@ -412,7 +399,7 @@ Camera: m_HDR: 0 m_OcclusionCulling: 1 m_StereoConvergence: 10 - m_StereoSeparation: .0219999999 + m_StereoSeparation: 0.022 m_StereoMirrorMode: 0 --- !u!81 &8184032 AudioListener: @@ -461,6 +448,7 @@ AudioSource: tangentMode: 0 m_PreInfinity: 2 m_PostInfinity: 2 + m_RotationOrder: 4 panLevelCustomCurve: serializedVersion: 2 m_Curve: @@ -471,6 +459,7 @@ AudioSource: tangentMode: 0 m_PreInfinity: 2 m_PostInfinity: 2 + m_RotationOrder: 0 spreadCustomCurve: serializedVersion: 2 m_Curve: @@ -481,6 +470,7 @@ AudioSource: tangentMode: 0 m_PreInfinity: 2 m_PostInfinity: 2 + m_RotationOrder: 4 reverbZoneMixCustomCurve: serializedVersion: 2 m_Curve: @@ -491,6 +481,7 @@ AudioSource: tangentMode: 0 m_PreInfinity: 2 m_PostInfinity: 2 + m_RotationOrder: 0 --- !u!92 &9229322 Behaviour: m_ObjectHideFlags: 1 @@ -498,6 +489,34 @@ Behaviour: m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 158402} m_Enabled: 1 +--- !u!114 &11401932 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 128472} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e276ccba4f7314d9988af19f9b3a611b, type: 3} + m_Name: + m_EditorClassIdentifier: + advancedProps: 0 + TouchTags: + tagList: + - Touch + MouseTags: + tagList: + - Mouse + PenTags: + tagList: + - Pen + Windows8Touch: 0 + Windows7Touch: 0 + WebPlayerTouch: 1 + WebGLTouch: 1 + Windows8Mouse: 1 + Windows7Mouse: 1 + UniversalWindowsMouse: 1 --- !u!114 &11404498 MonoBehaviour: m_ObjectHideFlags: 1 @@ -517,38 +536,40 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: d2c2efadb47c74652863d505e27fb0cd, type: 3} - m_Type: 1 + m_Sprite: {fileID: 21300000, guid: 11b8cc94d1829440d972e9e699902f64, type: 3} + m_Type: 0 m_PreserveAspect: 0 m_FillCenter: 1 m_FillMethod: 4 m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 ---- !u!114 &11413414 +--- !u!114 &11407682 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 164440} + m_GameObject: {fileID: 157548} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 681217450, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: bc7fd33c57d694994b0ab9f33fcdcbea, type: 3} m_Name: m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 1 - maxTouches: 1 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 1 - minScreenPointsDistance: .5 - screenTransformThreshold: .200000003 + Name: Global Fullscreen + type: 2 + _camera: {fileID: 0} +--- !u!114 &11409252 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 140234} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1997211142, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ForceModuleActive: 0 --- !u!114 &11417568 MonoBehaviour: m_ObjectHideFlags: 1 @@ -561,40 +582,18 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_AutoConnect: 1 + m_ResultOutput: + m_Connections: [] m_StatusText: {fileID: 0} m_DetectSilence: 1 - m_SilenceThreshold: .0299999993 + m_SilenceThreshold: 0.03 m_WordConfidence: 0 m_TimeStamps: 0 m_MaxAlternatives: 1 m_EnableContinous: 1 m_EnableInterimResults: 1 m_Transcript: {fileID: 0} - m_ResultOutput: - m_TargetObject: {fileID: 0} - m_TargetConnection: m_Language: en-US ---- !u!114 &11419360 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 121702} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 175516946, guid: bb6056dc800c1084da7273cb9f23f5cb, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - TouchTags: - tagList: - - Touch - MouseTags: - tagList: - - Mouse - PenTags: - tagList: - - Pen --- !u!114 &11420780 MonoBehaviour: m_ObjectHideFlags: 1 @@ -614,7 +613,7 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 7ff94ea14c816481191ba8fb97d349a5, type: 3} + m_Sprite: {fileID: 21300000, guid: 1eaeb3a02e12744e5a25a4169c3474a7, type: 3} m_Type: 0 m_PreserveAspect: 1 m_FillCenter: 1 @@ -622,51 +621,47 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 ---- !u!114 &11421316 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 174368} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 923107734, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - showTouchId: 0 - showTags: 0 - texture: {fileID: 2800000, guid: 1ca5291cdab0c7440bf75a4a7a4a3282, type: 3} - useDPI: 1 - touchSize: 1 - fontColor: {r: 0, g: 1, b: 1, a: 1} ---- !u!114 &11426692 +--- !u!114 &11424898 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 121702} + m_GameObject: {fileID: 157548} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -102971247, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 7a878a6ff128243dfb1d89ca0273f059, type: 3} m_Name: m_EditorClassIdentifier: advancedProps: 0 - DisableOnMobilePlatforms: 1 - Tags: - tagList: - - Mouse ---- !u!114 &11427444 + minTouches: 0 + maxTouches: 0 + combineTouches: 0 + combineTouchesInterval: 0.3 + useSendMessage: 0 + sendStateChangeMessages: 0 + sendMessageTarget: {fileID: 0} + requireGestureToFail: {fileID: 0} + friendlyGestures: + - {fileID: 11474440} + numberOfTapsRequired: 1 + timeLimit: Infinity + distanceLimit: Infinity +--- !u!114 &11426790 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 149894} + m_GameObject: {fileID: 176980} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1997211142, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Script: {fileID: 11500000, guid: 75324aa372886435faa21a4145210f8e, type: 3} m_Name: m_EditorClassIdentifier: - m_ForceModuleActive: 0 + touchProxy: {fileID: 11425240, guid: a4bbcb7dfeb4c1d4bb6557cd44ac80da, type: 2} + showTouchId: 1 + showTags: 1 + useDPI: 1 + touchSize: 1 --- !u!114 &11429378 MonoBehaviour: m_ObjectHideFlags: 1 @@ -694,6 +689,7 @@ MonoBehaviour: m_MinSize: 10 m_MaxSize: 40 m_Alignment: 4 + m_AlignByGeometry: 0 m_RichText: 1 m_HorizontalOverflow: 0 m_VerticalOverflow: 0 @@ -720,85 +716,163 @@ MonoBehaviour: m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 ---- !u!114 &11432006 +--- !u!114 &11432490 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 149894} + m_GameObject: {fileID: 157548} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Script: {fileID: 11500000, guid: 74ae431eff8434b0897d3f7f1cff4311, type: 3} m_Name: m_EditorClassIdentifier: - m_FirstSelected: {fileID: 0} - m_sendNavigationEvents: 1 - m_DragThreshold: 5 ---- !u!114 &11435042 + advancedProps: 0 + minTouches: 2 + maxTouches: 2 + combineTouches: 0 + combineTouchesInterval: 0.3 + useSendMessage: 0 + sendStateChangeMessages: 0 + sendMessageTarget: {fileID: 0} + requireGestureToFail: {fileID: 0} + friendlyGestures: [] + type: 7 + minScreenPointsDistance: 0.5 + screenTransformThreshold: 0.1 +--- !u!114 &11439064 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 164440} + m_GameObject: {fileID: 128472} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1235405773, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 33cbf52dea18b40649d742b0c6f96d3c, type: 3} + m_Name: + m_EditorClassIdentifier: + advancedProps: 0 + DisableOnNonTouchPlatforms: 1 + Tags: + tagList: + - Touch +--- !u!114 &11439654 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 144288} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &11440322 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 157548} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 141e75b9b7edb42df80a22a14f03ae4b, type: 3} m_Name: m_EditorClassIdentifier: advancedProps: 0 minTouches: 0 maxTouches: 0 combineTouches: 0 - combineTouchesInterval: .300000012 + combineTouchesInterval: 0.3 useSendMessage: 0 sendStateChangeMessages: 0 sendMessageTarget: {fileID: 0} requireGestureToFail: {fileID: 0} - friendlyGestures: - - {fileID: 11489758} - numberOfTapsRequired: 1 - timeLimit: Infinity - distanceLimit: Infinity ---- !u!114 &11438446 + friendlyGestures: [] + ignoreChildren: 0 +--- !u!114 &11441044 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 157548} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0dd4c394fe06f4ea49e03aaa5e7a8190, type: 3} + m_Name: + m_EditorClassIdentifier: + displayDevice: {fileID: 0} + shouldCreateCameraLayer: 1 + shouldCreateStandardInput: 1 + useSendMessage: 0 + sendMessageEvents: 60 + sendMessageTarget: {fileID: 0} + layers: + - {fileID: 0} +--- !u!114 &11444834 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 164440} + m_GameObject: {fileID: 157548} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 681217450, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 1ce6f84be69c24efc9afd3dac982cdfd, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TapGesture: {fileID: 11424898} + m_DoubleTapGesture: {fileID: 0} + m_ThreeTapGesture: {fileID: 11474440} + m_OneFingerMoveGesture: {fileID: 11445766} + m_TwoFingerMoveGesture: {fileID: 11432490} + m_PressGesture: {fileID: 11461908} + m_ReleaseGesture: {fileID: 11440322} + m_LongPressGesture: {fileID: 0} +--- !u!114 &11445766 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 157548} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 74ae431eff8434b0897d3f7f1cff4311, type: 3} m_Name: m_EditorClassIdentifier: advancedProps: 0 - minTouches: 2 - maxTouches: 2 + minTouches: 1 + maxTouches: 1 combineTouches: 0 - combineTouchesInterval: .300000012 + combineTouchesInterval: 0.3 useSendMessage: 0 sendStateChangeMessages: 0 sendMessageTarget: {fileID: 0} requireGestureToFail: {fileID: 0} friendlyGestures: [] - type: 7 - minScreenPointsDistance: .5 - screenTransformThreshold: .200000003 ---- !u!114 &11439654 + type: 1 + minScreenPointsDistance: 0.5 + screenTransformThreshold: 0.1 +--- !u!114 &11451856 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 144288} + m_GameObject: {fileID: 140234} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Script: {fileID: 11500000, guid: 797eed971a75647609ca044e7924beb7, type: 3} m_Name: m_EditorClassIdentifier: - m_IgnoreReversedGraphics: 1 - m_BlockingObjects: 0 - m_BlockingMask: - serializedVersion: 2 - m_Bits: 4294967295 + horizontalAxis: Horizontal + verticalAxis: Vertical + submitButton: Submit + cancelButton: Cancel + inputActionsPerSecond: 10 + repeatDelay: 0.5 --- !u!114 &11457404 MonoBehaviour: m_ObjectHideFlags: 1 @@ -811,20 +885,17 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_AutoConnect: 1 - m_ActivateOnStart: 1 m_AudioOutput: - m_TargetObject: {fileID: 0} - m_TargetConnection: + m_Connections: [] m_LevelOutput: - m_TargetObject: {fileID: 0} - m_TargetConnection: + m_Connections: [] m_ActivateOutput: - m_TargetObject: {fileID: 0} - m_TargetConnection: + m_Connections: [] + m_ActivateOnStart: 1 m_RecordingBufferSize: 2 m_RecordingHZ: 22050 m_MicrophoneID: - m_LevelOutputInterval: .0500000007 + m_LevelOutputInterval: 0.05 m_LevelOutputModifier: 16 m_PlaybackRecording: 0 m_StatusText: {fileID: 0} @@ -840,7 +911,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: .809000015} + m_Color: {r: 1, g: 1, b: 1, a: 0.809} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -855,20 +926,28 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 ---- !u!114 &11460090 +--- !u!114 &11461908 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 164440} + m_GameObject: {fileID: 157548} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1780265814, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: c6be551879cd14d739b0188844ef2c60, type: 3} m_Name: m_EditorClassIdentifier: - Name: Global Fullscreen - type: 2 - _camera: {fileID: 0} + advancedProps: 0 + minTouches: 0 + maxTouches: 0 + combineTouches: 0 + combineTouchesInterval: 0.3 + useSendMessage: 0 + sendStateChangeMessages: 0 + sendMessageTarget: {fileID: 0} + requireGestureToFail: {fileID: 0} + friendlyGestures: [] + ignoreChildren: 0 --- !u!114 &11466148 MonoBehaviour: m_ObjectHideFlags: 1 @@ -882,23 +961,31 @@ MonoBehaviour: m_EditorClassIdentifier: m_AutoConnect: 1 m_ClassDisplay: {fileID: 11429378} ---- !u!114 &11468740 +--- !u!114 &11474440 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 164440} + m_GameObject: {fileID: 157548} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1ce6f84be69c24efc9afd3dac982cdfd, type: 3} + m_Script: {fileID: 11500000, guid: 7a878a6ff128243dfb1d89ca0273f059, type: 3} m_Name: m_EditorClassIdentifier: - m_TapGesture: {fileID: 11435042} - m_ThreeTapGesture: {fileID: 11489758} - m_OneFingerMoveGesture: {fileID: 11413414} - m_TwoFingerMoveGesture: {fileID: 11438446} - m_PressGesture: {fileID: 11477886} - m_ReleaseGesture: {fileID: 11493726} + advancedProps: 0 + minTouches: 0 + maxTouches: 0 + combineTouches: 0 + combineTouchesInterval: 0.3 + useSendMessage: 0 + sendStateChangeMessages: 0 + sendMessageTarget: {fileID: 0} + requireGestureToFail: {fileID: 0} + friendlyGestures: + - {fileID: 11424898} + numberOfTapsRequired: 3 + timeLimit: 0.7 + distanceLimit: 0.3 --- !u!114 &11476318 MonoBehaviour: m_ObjectHideFlags: 1 @@ -911,7 +998,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: .95588237, g: .95588237, b: .95588237, a: 1} + m_Color: {r: 0.9558824, g: 0.9558824, b: 0.9558824, a: 1} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -926,131 +1013,26 @@ MonoBehaviour: m_MinSize: 10 m_MaxSize: 40 m_Alignment: 2 + m_AlignByGeometry: 0 m_RichText: 1 m_HorizontalOverflow: 0 m_VerticalOverflow: 0 m_LineSpacing: 1 m_Text: NATURAL LANGUAGE CLASSIFIER ---- !u!114 &11477886 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 164440} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1088824302, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - ignoreChildren: 0 ---- !u!114 &11481320 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 121702} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1496140412, guid: bb6056dc800c1084da7273cb9f23f5cb, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - DisableMouseInputInBuilds: 1 - Tags: - tagList: - - Touch ---- !u!114 &11489036 +--- !u!114 &11486554 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 164440} + m_GameObject: {fileID: 140234} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -409488130, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - displayDevice: {fileID: 0} - shouldCreateCameraLayer: 1 - useSendMessage: 0 - sendMessageEvents: 60 - sendMessageTarget: {fileID: 0} - layers: - - {fileID: 11460090} ---- !u!114 &11489758 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 164440} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1235405773, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: - - {fileID: 11435042} - numberOfTapsRequired: 3 - timeLimit: .699999988 - distanceLimit: .300000012 ---- !u!114 &11493726 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 164440} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 438491968, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - ignoreChildren: 0 ---- !u!114 &11494632 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 149894} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -839872303, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} m_Name: m_EditorClassIdentifier: - horizontalAxis: Horizontal - verticalAxis: Vertical - submitButton: Submit - cancelButton: Cancel - inputActionsPerSecond: 10 - repeatDelay: .5 + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 --- !u!114 &11498404 MonoBehaviour: m_ObjectHideFlags: 1 @@ -1070,7 +1052,7 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: d5b8d64f6d18844e781d2c63316a810f, type: 3} + m_Sprite: {fileID: 21300000, guid: dcc763001129146f0bd779f1a3f3cee2, type: 3} m_Type: 0 m_PreserveAspect: 1 m_FillCenter: 1 @@ -1078,22 +1060,6 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 ---- !u!114 &11498408 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 121702} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 770742126, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - DisableOnNonTouchPlatforms: 1 - Tags: - tagList: - - Touch --- !u!114 &11499936 MonoBehaviour: m_ObjectHideFlags: 1 @@ -1107,77 +1073,18 @@ MonoBehaviour: m_EditorClassIdentifier: m_AutoConnect: 1 m_ClassifyOutput: - m_TargetObject: {fileID: 0} - m_TargetConnection: Classifier/Classified + m_Connections: [] m_ClassifierName: ${NLC_CLASSIFIER_NAME} m_ClassifierId: ${NLC_CLASSIFIER_ID} - m_MinWordConfidence: .40000000000000002 - m_IgnoreWordConfidence: .20000000000000001 - m_MinClassEventConfidence: .5 + m_MinWordConfidence: 0.4 + m_IgnoreWordConfidence: 0.2 + m_MinClassEventConfidence: 0.5 m_Language: en m_ClassEventList: - - m_Class: wakeup - m_Event: 403 - - m_Class: sleep - m_Event: 404 - - m_Class: cancel - m_Event: 210 - - m_Class: dialog - m_Event: 402 - - m_Class: debug_on - m_Event: 405 - - m_Class: debug_off - m_Event: 406 - - m_Class: fold - m_Event: 407 - - m_Class: unfold - m_Event: 408 - - m_Class: answers - m_Event: 409 - - m_Class: evidence - m_Event: 410 - - m_Class: chat - m_Event: 411 - - m_Class: parse - m_Event: 412 - - m_Class: location - m_Event: 413 - - m_Class: question-thunderstone - m_Event: 401 - - m_Class: question-woodside - m_Event: 401 - - m_Class: question-numerati_woodside - m_Event: 401 - - m_Class: pan_left - m_Event: -1 - - m_Class: pan_right - m_Event: -1 - - m_Class: pan_up - m_Event: -1 - - m_Class: pan_down - m_Event: -1 - - m_Class: zoom_in - m_Event: -1 - - m_Class: zoom_out - m_Event: -1 - - m_Class: show_next_passage - m_Event: 415 - - m_Class: show_next_answer - m_Event: 415 - - m_Class: show_next - m_Event: 415 - - m_Class: show_previous_passage - m_Event: 416 - - m_Class: show_previous_answer - m_Event: 416 - - m_Class: show_previous - m_Event: 416 - - m_Class: scroll_up - m_Event: 417 - - m_Class: scroll_down - m_Event: 418 - - m_Class: repeat_last_action - m_Event: 419 + - m_Class: temperature + m_Event: + - m_Class: conditions + m_Event: m_TopClassText: {fileID: 0} --- !u!124 &12405886 Behaviour: @@ -1243,8 +1150,29 @@ Canvas: m_ReceivesEvents: 1 m_OverrideSorting: 0 m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 m_SortingLayerID: 0 m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!223 &22386216 +Canvas: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 176980} + m_Enabled: 1 + serializedVersion: 2 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_SortingLayerID: 0 + m_SortingOrder: 9000 + m_TargetDisplay: 0 --- !u!224 &22400530 RectTransform: m_ObjectHideFlags: 1 @@ -1261,7 +1189,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22408236 RectTransform: m_ObjectHideFlags: 1 @@ -1301,7 +1229,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22416134 RectTransform: m_ObjectHideFlags: 1 @@ -1316,9 +1244,9 @@ RectTransform: m_RootOrder: 0 m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -6.10351562e-05, y: 0} + m_AnchoredPosition: {x: -0.000061035156, y: 0} m_SizeDelta: {x: 0, y: 35} - m_Pivot: {x: .0500000007, y: 2.0999999} + m_Pivot: {x: 0.05, y: 2.1} --- !u!224 &22438442 RectTransform: m_ObjectHideFlags: 1 @@ -1336,6 +1264,23 @@ RectTransform: m_AnchoredPosition: {x: 0, y: -112} m_SizeDelta: {x: -25, y: 30} m_Pivot: {x: 0, y: 1} +--- !u!224 &22459000 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 176980} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 420498} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} --- !u!224 &22472450 RectTransform: m_ObjectHideFlags: 1 @@ -1352,7 +1297,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 80} - m_Pivot: {x: .99000001, y: 1.10000002} + m_Pivot: {x: 0.99, y: 1.1} --- !u!224 &22483502 RectTransform: m_ObjectHideFlags: 1 @@ -1369,7 +1314,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: -100} m_SizeDelta: {x: -18, y: 3} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22497212 RectTransform: m_ObjectHideFlags: 1 @@ -1383,8 +1328,8 @@ RectTransform: - {fileID: 450964} - {fileID: 484432} - {fileID: 409680} - - {fileID: 422754} - - {fileID: 412440} + - {fileID: 420498} + - {fileID: 434130} - {fileID: 444938} - {fileID: 22408236} m_Father: {fileID: 0} @@ -1393,7 +1338,7 @@ RectTransform: m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 299.5, y: 291.5} m_SizeDelta: {x: 599, y: 583} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1001 &100100000 Prefab: m_ObjectHideFlags: 1 diff --git a/Scenes/Prefabs/TestNLC.prefab.meta b/Scenes/UnitTests/Prefabs/TestNaturalLanguageClassifier.prefab.meta similarity index 100% rename from Scenes/Prefabs/TestNLC.prefab.meta rename to Scenes/UnitTests/Prefabs/TestNaturalLanguageClassifier.prefab.meta diff --git a/Scenes/Prefabs/TestSTT.prefab b/Scenes/UnitTests/Prefabs/TestSpeechToText.prefab similarity index 82% rename from Scenes/Prefabs/TestSTT.prefab rename to Scenes/UnitTests/Prefabs/TestSpeechToText.prefab index aeebe0860..a27b119bb 100644 --- a/Scenes/Prefabs/TestSTT.prefab +++ b/Scenes/UnitTests/Prefabs/TestSpeechToText.prefab @@ -59,63 +59,46 @@ GameObject: m_Component: - 224: {fileID: 22439340} m_Layer: 0 - m_Name: TestSTT + m_Name: TestSpeechToText m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &123440 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 4 - m_Component: - - 4: {fileID: 494258} - - 114: {fileID: 11463026} - - 114: {fileID: 11445360} - - 114: {fileID: 11450256} - m_Layer: 0 - m_Name: EventSystem - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &126520 +--- !u!1 &145254 GameObject: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} serializedVersion: 4 m_Component: - - 4: {fileID: 468296} - - 114: {fileID: 11410140} - m_Layer: 0 - m_Name: Touch Debugger + - 224: {fileID: 22476196} + - 222: {fileID: 22215780} + - 114: {fileID: 11453736} + m_Layer: 5 + m_Name: Line m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &134596 +--- !u!1 &160962 GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} serializedVersion: 4 m_Component: - - 4: {fileID: 466310} - - 114: {fileID: 11483952} - - 114: {fileID: 11472284} - - 114: {fileID: 11464744} - - 114: {fileID: 11471016} - - 114: {fileID: 11437978} - - 114: {fileID: 11402586} - - 114: {fileID: 11429186} - - 114: {fileID: 11415426} - - 114: {fileID: 11473200} + - 4: {fileID: 449762} + - 114: {fileID: 11443766} + - 114: {fileID: 11414366} + - 114: {fileID: 11431800} + - 114: {fileID: 11434220} + - 114: {fileID: 11429534} + - 114: {fileID: 11406378} + - 114: {fileID: 11407130} + - 114: {fileID: 11491464} + - 114: {fileID: 11499378} m_Layer: 0 m_Name: TouchManager m_TagString: Untagged @@ -123,18 +106,19 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &145254 +--- !u!1 &161420 GameObject: - m_ObjectHideFlags: 1 + m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} serializedVersion: 4 m_Component: - - 224: {fileID: 22476196} - - 222: {fileID: 22215780} - - 114: {fileID: 11453736} - m_Layer: 5 - m_Name: Line + - 4: {fileID: 435330} + - 114: {fileID: 11496576} + - 114: {fileID: 11448224} + - 114: {fileID: 11435706} + m_Layer: 0 + m_Name: EventSystem m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -177,35 +161,33 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &178376 +--- !u!1 &168782 GameObject: - m_ObjectHideFlags: 0 + m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} serializedVersion: 4 m_Component: - - 4: {fileID: 449356} - - 114: {fileID: 11432794} - - 82: {fileID: 8277020} + - 224: {fileID: 22444036} + - 114: {fileID: 11494982} + - 223: {fileID: 22362408} m_Layer: 0 - m_Name: MicWidget + m_Name: Touch Visualizer Watson m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &182990 +--- !u!1 &174992 GameObject: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} serializedVersion: 4 m_Component: - - 4: {fileID: 436314} - - 114: {fileID: 11498840} - - 114: {fileID: 11457752} - - 114: {fileID: 11448330} - - 114: {fileID: 11449990} + - 4: {fileID: 482990} + - 114: {fileID: 11427008} + - 114: {fileID: 11467242} m_Layer: 0 m_Name: Inputs m_TagString: Untagged @@ -213,6 +195,23 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!1 &178376 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 449356} + - 114: {fileID: 11432794} + - 82: {fileID: 8277020} + m_Layer: 0 + m_Name: MicWidget + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 --- !u!1 &187182 GameObject: m_ObjectHideFlags: 0 @@ -272,74 +271,62 @@ Transform: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 107042} - m_LocalRotation: {x: 0, y: -.819152117, z: 0, w: .573576331} - m_LocalPosition: {x: -920.285461, y: 148.965515, z: 858.272156} - m_LocalScale: {x: 1.50470209, y: 1.50470221, z: 1.50470209} + m_LocalRotation: {x: 0, y: -0.8191521, z: 0, w: 0.57357633} + m_LocalPosition: {x: -920.28546, y: 148.96552, z: 858.27216} + m_LocalScale: {x: 1.5047021, y: 1.5047022, z: 1.5047021} m_Children: [] m_Father: {fileID: 22439340} m_RootOrder: 1 ---- !u!4 &436314 +--- !u!4 &435330 Transform: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 182990} + m_GameObject: {fileID: 161420} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalPosition: {x: -299.5, y: -291.5, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] - m_Father: {fileID: 466310} - m_RootOrder: 0 + m_Father: {fileID: 22439340} + m_RootOrder: 3 --- !u!4 &449356 Transform: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 178376} - m_LocalRotation: {x: 0, y: -.819152117, z: 0, w: .573576331} + m_LocalRotation: {x: 0, y: -0.8191521, z: 0, w: 0.57357633} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 22439340} m_RootOrder: 0 ---- !u!4 &466310 +--- !u!4 &449762 Transform: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 134596} + m_GameObject: {fileID: 160962} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -394.5, y: -222, z: 0} + m_LocalPosition: {x: -299.5, y: -291.5, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - - {fileID: 436314} - - {fileID: 468296} + - {fileID: 482990} + - {fileID: 22444036} m_Father: {fileID: 22439340} - m_RootOrder: 3 ---- !u!4 &468296 + m_RootOrder: 2 +--- !u!4 &482990 Transform: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 126520} + m_GameObject: {fileID: 174992} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] - m_Father: {fileID: 466310} - m_RootOrder: 1 ---- !u!4 &494258 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 123440} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -607.899719, y: -480, z: 0} - m_LocalScale: {x: 1.50470221, y: 1.50470221, z: 1.50470221} - m_Children: [] - m_Father: {fileID: 22439340} - m_RootOrder: 4 + m_Father: {fileID: 449762} + m_RootOrder: 0 --- !u!4 &497872 Transform: m_ObjectHideFlags: 1 @@ -347,11 +334,11 @@ Transform: m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 187182} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -1089.40442, y: -1200.55762, z: -22.6590443} - m_LocalScale: {x: 2.26590466, y: 2.26590466, z: 2.26590466} + m_LocalPosition: {x: -1089.4044, y: -1200.5576, z: -22.659044} + m_LocalScale: {x: 2.2659047, y: 2.2659047, z: 2.2659047} m_Children: [] m_Father: {fileID: 22439340} - m_RootOrder: 2 + m_RootOrder: 4 --- !u!20 &2022986 Camera: m_ObjectHideFlags: 1 @@ -361,14 +348,14 @@ Camera: m_Enabled: 1 serializedVersion: 2 m_ClearFlags: 2 - m_BackGroundColor: {r: 0, g: 0, b: 0, a: .0196078438} + m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0.019607844} m_NormalizedViewPortRect: serializedVersion: 2 x: 0 y: 0 width: 1 height: 1 - near clip plane: .300000012 + near clip plane: 0.3 far clip plane: 1000 field of view: 60 orthographic: 0 @@ -384,7 +371,7 @@ Camera: m_HDR: 0 m_OcclusionCulling: 1 m_StereoConvergence: 10 - m_StereoSeparation: .0219999999 + m_StereoSeparation: 0.022 m_StereoMirrorMode: 0 --- !u!81 &8167880 AudioListener: @@ -433,6 +420,7 @@ AudioSource: tangentMode: 0 m_PreInfinity: 2 m_PostInfinity: 2 + m_RotationOrder: 4 panLevelCustomCurve: serializedVersion: 2 m_Curve: @@ -443,6 +431,7 @@ AudioSource: tangentMode: 0 m_PreInfinity: 2 m_PostInfinity: 2 + m_RotationOrder: 0 spreadCustomCurve: serializedVersion: 2 m_Curve: @@ -453,6 +442,7 @@ AudioSource: tangentMode: 0 m_PreInfinity: 2 m_PostInfinity: 2 + m_RotationOrder: 4 reverbZoneMixCustomCurve: serializedVersion: 2 m_Curve: @@ -463,6 +453,7 @@ AudioSource: tangentMode: 0 m_PreInfinity: 2 m_PostInfinity: 2 + m_RotationOrder: 0 --- !u!92 &9297486 Behaviour: m_ObjectHideFlags: 1 @@ -497,75 +488,78 @@ MonoBehaviour: m_MinSize: 10 m_MaxSize: 40 m_Alignment: 4 + m_AlignByGeometry: 0 m_RichText: 1 m_HorizontalOverflow: 0 m_VerticalOverflow: 0 m_LineSpacing: 1 m_Text: ---- !u!114 &11402586 +--- !u!114 &11406378 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 134596} + m_GameObject: {fileID: 160962} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1235405773, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 7a878a6ff128243dfb1d89ca0273f059, type: 3} m_Name: m_EditorClassIdentifier: advancedProps: 0 minTouches: 0 maxTouches: 0 combineTouches: 0 - combineTouchesInterval: .300000012 + combineTouchesInterval: 0.3 useSendMessage: 0 sendStateChangeMessages: 0 sendMessageTarget: {fileID: 0} requireGestureToFail: {fileID: 0} friendlyGestures: - - {fileID: 11473200} + - {fileID: 11499378} numberOfTapsRequired: 1 timeLimit: Infinity distanceLimit: Infinity ---- !u!114 &11410140 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 126520} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 923107734, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - showTouchId: 0 - showTags: 0 - texture: {fileID: 2800000, guid: 1ca5291cdab0c7440bf75a4a7a4a3282, type: 3} - useDPI: 1 - touchSize: 1 - fontColor: {r: 0, g: 1, b: 1, a: 1} ---- !u!114 &11415426 +--- !u!114 &11407130 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 134596} + m_GameObject: {fileID: 160962} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 438491968, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: c6be551879cd14d739b0188844ef2c60, type: 3} m_Name: m_EditorClassIdentifier: advancedProps: 0 minTouches: 0 maxTouches: 0 combineTouches: 0 - combineTouchesInterval: .300000012 + combineTouchesInterval: 0.3 useSendMessage: 0 sendStateChangeMessages: 0 sendMessageTarget: {fileID: 0} requireGestureToFail: {fileID: 0} friendlyGestures: [] ignoreChildren: 0 +--- !u!114 &11414366 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160962} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0dd4c394fe06f4ea49e03aaa5e7a8190, type: 3} + m_Name: + m_EditorClassIdentifier: + displayDevice: {fileID: 0} + shouldCreateCameraLayer: 1 + shouldCreateStandardInput: 1 + useSendMessage: 0 + sendMessageEvents: 60 + sendMessageTarget: {fileID: 0} + layers: + - {fileID: 0} --- !u!114 &11416996 MonoBehaviour: m_ObjectHideFlags: 1 @@ -601,7 +595,7 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 7ff94ea14c816481191ba8fb97d349a5, type: 3} + m_Sprite: {fileID: 21300000, guid: 1eaeb3a02e12744e5a25a4169c3474a7, type: 3} m_Type: 0 m_PreserveAspect: 1 m_FillCenter: 1 @@ -609,28 +603,72 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 ---- !u!114 &11429186 +--- !u!114 &11427008 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 134596} + m_GameObject: {fileID: 174992} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1088824302, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: e276ccba4f7314d9988af19f9b3a611b, type: 3} m_Name: m_EditorClassIdentifier: advancedProps: 0 - minTouches: 0 - maxTouches: 0 + TouchTags: + tagList: + - Touch + MouseTags: + tagList: + - Mouse + PenTags: + tagList: + - Pen + Windows8Touch: 0 + Windows7Touch: 0 + WebPlayerTouch: 1 + WebGLTouch: 1 + Windows8Mouse: 1 + Windows7Mouse: 1 + UniversalWindowsMouse: 1 +--- !u!114 &11429534 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160962} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 74ae431eff8434b0897d3f7f1cff4311, type: 3} + m_Name: + m_EditorClassIdentifier: + advancedProps: 0 + minTouches: 2 + maxTouches: 2 combineTouches: 0 - combineTouchesInterval: .300000012 + combineTouchesInterval: 0.3 useSendMessage: 0 sendStateChangeMessages: 0 sendMessageTarget: {fileID: 0} requireGestureToFail: {fileID: 0} friendlyGestures: [] - ignoreChildren: 0 + type: 7 + minScreenPointsDistance: 0.5 + screenTransformThreshold: 0.1 +--- !u!114 &11431800 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160962} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bc7fd33c57d694994b0ab9f33fcdcbea, type: 3} + m_Name: + m_EditorClassIdentifier: + Name: Global Fullscreen + type: 2 + _camera: {fileID: 0} --- !u!114 &11432794 MonoBehaviour: m_ObjectHideFlags: 1 @@ -643,47 +681,75 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_AutoConnect: 1 - m_ActivateOnStart: 1 m_AudioOutput: - m_TargetObject: {fileID: 0} - m_TargetConnection: + m_Connections: [] m_LevelOutput: - m_TargetObject: {fileID: 0} - m_TargetConnection: + m_Connections: [] m_ActivateOutput: - m_TargetObject: {fileID: 0} - m_TargetConnection: + m_Connections: [] + m_ActivateOnStart: 1 m_RecordingBufferSize: 2 m_RecordingHZ: 22050 m_MicrophoneID: - m_LevelOutputInterval: .0500000007 + m_LevelOutputInterval: 0.05 m_LevelOutputModifier: 16 m_PlaybackRecording: 0 m_StatusText: {fileID: 0} ---- !u!114 &11437978 +--- !u!114 &11434220 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 134596} + m_GameObject: {fileID: 160962} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 681217450, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 74ae431eff8434b0897d3f7f1cff4311, type: 3} m_Name: m_EditorClassIdentifier: advancedProps: 0 - minTouches: 2 - maxTouches: 2 + minTouches: 1 + maxTouches: 1 combineTouches: 0 - combineTouchesInterval: .300000012 + combineTouchesInterval: 0.3 useSendMessage: 0 sendStateChangeMessages: 0 sendMessageTarget: {fileID: 0} requireGestureToFail: {fileID: 0} friendlyGestures: [] - type: 7 - minScreenPointsDistance: .5 - screenTransformThreshold: .200000003 + type: 1 + minScreenPointsDistance: 0.5 + screenTransformThreshold: 0.1 +--- !u!114 &11435706 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 161420} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1997211142, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ForceModuleActive: 0 +--- !u!114 &11443766 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160962} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1ce6f84be69c24efc9afd3dac982cdfd, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TapGesture: {fileID: 11406378} + m_DoubleTapGesture: {fileID: 0} + m_ThreeTapGesture: {fileID: 11499378} + m_OneFingerMoveGesture: {fileID: 11434220} + m_TwoFingerMoveGesture: {fileID: 11429534} + m_PressGesture: {fileID: 11407130} + m_ReleaseGesture: {fileID: 11491464} + m_LongPressGesture: {fileID: 0} --- !u!114 &11445124 MonoBehaviour: m_ObjectHideFlags: 1 @@ -696,7 +762,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: .95588237, g: .95588237, b: .95588237, a: 1} + m_Color: {r: 0.9558824, g: 0.9558824, b: 0.9558824, a: 1} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -711,28 +777,12 @@ MonoBehaviour: m_MinSize: 10 m_MaxSize: 40 m_Alignment: 2 + m_AlignByGeometry: 0 m_RichText: 1 m_HorizontalOverflow: 0 m_VerticalOverflow: 0 m_LineSpacing: 1 m_Text: TEST SPEECH TO TEXT ---- !u!114 &11445360 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 123440} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -839872303, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - horizontalAxis: Horizontal - verticalAxis: Vertical - submitButton: Submit - cancelButton: Cancel - inputActionsPerSecond: 10 - repeatDelay: .5 --- !u!114 &11447952 MonoBehaviour: m_ObjectHideFlags: 1 @@ -749,51 +799,24 @@ MonoBehaviour: m_Output: {fileID: 11401532} m_OutputAsInputField: {fileID: 0} m_OutputStatus: {fileID: 0} - m_MinConfidenceToShow: .5 ---- !u!114 &11448330 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 182990} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -102971247, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - DisableOnMobilePlatforms: 1 - Tags: - tagList: - - Mouse ---- !u!114 &11449990 + m_MinConfidenceToShow: 0.5 +--- !u!114 &11448224 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 182990} + m_GameObject: {fileID: 161420} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 770742126, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 797eed971a75647609ca044e7924beb7, type: 3} m_Name: m_EditorClassIdentifier: - advancedProps: 0 - DisableOnNonTouchPlatforms: 1 - Tags: - tagList: - - Touch ---- !u!114 &11450256 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 123440} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1997211142, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_ForceModuleActive: 0 + horizontalAxis: Horizontal + verticalAxis: Vertical + submitButton: Submit + cancelButton: Cancel + inputActionsPerSecond: 10 + repeatDelay: 0.5 --- !u!114 &11453736 MonoBehaviour: m_ObjectHideFlags: 1 @@ -806,7 +829,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: .809000015} + m_Color: {r: 1, g: 1, b: 1, a: 0.809} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -842,55 +865,6 @@ MonoBehaviour: m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 ---- !u!114 &11457752 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 182990} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 175516946, guid: bb6056dc800c1084da7273cb9f23f5cb, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - TouchTags: - tagList: - - Touch - MouseTags: - tagList: - - Mouse - PenTags: - tagList: - - Pen ---- !u!114 &11463026 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 123440} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_FirstSelected: {fileID: 0} - m_sendNavigationEvents: 1 - m_DragThreshold: 5 ---- !u!114 &11464744 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 134596} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1780265814, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - Name: Global Fullscreen - type: 2 - _camera: {fileID: 0} --- !u!114 &11465884 MonoBehaviour: m_ObjectHideFlags: 1 @@ -903,146 +877,138 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_AutoConnect: 1 + m_ResultOutput: + m_Connections: [] m_StatusText: {fileID: 0} m_DetectSilence: 1 - m_SilenceThreshold: .0299999993 + m_SilenceThreshold: 0.03 m_WordConfidence: 0 m_TimeStamps: 0 m_MaxAlternatives: 1 m_EnableContinous: 1 m_EnableInterimResults: 1 m_Transcript: {fileID: 0} - m_ResultOutput: - m_TargetObject: {fileID: 0} - m_TargetConnection: m_Language: en-US ---- !u!114 &11471016 +--- !u!114 &11467242 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 134596} + m_GameObject: {fileID: 174992} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 681217450, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 33cbf52dea18b40649d742b0c6f96d3c, type: 3} m_Name: m_EditorClassIdentifier: advancedProps: 0 - minTouches: 1 - maxTouches: 1 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 1 - minScreenPointsDistance: .5 - screenTransformThreshold: .200000003 ---- !u!114 &11472284 + DisableOnNonTouchPlatforms: 1 + Tags: + tagList: + - Touch +--- !u!114 &11478382 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 134596} + m_GameObject: {fileID: 107370} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -409488130, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} m_Name: m_EditorClassIdentifier: - displayDevice: {fileID: 0} - shouldCreateCameraLayer: 1 - useSendMessage: 0 - sendMessageEvents: 60 - sendMessageTarget: {fileID: 0} - layers: - - {fileID: 11464744} ---- !u!114 &11473200 + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 11b8cc94d1829440d972e9e699902f64, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11491464 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 134596} + m_GameObject: {fileID: 160962} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1235405773, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 141e75b9b7edb42df80a22a14f03ae4b, type: 3} m_Name: m_EditorClassIdentifier: advancedProps: 0 minTouches: 0 maxTouches: 0 combineTouches: 0 - combineTouchesInterval: .300000012 + combineTouchesInterval: 0.3 useSendMessage: 0 sendStateChangeMessages: 0 sendMessageTarget: {fileID: 0} requireGestureToFail: {fileID: 0} - friendlyGestures: - - {fileID: 11402586} - numberOfTapsRequired: 3 - timeLimit: .699999988 - distanceLimit: .300000012 ---- !u!114 &11478382 + friendlyGestures: [] + ignoreChildren: 0 +--- !u!114 &11494982 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 107370} + m_GameObject: {fileID: 168782} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Script: {fileID: 11500000, guid: 75324aa372886435faa21a4145210f8e, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: d2c2efadb47c74652863d505e27fb0cd, type: 3} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!114 &11483952 + touchProxy: {fileID: 11425240, guid: a4bbcb7dfeb4c1d4bb6557cd44ac80da, type: 2} + showTouchId: 1 + showTags: 1 + useDPI: 1 + touchSize: 1 +--- !u!114 &11496576 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 134596} + m_GameObject: {fileID: 161420} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1ce6f84be69c24efc9afd3dac982cdfd, type: 3} + m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} m_Name: m_EditorClassIdentifier: - m_TapGesture: {fileID: 11402586} - m_ThreeTapGesture: {fileID: 11473200} - m_OneFingerMoveGesture: {fileID: 11471016} - m_TwoFingerMoveGesture: {fileID: 11437978} - m_PressGesture: {fileID: 11429186} - m_ReleaseGesture: {fileID: 11415426} ---- !u!114 &11498840 + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 +--- !u!114 &11499378 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 182990} + m_GameObject: {fileID: 160962} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -1496140412, guid: bb6056dc800c1084da7273cb9f23f5cb, type: 3} + m_Script: {fileID: 11500000, guid: 7a878a6ff128243dfb1d89ca0273f059, type: 3} m_Name: m_EditorClassIdentifier: advancedProps: 0 - DisableMouseInputInBuilds: 1 - Tags: - tagList: - - Touch + minTouches: 0 + maxTouches: 0 + combineTouches: 0 + combineTouchesInterval: 0.3 + useSendMessage: 0 + sendStateChangeMessages: 0 + sendMessageTarget: {fileID: 0} + requireGestureToFail: {fileID: 0} + friendlyGestures: + - {fileID: 11406378} + numberOfTapsRequired: 3 + timeLimit: 0.7 + distanceLimit: 0.3 --- !u!114 &11499892 MonoBehaviour: m_ObjectHideFlags: 1 @@ -1062,7 +1028,7 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: d5b8d64f6d18844e781d2c63316a810f, type: 3} + m_Sprite: {fileID: 21300000, guid: dcc763001129146f0bd779f1a3f3cee2, type: 3} m_Type: 0 m_PreserveAspect: 1 m_FillCenter: 1 @@ -1134,8 +1100,29 @@ Canvas: m_ReceivesEvents: 1 m_OverrideSorting: 0 m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 m_SortingLayerID: 0 m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!223 &22362408 +Canvas: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 168782} + m_Enabled: 1 + serializedVersion: 2 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_SortingLayerID: 0 + m_SortingOrder: 9000 + m_TargetDisplay: 0 --- !u!224 &22401630 RectTransform: m_ObjectHideFlags: 1 @@ -1150,9 +1137,9 @@ RectTransform: m_RootOrder: 0 m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -6.10351562e-05, y: 0} + m_AnchoredPosition: {x: -0.000061035156, y: 0} m_SizeDelta: {x: 0, y: 35} - m_Pivot: {x: .0500000007, y: 2.0999999} + m_Pivot: {x: 0.05, y: 2.1} --- !u!224 &22418090 RectTransform: m_ObjectHideFlags: 1 @@ -1187,9 +1174,9 @@ RectTransform: m_RootOrder: 2 m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: -.500022888} - m_SizeDelta: {x: 0, y: 1.00010002} - m_Pivot: {x: .5, y: .5} + m_AnchoredPosition: {x: 0, y: -0.5000229} + m_SizeDelta: {x: 0, y: 1.0001} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22427774 RectTransform: m_ObjectHideFlags: 1 @@ -1206,7 +1193,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 80} - m_Pivot: {x: .99000001, y: 1.10000002} + m_Pivot: {x: 0.99, y: 1.1} --- !u!224 &22439340 RectTransform: m_ObjectHideFlags: 1 @@ -1219,9 +1206,9 @@ RectTransform: m_Children: - {fileID: 449356} - {fileID: 402792} + - {fileID: 449762} + - {fileID: 435330} - {fileID: 497872} - - {fileID: 466310} - - {fileID: 494258} - {fileID: 22418090} m_Father: {fileID: 0} m_RootOrder: 0 @@ -1229,7 +1216,24 @@ RectTransform: m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 299.5, y: 291.5} m_SizeDelta: {x: 599, y: 583} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &22444036 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 168782} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 449762} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} --- !u!224 &22462766 RectTransform: m_ObjectHideFlags: 1 @@ -1263,7 +1267,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: -100} m_SizeDelta: {x: -18, y: 3} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22487612 RectTransform: m_ObjectHideFlags: 1 @@ -1283,7 +1287,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1001 &100100000 Prefab: m_ObjectHideFlags: 1 diff --git a/Scenes/Prefabs/TestSTT.prefab.meta b/Scenes/UnitTests/Prefabs/TestSpeechToText.prefab.meta similarity index 100% rename from Scenes/Prefabs/TestSTT.prefab.meta rename to Scenes/UnitTests/Prefabs/TestSpeechToText.prefab.meta diff --git a/Scenes/Prefabs/TestTTS.prefab b/Scenes/UnitTests/Prefabs/TestTextToSpeech.prefab similarity index 84% rename from Scenes/Prefabs/TestTTS.prefab rename to Scenes/UnitTests/Prefabs/TestTextToSpeech.prefab index 61316be95..5afb243fb 100644 --- a/Scenes/Prefabs/TestTTS.prefab +++ b/Scenes/UnitTests/Prefabs/TestTextToSpeech.prefab @@ -1,33 +1,41 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!1 &105702 +--- !u!1 &111398 GameObject: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} serializedVersion: 4 m_Component: - - 4: {fileID: 414990} - - 114: {fileID: 11441898} - m_Layer: 0 - m_Name: Touch Debugger + - 224: {fileID: 22420766} + - 222: {fileID: 22297586} + - 114: {fileID: 11463212} + m_Layer: 5 + m_Name: Watson_Logo m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &111398 +--- !u!1 &119012 GameObject: - m_ObjectHideFlags: 1 + m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} serializedVersion: 4 m_Component: - - 224: {fileID: 22420766} - - 222: {fileID: 22297586} - - 114: {fileID: 11463212} - m_Layer: 5 - m_Name: Watson_Logo + - 4: {fileID: 410410} + - 114: {fileID: 11428066} + - 114: {fileID: 11466622} + - 114: {fileID: 11455728} + - 114: {fileID: 11448190} + - 114: {fileID: 11479008} + - 114: {fileID: 11417868} + - 114: {fileID: 11486890} + - 114: {fileID: 11453848} + - 114: {fileID: 11454706} + m_Layer: 0 + m_Name: TouchManager m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -69,30 +77,6 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &127272 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 4 - m_Component: - - 4: {fileID: 453614} - - 114: {fileID: 11403086} - - 114: {fileID: 11451534} - - 114: {fileID: 11465902} - - 114: {fileID: 11421812} - - 114: {fileID: 11404372} - - 114: {fileID: 11457966} - - 114: {fileID: 11484462} - - 114: {fileID: 11464124} - - 114: {fileID: 11488684} - m_Layer: 0 - m_Name: TouchManager - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 --- !u!1 &134596 GameObject: m_ObjectHideFlags: 1 @@ -181,6 +165,41 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!1 &148186 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 467832} + - 114: {fileID: 11420234} + - 114: {fileID: 11426804} + - 114: {fileID: 11440010} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &154330 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 444654} + - 114: {fileID: 11487296} + - 114: {fileID: 11442878} + m_Layer: 0 + m_Name: Inputs + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 --- !u!1 &155860 GameObject: m_ObjectHideFlags: 1 @@ -224,43 +243,42 @@ GameObject: m_Component: - 224: {fileID: 22495110} m_Layer: 0 - m_Name: TestTTS + m_Name: TestTextToSpeech m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &164950 +--- !u!1 &168732 GameObject: - m_ObjectHideFlags: 0 + m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} serializedVersion: 4 m_Component: - - 4: {fileID: 431512} - - 114: {fileID: 11405496} - - 114: {fileID: 11452200} - - 114: {fileID: 11460970} + - 224: {fileID: 22470618} + - 222: {fileID: 22243084} + - 114: {fileID: 11416698} + - 114: {fileID: 11495760} m_Layer: 0 - m_Name: EventSystem + m_Name: Button m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &168732 +--- !u!1 &169714 GameObject: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} serializedVersion: 4 m_Component: - - 224: {fileID: 22470618} - - 222: {fileID: 22243084} - - 114: {fileID: 11416698} - - 114: {fileID: 11495760} + - 224: {fileID: 22479060} + - 114: {fileID: 11476990} + - 223: {fileID: 22301750} m_Layer: 0 - m_Name: Button + m_Name: Touch Visualizer Watson m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -317,75 +335,44 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &199540 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 4 - m_Component: - - 4: {fileID: 445346} - - 114: {fileID: 11477612} - - 114: {fileID: 11434840} - - 114: {fileID: 11458544} - - 114: {fileID: 11484232} - m_Layer: 0 - m_Name: Inputs - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &414990 +--- !u!4 &410410 Transform: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 105702} + m_GameObject: {fileID: 119012} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalPosition: {x: -299.5, y: -291.5, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 453614} - m_RootOrder: 1 ---- !u!4 &431512 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 164950} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] + m_Children: + - {fileID: 444654} + - {fileID: 22479060} m_Father: {fileID: 22495110} - m_RootOrder: 3 ---- !u!4 &445346 + m_RootOrder: 2 +--- !u!4 &444654 Transform: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 199540} + m_GameObject: {fileID: 154330} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] - m_Father: {fileID: 453614} + m_Father: {fileID: 410410} m_RootOrder: 0 ---- !u!4 &453614 +--- !u!4 &467832 Transform: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 127272} + m_GameObject: {fileID: 148186} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -394.5, y: -222, z: 0} + m_LocalPosition: {x: -299.5, y: -291.5, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 445346} - - {fileID: 414990} + m_Children: [] m_Father: {fileID: 22495110} - m_RootOrder: 2 + m_RootOrder: 3 --- !u!4 &484622 Transform: m_ObjectHideFlags: 1 @@ -405,8 +392,8 @@ Transform: m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 138814} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -320, y: -478.870605, z: -15.0588236} - m_LocalScale: {x: 1.50588238, y: 1.50588238, z: 1.50588238} + m_LocalPosition: {x: -320, y: -478.8706, z: -15.058824} + m_LocalScale: {x: 1.5058824, y: 1.5058824, z: 1.5058824} m_Children: [] m_Father: {fileID: 22495110} m_RootOrder: 4 @@ -419,14 +406,14 @@ Camera: m_Enabled: 1 serializedVersion: 2 m_ClearFlags: 2 - m_BackGroundColor: {r: 0, g: 0, b: 0, a: .0196078438} + m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0.019607844} m_NormalizedViewPortRect: serializedVersion: 2 x: 0 y: 0 width: 1 height: 1 - near clip plane: .300000012 + near clip plane: 0.3 far clip plane: 1000 field of view: 60 orthographic: 0 @@ -442,7 +429,7 @@ Camera: m_HDR: 0 m_OcclusionCulling: 1 m_StereoConvergence: 10 - m_StereoSeparation: .0219999999 + m_StereoSeparation: 0.022 m_StereoMirrorMode: 0 --- !u!81 &8124566 AudioListener: @@ -491,6 +478,7 @@ AudioSource: tangentMode: 0 m_PreInfinity: 2 m_PostInfinity: 2 + m_RotationOrder: 4 panLevelCustomCurve: serializedVersion: 2 m_Curve: @@ -501,6 +489,7 @@ AudioSource: tangentMode: 0 m_PreInfinity: 2 m_PostInfinity: 2 + m_RotationOrder: 0 spreadCustomCurve: serializedVersion: 2 m_Curve: @@ -511,6 +500,7 @@ AudioSource: tangentMode: 0 m_PreInfinity: 2 m_PostInfinity: 2 + m_RotationOrder: 4 reverbZoneMixCustomCurve: serializedVersion: 2 m_Curve: @@ -521,6 +511,7 @@ AudioSource: tangentMode: 0 m_PreInfinity: 2 m_PostInfinity: 2 + m_RotationOrder: 0 --- !u!92 &9243690 Behaviour: m_ObjectHideFlags: 1 @@ -528,61 +519,6 @@ Behaviour: m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 138814} m_Enabled: 1 ---- !u!114 &11403086 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 127272} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1ce6f84be69c24efc9afd3dac982cdfd, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TapGesture: {fileID: 11457966} - m_ThreeTapGesture: {fileID: 11488684} - m_OneFingerMoveGesture: {fileID: 11421812} - m_TwoFingerMoveGesture: {fileID: 11404372} - m_PressGesture: {fileID: 11484462} - m_ReleaseGesture: {fileID: 11464124} ---- !u!114 &11404372 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 127272} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 681217450, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 2 - maxTouches: 2 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 7 - minScreenPointsDistance: .5 - screenTransformThreshold: .200000003 ---- !u!114 &11405496 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 164950} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_FirstSelected: {fileID: 0} - m_sendNavigationEvents: 1 - m_DragThreshold: 5 --- !u!114 &11407494 MonoBehaviour: m_ObjectHideFlags: 1 @@ -596,15 +532,12 @@ MonoBehaviour: m_EditorClassIdentifier: m_AutoConnect: 1 m_Speaking: - m_TargetObject: {fileID: 0} - m_TargetConnection: Microphone/Disable + m_Connections: [] m_DisableMic: - m_TargetObject: {fileID: 0} - m_TargetConnection: + m_Connections: [] m_LevelOut: - m_TargetObject: {fileID: 0} - m_TargetConnection: - m_LevelOutInterval: .0500000007 + m_Connections: [] + m_LevelOutInterval: 0.05 m_LevelOutputModifier: 12 m_TextToSpeechButton: {fileID: 11495760} m_Input: {fileID: 11410406} @@ -631,11 +564,11 @@ MonoBehaviour: m_Transition: 1 m_Colors: m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1} - m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1} - m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} m_ColorMultiplier: 1 - m_FadeDuration: .100000001 + m_FadeDuration: 0.1 m_SpriteState: m_HighlightedSprite: {fileID: 0} m_PressedSprite: {fileID: 0} @@ -657,19 +590,23 @@ MonoBehaviour: m_HideMobileInput: 0 m_CharacterValidation: 0 m_CharacterLimit: 0 - m_EndEdit: + m_OnEndEdit: m_PersistentCalls: m_Calls: [] m_TypeName: UnityEngine.UI.InputField+SubmitEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_OnValueChange: + m_OnValueChanged: m_PersistentCalls: m_Calls: [] m_TypeName: UnityEngine.UI.InputField+OnChangeEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_SelectionColor: {r: .65882355, g: .807843149, b: 1, a: .752941191} + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} m_Text: - m_CaretBlinkRate: .850000024 + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 --- !u!114 &11416320 MonoBehaviour: m_ObjectHideFlags: 1 @@ -682,7 +619,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: .196078435, g: .196078435, b: .196078435, a: 1} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -697,6 +634,7 @@ MonoBehaviour: m_MinSize: 10 m_MaxSize: 40 m_Alignment: 3 + m_AlignByGeometry: 0 m_RichText: 0 m_HorizontalOverflow: 0 m_VerticalOverflow: 0 @@ -729,6 +667,31 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 +--- !u!114 &11417868 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 119012} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7a878a6ff128243dfb1d89ca0273f059, type: 3} + m_Name: + m_EditorClassIdentifier: + advancedProps: 0 + minTouches: 0 + maxTouches: 0 + combineTouches: 0 + combineTouchesInterval: 0.3 + useSendMessage: 0 + sendStateChangeMessages: 0 + sendMessageTarget: {fileID: 0} + requireGestureToFail: {fileID: 0} + friendlyGestures: + - {fileID: 11454706} + numberOfTapsRequired: 1 + timeLimit: Infinity + distanceLimit: Infinity --- !u!114 &11418016 MonoBehaviour: m_ObjectHideFlags: 1 @@ -741,7 +704,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: .95588237, g: .95588237, b: .95588237, a: 1} + m_Color: {r: 0.9558824, g: 0.9558824, b: 0.9558824, a: 1} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -756,6 +719,7 @@ MonoBehaviour: m_MinSize: 10 m_MaxSize: 40 m_Alignment: 2 + m_AlignByGeometry: 0 m_RichText: 1 m_HorizontalOverflow: 0 m_VerticalOverflow: 0 @@ -763,30 +727,37 @@ MonoBehaviour: m_Text: 'TEXT TO SPEECH ' ---- !u!114 &11421812 +--- !u!114 &11420234 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 127272} + m_GameObject: {fileID: 148186} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 681217450, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} m_Name: m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 1 - maxTouches: 1 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 1 - minScreenPointsDistance: .5 - screenTransformThreshold: .200000003 + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 +--- !u!114 &11426804 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 148186} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 797eed971a75647609ca044e7924beb7, type: 3} + m_Name: + m_EditorClassIdentifier: + horizontalAxis: Horizontal + verticalAxis: Vertical + submitButton: Submit + cancelButton: Cancel + inputActionsPerSecond: 10 + repeatDelay: 0.5 --- !u!114 &11427122 MonoBehaviour: m_ObjectHideFlags: 1 @@ -806,7 +777,7 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 7ff94ea14c816481191ba8fb97d349a5, type: 3} + m_Sprite: {fileID: 21300000, guid: 1eaeb3a02e12744e5a25a4169c3474a7, type: 3} m_Type: 0 m_PreserveAspect: 1 m_FillCenter: 1 @@ -814,79 +785,99 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 ---- !u!114 &11434840 +--- !u!114 &11428066 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 199540} + m_GameObject: {fileID: 119012} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 175516946, guid: bb6056dc800c1084da7273cb9f23f5cb, type: 3} + m_Script: {fileID: 11500000, guid: 1ce6f84be69c24efc9afd3dac982cdfd, type: 3} m_Name: m_EditorClassIdentifier: - advancedProps: 0 - TouchTags: - tagList: - - Touch - MouseTags: - tagList: - - Mouse - PenTags: - tagList: - - Pen ---- !u!114 &11441898 + m_TapGesture: {fileID: 11417868} + m_DoubleTapGesture: {fileID: 0} + m_ThreeTapGesture: {fileID: 11454706} + m_OneFingerMoveGesture: {fileID: 11448190} + m_TwoFingerMoveGesture: {fileID: 11479008} + m_PressGesture: {fileID: 11486890} + m_ReleaseGesture: {fileID: 11453848} + m_LongPressGesture: {fileID: 0} +--- !u!114 &11440010 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 105702} + m_GameObject: {fileID: 148186} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 923107734, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 1997211142, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} m_Name: m_EditorClassIdentifier: - showTouchId: 0 - showTags: 0 - texture: {fileID: 2800000, guid: 1ca5291cdab0c7440bf75a4a7a4a3282, type: 3} - useDPI: 1 - touchSize: 1 - fontColor: {r: 0, g: 1, b: 1, a: 1} ---- !u!114 &11451534 + m_ForceModuleActive: 0 +--- !u!114 &11442878 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 127272} + m_GameObject: {fileID: 154330} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -409488130, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 33cbf52dea18b40649d742b0c6f96d3c, type: 3} m_Name: m_EditorClassIdentifier: - displayDevice: {fileID: 0} - shouldCreateCameraLayer: 1 + advancedProps: 0 + DisableOnNonTouchPlatforms: 1 + Tags: + tagList: + - Touch +--- !u!114 &11448190 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 119012} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 74ae431eff8434b0897d3f7f1cff4311, type: 3} + m_Name: + m_EditorClassIdentifier: + advancedProps: 0 + minTouches: 1 + maxTouches: 1 + combineTouches: 0 + combineTouchesInterval: 0.3 useSendMessage: 0 - sendMessageEvents: 60 + sendStateChangeMessages: 0 sendMessageTarget: {fileID: 0} - layers: - - {fileID: 11465902} ---- !u!114 &11452200 + requireGestureToFail: {fileID: 0} + friendlyGestures: [] + type: 1 + minScreenPointsDistance: 0.5 + screenTransformThreshold: 0.1 +--- !u!114 &11453848 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 164950} + m_GameObject: {fileID: 119012} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -839872303, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 141e75b9b7edb42df80a22a14f03ae4b, type: 3} m_Name: m_EditorClassIdentifier: - horizontalAxis: Horizontal - verticalAxis: Vertical - submitButton: Submit - cancelButton: Cancel - inputActionsPerSecond: 10 - repeatDelay: .5 + advancedProps: 0 + minTouches: 0 + maxTouches: 0 + combineTouches: 0 + combineTouchesInterval: 0.3 + useSendMessage: 0 + sendStateChangeMessages: 0 + sendMessageTarget: {fileID: 0} + requireGestureToFail: {fileID: 0} + friendlyGestures: [] + ignoreChildren: 0 --- !u!114 &11454420 MonoBehaviour: m_ObjectHideFlags: 1 @@ -903,59 +894,45 @@ MonoBehaviour: m_BlockingMask: serializedVersion: 2 m_Bits: 4294967295 ---- !u!114 &11457966 +--- !u!114 &11454706 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 127272} + m_GameObject: {fileID: 119012} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1235405773, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 7a878a6ff128243dfb1d89ca0273f059, type: 3} m_Name: m_EditorClassIdentifier: advancedProps: 0 minTouches: 0 maxTouches: 0 combineTouches: 0 - combineTouchesInterval: .300000012 + combineTouchesInterval: 0.3 useSendMessage: 0 sendStateChangeMessages: 0 sendMessageTarget: {fileID: 0} requireGestureToFail: {fileID: 0} friendlyGestures: - - {fileID: 11488684} - numberOfTapsRequired: 1 - timeLimit: Infinity - distanceLimit: Infinity ---- !u!114 &11458544 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 199540} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -102971247, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - DisableOnMobilePlatforms: 1 - Tags: - tagList: - - Mouse ---- !u!114 &11460970 + - {fileID: 11417868} + numberOfTapsRequired: 3 + timeLimit: 0.7 + distanceLimit: 0.3 +--- !u!114 &11455728 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 164950} + m_GameObject: {fileID: 119012} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1997211142, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Script: {fileID: 11500000, guid: bc7fd33c57d694994b0ab9f33fcdcbea, type: 3} m_Name: m_EditorClassIdentifier: - m_ForceModuleActive: 0 + Name: Global Fullscreen + type: 2 + _camera: {fileID: 0} --- !u!114 &11462264 MonoBehaviour: m_ObjectHideFlags: 1 @@ -968,7 +945,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: .196078435, g: .196078435, b: .196078435, a: .5} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -983,6 +960,7 @@ MonoBehaviour: m_MinSize: 10 m_MaxSize: 40 m_Alignment: 3 + m_AlignByGeometry: 0 m_RichText: 1 m_HorizontalOverflow: 0 m_VerticalOverflow: 0 @@ -1007,8 +985,8 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: d2c2efadb47c74652863d505e27fb0cd, type: 3} - m_Type: 1 + m_Sprite: {fileID: 21300000, guid: 11b8cc94d1829440d972e9e699902f64, type: 3} + m_Type: 0 m_PreserveAspect: 0 m_FillCenter: 1 m_FillMethod: 4 @@ -1034,7 +1012,7 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: d5b8d64f6d18844e781d2c63316a810f, type: 3} + m_Sprite: {fileID: 21300000, guid: dcc763001129146f0bd779f1a3f3cee2, type: 3} m_Type: 0 m_PreserveAspect: 1 m_FillCenter: 1 @@ -1054,7 +1032,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: .809000015} + m_Color: {r: 1, g: 1, b: 1, a: 0.809} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1069,42 +1047,25 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 ---- !u!114 &11464124 +--- !u!114 &11466622 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 127272} + m_GameObject: {fileID: 119012} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 438491968, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 0dd4c394fe06f4ea49e03aaa5e7a8190, type: 3} m_Name: m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 + displayDevice: {fileID: 0} + shouldCreateCameraLayer: 1 + shouldCreateStandardInput: 1 useSendMessage: 0 - sendStateChangeMessages: 0 + sendMessageEvents: 60 sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - ignoreChildren: 0 ---- !u!114 &11465902 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 127272} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1780265814, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - Name: Global Fullscreen - type: 2 - _camera: {fileID: 0} + layers: + - {fileID: 0} --- !u!114 &11469948 MonoBehaviour: m_ObjectHideFlags: 1 @@ -1117,7 +1078,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: .196078435, g: .196078435, b: .196078435, a: 1} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1132,6 +1093,7 @@ MonoBehaviour: m_MinSize: 10 m_MaxSize: 40 m_Alignment: 4 + m_AlignByGeometry: 0 m_RichText: 1 m_HorizontalOverflow: 1 m_VerticalOverflow: 1 @@ -1164,60 +1126,46 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 ---- !u!114 &11477612 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 199540} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1496140412, guid: bb6056dc800c1084da7273cb9f23f5cb, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - DisableMouseInputInBuilds: 1 - Tags: - tagList: - - Touch ---- !u!114 &11484232 +--- !u!114 &11476990 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 199540} + m_GameObject: {fileID: 169714} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 770742126, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 75324aa372886435faa21a4145210f8e, type: 3} m_Name: m_EditorClassIdentifier: - advancedProps: 0 - DisableOnNonTouchPlatforms: 1 - Tags: - tagList: - - Touch ---- !u!114 &11484462 + touchProxy: {fileID: 11425240, guid: a4bbcb7dfeb4c1d4bb6557cd44ac80da, type: 2} + showTouchId: 1 + showTags: 1 + useDPI: 1 + touchSize: 1 +--- !u!114 &11479008 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 127272} + m_GameObject: {fileID: 119012} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1088824302, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 74ae431eff8434b0897d3f7f1cff4311, type: 3} m_Name: m_EditorClassIdentifier: advancedProps: 0 - minTouches: 0 - maxTouches: 0 + minTouches: 2 + maxTouches: 2 combineTouches: 0 - combineTouchesInterval: .300000012 + combineTouchesInterval: 0.3 useSendMessage: 0 sendStateChangeMessages: 0 sendMessageTarget: {fileID: 0} requireGestureToFail: {fileID: 0} friendlyGestures: [] - ignoreChildren: 0 + type: 7 + minScreenPointsDistance: 0.5 + screenTransformThreshold: 0.1 --- !u!114 &11484930 MonoBehaviour: m_ObjectHideFlags: 1 @@ -1230,7 +1178,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 1, g: .992647052, b: .992647052, a: 1} + m_Color: {r: 1, g: 0.99264705, b: 0.99264705, a: 1} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1245,36 +1193,62 @@ MonoBehaviour: m_MinSize: 10 m_MaxSize: 40 m_Alignment: 4 + m_AlignByGeometry: 0 m_RichText: 1 m_HorizontalOverflow: 0 m_VerticalOverflow: 0 m_LineSpacing: 1 m_Text: READY ---- !u!114 &11488684 +--- !u!114 &11486890 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 127272} + m_GameObject: {fileID: 119012} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1235405773, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: c6be551879cd14d739b0188844ef2c60, type: 3} m_Name: m_EditorClassIdentifier: advancedProps: 0 minTouches: 0 maxTouches: 0 combineTouches: 0 - combineTouchesInterval: .300000012 + combineTouchesInterval: 0.3 useSendMessage: 0 sendStateChangeMessages: 0 sendMessageTarget: {fileID: 0} requireGestureToFail: {fileID: 0} - friendlyGestures: - - {fileID: 11457966} - numberOfTapsRequired: 3 - timeLimit: .699999988 - distanceLimit: .300000012 + friendlyGestures: [] + ignoreChildren: 0 +--- !u!114 &11487296 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 154330} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e276ccba4f7314d9988af19f9b3a611b, type: 3} + m_Name: + m_EditorClassIdentifier: + advancedProps: 0 + TouchTags: + tagList: + - Touch + MouseTags: + tagList: + - Mouse + PenTags: + tagList: + - Pen + Windows8Touch: 0 + Windows7Touch: 0 + WebPlayerTouch: 1 + WebGLTouch: 1 + Windows8Mouse: 1 + Windows7Mouse: 1 + UniversalWindowsMouse: 1 --- !u!114 &11490014 MonoBehaviour: m_ObjectHideFlags: 1 @@ -1315,12 +1289,12 @@ MonoBehaviour: m_SelectOnRight: {fileID: 0} m_Transition: 1 m_Colors: - m_NormalColor: {r: .926470578, g: .926470578, b: .926470578, a: 1} + m_NormalColor: {r: 0.9264706, g: 0.9264706, b: 0.9264706, a: 1} m_HighlightedColor: {r: 1, g: 1, b: 1, a: 1} - m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1} - m_DisabledColor: {r: .262975812, g: .276011229, b: .279411793, a: .501960814} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.2629758, g: 0.27601123, b: 0.2794118, a: 0.5019608} m_ColorMultiplier: 1 - m_FadeDuration: .100000001 + m_FadeDuration: 0.1 m_SpriteState: m_HighlightedSprite: {fileID: 0} m_PressedSprite: {fileID: 0} @@ -1427,6 +1401,25 @@ CanvasRenderer: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 111398} +--- !u!223 &22301750 +Canvas: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 169714} + m_Enabled: 1 + serializedVersion: 2 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_SortingLayerID: 0 + m_SortingOrder: 9000 + m_TargetDisplay: 0 --- !u!223 &22330052 Canvas: m_ObjectHideFlags: 1 @@ -1442,8 +1435,10 @@ Canvas: m_ReceivesEvents: 1 m_OverrideSorting: 0 m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 m_SortingLayerID: 0 m_SortingOrder: 0 + m_TargetDisplay: 0 --- !u!224 &22420766 RectTransform: m_ObjectHideFlags: 1 @@ -1458,9 +1453,9 @@ RectTransform: m_RootOrder: 0 m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -6.10351562e-05, y: 0} + m_AnchoredPosition: {x: -0.000061035156, y: 0} m_SizeDelta: {x: 0, y: 35} - m_Pivot: {x: .0500000007, y: 2.0999999} + m_Pivot: {x: 0.05, y: 2.1} --- !u!224 &22432630 RectTransform: m_ObjectHideFlags: 1 @@ -1475,9 +1470,9 @@ RectTransform: m_RootOrder: 0 m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: .499986649, y: -6.86645508e-05} + m_AnchoredPosition: {x: 0.49998665, y: -0.00006866455} m_SizeDelta: {x: -1, y: 0} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22443144 RectTransform: m_ObjectHideFlags: 1 @@ -1494,7 +1489,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: -100} m_SizeDelta: {x: -18, y: 3} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22449748 RectTransform: m_ObjectHideFlags: 1 @@ -1548,9 +1543,9 @@ RectTransform: m_RootOrder: 2 m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: .130004883, y: -.000144958496} - m_SizeDelta: {x: -.75, y: 0} - m_Pivot: {x: .5, y: .5} + m_AnchoredPosition: {x: 0.13000488, y: -0.0001449585} + m_SizeDelta: {x: -0.75, y: 0} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22470618 RectTransform: m_ObjectHideFlags: 1 @@ -1568,7 +1563,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 0} m_AnchoredPosition: {x: -78, y: 40.25} m_SizeDelta: {x: 137, y: 63.5} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22475904 RectTransform: m_ObjectHideFlags: 1 @@ -1587,7 +1582,24 @@ RectTransform: m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 247, y: 40} m_SizeDelta: {x: 476, y: 63} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &22479060 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 169714} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 410410} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} --- !u!224 &22486242 RectTransform: m_ObjectHideFlags: 1 @@ -1604,7 +1616,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 80} - m_Pivot: {x: .99000001, y: 1.10000002} + m_Pivot: {x: 0.99, y: 1.1} --- !u!224 &22489860 RectTransform: m_ObjectHideFlags: 1 @@ -1619,9 +1631,9 @@ RectTransform: m_RootOrder: 0 m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: -.5} + m_AnchoredPosition: {x: 0, y: -0.5} m_SizeDelta: {x: -20, y: -13} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22492940 RectTransform: m_ObjectHideFlags: 1 @@ -1641,7 +1653,7 @@ RectTransform: m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22495110 RectTransform: m_ObjectHideFlags: 1 @@ -1654,8 +1666,8 @@ RectTransform: m_Children: - {fileID: 22461892} - {fileID: 484622} - - {fileID: 453614} - - {fileID: 431512} + - {fileID: 410410} + - {fileID: 467832} - {fileID: 486262} m_Father: {fileID: 0} m_RootOrder: 0 @@ -1663,7 +1675,7 @@ RectTransform: m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 299.5, y: 291.5} m_SizeDelta: {x: 599, y: 583} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &22498304 RectTransform: m_ObjectHideFlags: 1 @@ -1678,9 +1690,9 @@ RectTransform: m_RootOrder: 1 m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: -.5} + m_AnchoredPosition: {x: 0, y: -0.5} m_SizeDelta: {x: -20, y: -13} - m_Pivot: {x: .5, y: .5} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1001 &100100000 Prefab: m_ObjectHideFlags: 1 diff --git a/Scenes/Prefabs/TestTTS.prefab.meta b/Scenes/UnitTests/Prefabs/TestTextToSpeech.prefab.meta similarity index 100% rename from Scenes/Prefabs/TestTTS.prefab.meta rename to Scenes/UnitTests/Prefabs/TestTextToSpeech.prefab.meta diff --git a/Scenes/Scripts.meta b/Scenes/UnitTests/Scripts.meta similarity index 100% rename from Scenes/Scripts.meta rename to Scenes/UnitTests/Scripts.meta diff --git a/Scenes/UnitTests/Scripts/ConfigLoader.cs b/Scenes/UnitTests/Scripts/ConfigLoader.cs new file mode 100644 index 000000000..fefff982e --- /dev/null +++ b/Scenes/UnitTests/Scripts/ConfigLoader.cs @@ -0,0 +1,51 @@ +using UnityEngine; +using System.Collections; +using IBM.Watson.DeveloperCloud.Utilities; + +//! This helper class makes sure the Watson configuration is fully loaded before we try to access any of the services. +public class ConfigLoader : MonoBehaviour +{ + [SerializeField] + private GameObject m_Prefab = null; + private GameObject m_CreatedObject = null; + + #region OnEnable / OnDisable - Registering events + void OnEnable() + { + EventManager.Instance.RegisterEventReceiver("OnUserToLogout", OnUserLogOut); + } + + void OnDisable() + { + EventManager.Instance.UnregisterEventReceiver("OnUserToLogout", OnUserLogOut); + } + #endregion + + IEnumerator Start() + { + // wait for the configuration to be loaded first.. + while (!Config.Instance.ConfigLoaded) + yield return null; + + // then initiate a prefab after we are done loading the config. + m_CreatedObject = GameObject.Instantiate(m_Prefab); + } + + /// + /// Handler for user logout + /// + /// + public void OnUserLogOut(System.Object[] args) + { + if (m_CreatedObject != null) + { + if (!m_CreatedObject.activeSelf) + m_CreatedObject.SetActive(true); + + m_CreatedObject.SendMessage("DestroyCreatedObject", SendMessageOptions.DontRequireReceiver); + } + StartCoroutine(Start()); + } + + +} diff --git a/Scenes/UnitTests/Scripts/ConfigLoader.cs.meta b/Scenes/UnitTests/Scripts/ConfigLoader.cs.meta new file mode 100644 index 000000000..1cf7b3889 --- /dev/null +++ b/Scenes/UnitTests/Scripts/ConfigLoader.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 5c74c8ff43ab8564fbdc647ba146bfa3 +timeCreated: 1452789245 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scenes/UnitTests/Scripts/LogSystemInitilization.cs b/Scenes/UnitTests/Scripts/LogSystemInitilization.cs new file mode 100644 index 000000000..c1921a2fa --- /dev/null +++ b/Scenes/UnitTests/Scripts/LogSystemInitilization.cs @@ -0,0 +1,45 @@ +/** +* Copyright 2015 IBM Corp. All Rights Reserved. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +*/ + +using UnityEngine; + +namespace IBM.Watson.DeveloperCloud.Logging +{ + /// + /// Helper class to install default Log Reactor on Awawke + /// + public class LogSystemInitilization : MonoBehaviour + { + + /// + /// Days of Log store on file system + /// + [SerializeField] + private int m_LogHistory = 2; + + /// + /// Log level definition to store on file. + /// + [SerializeField] + private LogLevel m_LogLevelOnFile = LogLevel.STATUS; + + void Awake() + { + LogSystem.InstallDefaultReactors(m_LogHistory, m_LogLevelOnFile); + } + } +} \ No newline at end of file diff --git a/Scenes/UnitTests/Scripts/LogSystemInitilization.cs.meta b/Scenes/UnitTests/Scripts/LogSystemInitilization.cs.meta new file mode 100644 index 000000000..363a5bdd8 --- /dev/null +++ b/Scenes/UnitTests/Scripts/LogSystemInitilization.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9dc3f3e4df03e4b70a0d9851743cb986 +timeCreated: 1460062502 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: -600 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scenes/Scripts/MainUI.cs b/Scenes/UnitTests/Scripts/MainUI.cs similarity index 96% rename from Scenes/Scripts/MainUI.cs rename to Scenes/UnitTests/Scripts/MainUI.cs index 0b4d8fc88..d9d22a8a5 100644 --- a/Scenes/Scripts/MainUI.cs +++ b/Scenes/UnitTests/Scripts/MainUI.cs @@ -16,14 +16,15 @@ */ +using IBM.Watson.DeveloperCloud.Logging; using IBM.Watson.DeveloperCloud.Utilities; using System.Collections; +using System.Collections.Generic; +using System.IO; using UnityEngine; using UnityEngine.UI; using UnityEngine.EventSystems; -using System.Collections.Generic; -using System.IO; -using IBM.Watson.DeveloperCloud.Logging; +using UnityEngine.SceneManagement; /// /// Main UI menu item. @@ -154,7 +155,7 @@ private void UpdateButtons() DestroyImmediate(m_ButtonLayout.transform.GetChild(0).gameObject); //Log.Debug( "MainUI", "UpdateBottons, level = {0}", Application.loadedLevelName ); - if (Application.loadedLevelName == MAIN_SCENE) + if (SceneManager.GetActiveScene().name == MAIN_SCENE) { m_BackgroundUI.SetActive(true); @@ -195,8 +196,9 @@ private void OnLoadLevel(string name) private IEnumerator LoadLevelAsync(string name) { - AsyncOperation asyncOperation = Application.LoadLevelAsync(name); - if ( asyncOperation == null ) + + AsyncOperation asyncOperation = SceneManager.LoadSceneAsync(name); + if (asyncOperation == null) yield break; while (!asyncOperation.isDone) @@ -236,7 +238,7 @@ private void ChangeVisibilityOfButton(RectTransform buttonBack, bool isVisible) if (buttonBack.GetComponentInChildren() != null) buttonBack.GetComponentInChildren().enabled = isVisible; if (buttonBack.GetComponentInChildren() != null) - buttonBack.GetComponentInChildren().color = isVisible ? m_InitialBackButtonColor : + buttonBack.GetComponentInChildren().color = isVisible ? m_InitialBackButtonColor : new Color(m_InitialBackButtonColor.r, m_InitialBackButtonColor.g, m_InitialBackButtonColor.b, 0.0f); } @@ -246,7 +248,7 @@ private void ChangeVisibilityOfButton(RectTransform buttonBack, bool isVisible) public void OnBack() { Log.Debug("MainUI", "OnBack invoked"); - if (Application.loadedLevelName != MAIN_SCENE) + if (SceneManager.GetActiveScene().name != MAIN_SCENE) { OnLoadLevel(MAIN_SCENE); } diff --git a/Scenes/Scripts/MainUI.cs.meta b/Scenes/UnitTests/Scripts/MainUI.cs.meta similarity index 100% rename from Scenes/Scripts/MainUI.cs.meta rename to Scenes/UnitTests/Scripts/MainUI.cs.meta diff --git a/Scenes/TestMic.unity b/Scenes/UnitTests/TestMic.unity similarity index 85% rename from Scenes/TestMic.unity rename to Scenes/UnitTests/TestMic.unity index 8ad75070c..e8e8cdb91 100644 --- a/Scenes/TestMic.unity +++ b/Scenes/UnitTests/TestMic.unity @@ -8,25 +8,25 @@ SceneSettings: m_PVSPortalsArray: [] m_OcclusionBakeSettings: smallestOccluder: 5 - smallestHole: .25 + smallestHole: 0.25 backfaceThreshold: 100 --- !u!104 &2 RenderSettings: m_ObjectHideFlags: 0 serializedVersion: 6 m_Fog: 0 - m_FogColor: {r: .5, g: .5, b: .5, a: 1} + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} m_FogMode: 3 - m_FogDensity: .00999999978 + m_FogDensity: 0.01 m_LinearFogStart: 0 m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: .211999997, g: .226999998, b: .259000003, a: 1} - m_AmbientEquatorColor: {r: .114, g: .125, b: .133000001, a: 1} - m_AmbientGroundColor: {r: .0469999984, g: .0430000015, b: .0350000001, a: 1} + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} m_AmbientIntensity: 1 m_AmbientMode: 0 m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} - m_HaloStrength: .5 + m_HaloStrength: 0.5 m_FlareStrength: 1 m_FlareFadeSpeed: 3 m_HaloTexture: {fileID: 0} @@ -40,7 +40,7 @@ RenderSettings: --- !u!157 &3 LightmapSettings: m_ObjectHideFlags: 0 - serializedVersion: 5 + serializedVersion: 6 m_GIWorkflowMode: 0 m_LightmapsMode: 1 m_GISettings: @@ -66,7 +66,7 @@ LightmapSettings: m_FinalGather: 0 m_FinalGatherRayCount: 1024 m_ReflectionCompression: 2 - m_LightmapSnapshot: {fileID: 0} + m_LightingDataAsset: {fileID: 0} m_RuntimeCPUUsage: 25 --- !u!196 &4 NavMeshSettings: @@ -74,18 +74,18 @@ NavMeshSettings: m_ObjectHideFlags: 0 m_BuildSettings: serializedVersion: 2 - agentRadius: .5 + agentRadius: 0.5 agentHeight: 2 agentSlope: 45 - agentClimb: .400000006 + agentClimb: 0.4 ledgeDropHeight: 0 maxJumpAcrossDistance: 0 accuratePlacement: 0 minRegionArea: 2 - cellSize: .166666672 + cellSize: 0.16666667 manualCellSize: 0 m_NavMeshData: {fileID: 0} ---- !u!1001 &1641193569 +--- !u!1001 &613460438 Prefab: m_ObjectHideFlags: 0 serializedVersion: 2 @@ -164,6 +164,16 @@ Prefab: propertyPath: m_Pivot.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 11468580, guid: d7245209448fb3146858a16a4291e43d, type: 2} + propertyPath: layers.Array.data[0] + value: + objectReference: {fileID: 613460439} m_RemovedComponents: [] m_ParentPrefab: {fileID: 100100000, guid: d7245209448fb3146858a16a4291e43d, type: 2} m_IsPrefabParent: 0 +--- !u!114 &613460439 stripped +MonoBehaviour: + m_PrefabParentObject: {fileID: 11451280, guid: d7245209448fb3146858a16a4291e43d, + type: 2} + m_PrefabInternal: {fileID: 613460438} + m_Script: {fileID: 11500000, guid: bc7fd33c57d694994b0ab9f33fcdcbea, type: 3} diff --git a/Scenes/TestMic.unity.meta b/Scenes/UnitTests/TestMic.unity.meta similarity index 100% rename from Scenes/TestMic.unity.meta rename to Scenes/UnitTests/TestMic.unity.meta diff --git a/Scenes/TestNLC.unity b/Scenes/UnitTests/TestNaturalLanguageClassifier.unity similarity index 77% rename from Scenes/TestNLC.unity rename to Scenes/UnitTests/TestNaturalLanguageClassifier.unity index 101c1e40e..b56f58fd2 100644 --- a/Scenes/TestNLC.unity +++ b/Scenes/UnitTests/TestNaturalLanguageClassifier.unity @@ -8,25 +8,25 @@ SceneSettings: m_PVSPortalsArray: [] m_OcclusionBakeSettings: smallestOccluder: 5 - smallestHole: .25 + smallestHole: 0.25 backfaceThreshold: 100 --- !u!104 &2 RenderSettings: m_ObjectHideFlags: 0 serializedVersion: 6 m_Fog: 0 - m_FogColor: {r: .5, g: .5, b: .5, a: 1} + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} m_FogMode: 3 - m_FogDensity: .00999999978 + m_FogDensity: 0.01 m_LinearFogStart: 0 m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: .211999997, g: .226999998, b: .259000003, a: 1} - m_AmbientEquatorColor: {r: .114, g: .125, b: .133000001, a: 1} - m_AmbientGroundColor: {r: .0469999984, g: .0430000015, b: .0350000001, a: 1} + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} m_AmbientIntensity: 1 m_AmbientMode: 0 m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} - m_HaloStrength: .5 + m_HaloStrength: 0.5 m_FlareStrength: 1 m_FlareFadeSpeed: 3 m_HaloTexture: {fileID: 0} @@ -40,7 +40,7 @@ RenderSettings: --- !u!157 &3 LightmapSettings: m_ObjectHideFlags: 0 - serializedVersion: 5 + serializedVersion: 6 m_GIWorkflowMode: 0 m_LightmapsMode: 1 m_GISettings: @@ -66,7 +66,7 @@ LightmapSettings: m_FinalGather: 0 m_FinalGatherRayCount: 1024 m_ReflectionCompression: 2 - m_LightmapSnapshot: {fileID: 0} + m_LightingDataAsset: {fileID: 0} m_RuntimeCPUUsage: 25 --- !u!196 &4 NavMeshSettings: @@ -74,24 +74,28 @@ NavMeshSettings: m_ObjectHideFlags: 0 m_BuildSettings: serializedVersion: 2 - agentRadius: .5 + agentRadius: 0.5 agentHeight: 2 agentSlope: 45 - agentClimb: .400000006 + agentClimb: 0.4 ledgeDropHeight: 0 maxJumpAcrossDistance: 0 accuratePlacement: 0 minRegionArea: 2 - cellSize: .166666672 + cellSize: 0.16666667 manualCellSize: 0 m_NavMeshData: {fileID: 0} ---- !u!1001 &1439025145 +--- !u!1001 &230257435 Prefab: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: m_TransformParent: {fileID: 0} m_Modifications: + - target: {fileID: 11499936, guid: df29f10b1d0988f43909a2a59bea318b, type: 2} + propertyPath: m_ClassEventList.Array.size + value: 0 + objectReference: {fileID: 0} - target: {fileID: 22497212, guid: df29f10b1d0988f43909a2a59bea318b, type: 2} propertyPath: m_LocalPosition.x value: 0 @@ -158,12 +162,30 @@ Prefab: objectReference: {fileID: 0} - target: {fileID: 22497212, guid: df29f10b1d0988f43909a2a59bea318b, type: 2} propertyPath: m_Pivot.x - value: .5 + value: 0.5 objectReference: {fileID: 0} - target: {fileID: 22497212, guid: df29f10b1d0988f43909a2a59bea318b, type: 2} propertyPath: m_Pivot.y - value: .5 + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 11499936, guid: df29f10b1d0988f43909a2a59bea318b, type: 2} + propertyPath: m_ClassEventList.Array.data[0].m_Class + value: temperature + objectReference: {fileID: 0} + - target: {fileID: 11499936, guid: df29f10b1d0988f43909a2a59bea318b, type: 2} + propertyPath: m_ClassEventList.Array.data[1].m_Class + value: conditions objectReference: {fileID: 0} + - target: {fileID: 11441044, guid: df29f10b1d0988f43909a2a59bea318b, type: 2} + propertyPath: layers.Array.data[0] + value: + objectReference: {fileID: 230257436} m_RemovedComponents: [] m_ParentPrefab: {fileID: 100100000, guid: df29f10b1d0988f43909a2a59bea318b, type: 2} m_IsPrefabParent: 0 +--- !u!114 &230257436 stripped +MonoBehaviour: + m_PrefabParentObject: {fileID: 11407682, guid: df29f10b1d0988f43909a2a59bea318b, + type: 2} + m_PrefabInternal: {fileID: 230257435} + m_Script: {fileID: 11500000, guid: bc7fd33c57d694994b0ab9f33fcdcbea, type: 3} diff --git a/Scenes/TestNLC.unity.meta b/Scenes/UnitTests/TestNaturalLanguageClassifier.unity.meta similarity index 100% rename from Scenes/TestNLC.unity.meta rename to Scenes/UnitTests/TestNaturalLanguageClassifier.unity.meta diff --git a/Scenes/TestSTT.unity b/Scenes/UnitTests/TestSpeechToText.unity similarity index 83% rename from Scenes/TestSTT.unity rename to Scenes/UnitTests/TestSpeechToText.unity index ef7127d68..f598f4f6d 100644 --- a/Scenes/TestSTT.unity +++ b/Scenes/UnitTests/TestSpeechToText.unity @@ -8,25 +8,25 @@ SceneSettings: m_PVSPortalsArray: [] m_OcclusionBakeSettings: smallestOccluder: 5 - smallestHole: .25 + smallestHole: 0.25 backfaceThreshold: 100 --- !u!104 &2 RenderSettings: m_ObjectHideFlags: 0 serializedVersion: 6 m_Fog: 0 - m_FogColor: {r: .5, g: .5, b: .5, a: 1} + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} m_FogMode: 3 - m_FogDensity: .00999999978 + m_FogDensity: 0.01 m_LinearFogStart: 0 m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: .211999997, g: .226999998, b: .259000003, a: 1} - m_AmbientEquatorColor: {r: .114, g: .125, b: .133000001, a: 1} - m_AmbientGroundColor: {r: .0469999984, g: .0430000015, b: .0350000001, a: 1} + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} m_AmbientIntensity: 1 m_AmbientMode: 0 m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} - m_HaloStrength: .5 + m_HaloStrength: 0.5 m_FlareStrength: 1 m_FlareFadeSpeed: 3 m_HaloTexture: {fileID: 0} @@ -40,7 +40,7 @@ RenderSettings: --- !u!157 &3 LightmapSettings: m_ObjectHideFlags: 0 - serializedVersion: 5 + serializedVersion: 6 m_GIWorkflowMode: 0 m_LightmapsMode: 1 m_GISettings: @@ -66,7 +66,7 @@ LightmapSettings: m_FinalGather: 0 m_FinalGatherRayCount: 1024 m_ReflectionCompression: 2 - m_LightmapSnapshot: {fileID: 0} + m_LightingDataAsset: {fileID: 0} m_RuntimeCPUUsage: 25 --- !u!196 &4 NavMeshSettings: @@ -74,18 +74,18 @@ NavMeshSettings: m_ObjectHideFlags: 0 m_BuildSettings: serializedVersion: 2 - agentRadius: .5 + agentRadius: 0.5 agentHeight: 2 agentSlope: 45 - agentClimb: .400000006 + agentClimb: 0.4 ledgeDropHeight: 0 maxJumpAcrossDistance: 0 accuratePlacement: 0 minRegionArea: 2 - cellSize: .166666672 + cellSize: 0.16666667 manualCellSize: 0 m_NavMeshData: {fileID: 0} ---- !u!1001 &1010606526 +--- !u!1001 &1118620219 Prefab: m_ObjectHideFlags: 0 serializedVersion: 2 @@ -158,23 +158,11 @@ Prefab: objectReference: {fileID: 0} - target: {fileID: 22439340, guid: a36efaa5237030e489a5e412e699e52f, type: 2} propertyPath: m_Pivot.x - value: .5 + value: 0.5 objectReference: {fileID: 0} - target: {fileID: 22439340, guid: a36efaa5237030e489a5e412e699e52f, type: 2} propertyPath: m_Pivot.y - value: .5 - objectReference: {fileID: 0} - - target: {fileID: 466310, guid: a36efaa5237030e489a5e412e699e52f, type: 2} - propertyPath: m_RootOrder - value: 3 - objectReference: {fileID: 0} - - target: {fileID: 22418090, guid: a36efaa5237030e489a5e412e699e52f, type: 2} - propertyPath: m_RootOrder - value: 5 - objectReference: {fileID: 0} - - target: {fileID: 494258, guid: a36efaa5237030e489a5e412e699e52f, type: 2} - propertyPath: m_RootOrder - value: 4 + value: 0.5 objectReference: {fileID: 0} m_RemovedComponents: [] m_ParentPrefab: {fileID: 100100000, guid: a36efaa5237030e489a5e412e699e52f, type: 2} diff --git a/Scenes/TestSTT.unity.meta b/Scenes/UnitTests/TestSpeechToText.unity.meta similarity index 100% rename from Scenes/TestSTT.unity.meta rename to Scenes/UnitTests/TestSpeechToText.unity.meta diff --git a/Scenes/UnitTests/TestTextToSpeech.unity b/Scenes/UnitTests/TestTextToSpeech.unity new file mode 100644 index 000000000..8e0953f4e --- /dev/null +++ b/Scenes/UnitTests/TestTextToSpeech.unity @@ -0,0 +1,179 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +SceneSettings: + m_ObjectHideFlags: 0 + m_PVSData: + m_PVSObjectsArray: [] + m_PVSPortalsArray: [] + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 6 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 6 + m_GIWorkflowMode: 0 + m_LightmapsMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 3 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AOMaxDistance: 1 + m_Padding: 2 + m_CompAOExponent: 0 + m_LightmapParameters: {fileID: 0} + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_LightingDataAsset: {fileID: 0} + m_RuntimeCPUUsage: 25 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + accuratePlacement: 0 + minRegionArea: 2 + cellSize: 0.16666667 + manualCellSize: 0 + m_NavMeshData: {fileID: 0} +--- !u!1001 &293420753 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 22495110, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 22495110, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 22495110, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 22495110, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 22495110, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 22495110, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 22495110, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 22495110, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 22495110, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} + propertyPath: m_AnchoredPosition.x + value: 299.5 + objectReference: {fileID: 0} + - target: {fileID: 22495110, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} + propertyPath: m_AnchoredPosition.y + value: 291.5 + objectReference: {fileID: 0} + - target: {fileID: 22495110, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} + propertyPath: m_SizeDelta.x + value: 599 + objectReference: {fileID: 0} + - target: {fileID: 22495110, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} + propertyPath: m_SizeDelta.y + value: 583 + objectReference: {fileID: 0} + - target: {fileID: 22495110, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 22495110, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 22495110, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 22495110, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 22495110, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 22495110, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 11466622, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} + propertyPath: layers.Array.data[0] + value: + objectReference: {fileID: 293420754} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 9321ac016e311474e94c27e42bdac14f, type: 2} + m_IsPrefabParent: 0 +--- !u!114 &293420754 stripped +MonoBehaviour: + m_PrefabParentObject: {fileID: 11455728, guid: 9321ac016e311474e94c27e42bdac14f, + type: 2} + m_PrefabInternal: {fileID: 293420753} + m_Script: {fileID: 11500000, guid: bc7fd33c57d694994b0ab9f33fcdcbea, type: 3} diff --git a/Scenes/TestTTS.unity.meta b/Scenes/UnitTests/TestTextToSpeech.unity.meta similarity index 100% rename from Scenes/TestTTS.unity.meta rename to Scenes/UnitTests/TestTextToSpeech.unity.meta diff --git a/Scenes/UnitTests.unity b/Scenes/UnitTests/UnitTests.unity similarity index 88% rename from Scenes/UnitTests.unity rename to Scenes/UnitTests/UnitTests.unity index f44db8197..6d01b5eef 100644 --- a/Scenes/UnitTests.unity +++ b/Scenes/UnitTests/UnitTests.unity @@ -8,25 +8,25 @@ SceneSettings: m_PVSPortalsArray: [] m_OcclusionBakeSettings: smallestOccluder: 5 - smallestHole: .25 + smallestHole: 0.25 backfaceThreshold: 100 --- !u!104 &2 RenderSettings: m_ObjectHideFlags: 0 serializedVersion: 6 m_Fog: 0 - m_FogColor: {r: .5, g: .5, b: .5, a: 1} + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} m_FogMode: 3 - m_FogDensity: .00999999978 + m_FogDensity: 0.01 m_LinearFogStart: 0 m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: .211999997, g: .226999998, b: .259000003, a: 1} - m_AmbientEquatorColor: {r: .114, g: .125, b: .133000001, a: 1} - m_AmbientGroundColor: {r: .0469999984, g: .0430000015, b: .0350000001, a: 1} + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} m_AmbientIntensity: 1 m_AmbientMode: 0 m_SkyboxMaterial: {fileID: 0} - m_HaloStrength: .5 + m_HaloStrength: 0.5 m_FlareStrength: 1 m_FlareFadeSpeed: 3 m_HaloTexture: {fileID: 0} @@ -40,7 +40,7 @@ RenderSettings: --- !u!157 &3 LightmapSettings: m_ObjectHideFlags: 0 - serializedVersion: 5 + serializedVersion: 6 m_GIWorkflowMode: 0 m_LightmapsMode: 1 m_GISettings: @@ -66,7 +66,7 @@ LightmapSettings: m_FinalGather: 0 m_FinalGatherRayCount: 1024 m_ReflectionCompression: 2 - m_LightmapSnapshot: {fileID: 0} + m_LightingDataAsset: {fileID: 0} m_RuntimeCPUUsage: 25 --- !u!196 &4 NavMeshSettings: @@ -74,17 +74,59 @@ NavMeshSettings: m_ObjectHideFlags: 0 m_BuildSettings: serializedVersion: 2 - agentRadius: .5 + agentRadius: 0.5 agentHeight: 2 agentSlope: 45 - agentClimb: .400000006 + agentClimb: 0.4 ledgeDropHeight: 0 maxJumpAcrossDistance: 0 accuratePlacement: 0 minRegionArea: 2 - cellSize: .166666672 + cellSize: 0.16666667 manualCellSize: 0 m_NavMeshData: {fileID: 0} +--- !u!1001 &154615422 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 431142, guid: d184dafb38dcd454fa71b0a822fd916a, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 431142, guid: d184dafb38dcd454fa71b0a822fd916a, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 431142, guid: d184dafb38dcd454fa71b0a822fd916a, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 431142, guid: d184dafb38dcd454fa71b0a822fd916a, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 431142, guid: d184dafb38dcd454fa71b0a822fd916a, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 431142, guid: d184dafb38dcd454fa71b0a822fd916a, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 431142, guid: d184dafb38dcd454fa71b0a822fd916a, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 431142, guid: d184dafb38dcd454fa71b0a822fd916a, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d184dafb38dcd454fa71b0a822fd916a, type: 2} + m_IsPrefabParent: 0 --- !u!1 &1418120900 GameObject: m_ObjectHideFlags: 0 @@ -173,14 +215,14 @@ Camera: m_Enabled: 1 serializedVersion: 2 m_ClearFlags: 1 - m_BackGroundColor: {r: .192156866, g: .301960796, b: .474509805, a: .0196078438} + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} m_NormalizedViewPortRect: serializedVersion: 2 x: 0 y: 0 width: 1 height: 1 - near clip plane: .300000012 + near clip plane: 0.3 far clip plane: 1000 field of view: 60 orthographic: 0 @@ -196,7 +238,7 @@ Camera: m_HDR: 0 m_OcclusionCulling: 1 m_StereoConvergence: 10 - m_StereoSeparation: .0219999999 + m_StereoSeparation: 0.022 m_StereoMirrorMode: 0 --- !u!4 &1587742306 Transform: @@ -210,24 +252,24 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_RootOrder: 0 ---- !u!1001 &1861949342 +--- !u!1001 &2125945512 Prefab: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: m_TransformParent: {fileID: 0} m_Modifications: - - target: {fileID: 11421058, guid: 18d6f509dac7d89419df972e1daa5d9b, type: 2} + - target: {fileID: 11482954, guid: 18d6f509dac7d89419df972e1daa5d9b, type: 2} propertyPath: layers.Array.size value: 1 objectReference: {fileID: 0} - target: {fileID: 456440, guid: 18d6f509dac7d89419df972e1daa5d9b, type: 2} propertyPath: m_LocalPosition.x - value: -394.5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 456440, guid: 18d6f509dac7d89419df972e1daa5d9b, type: 2} propertyPath: m_LocalPosition.y - value: -222 + value: 0 objectReference: {fileID: 0} - target: {fileID: 456440, guid: 18d6f509dac7d89419df972e1daa5d9b, type: 2} propertyPath: m_LocalPosition.z @@ -253,58 +295,16 @@ Prefab: propertyPath: m_RootOrder value: 3 objectReference: {fileID: 0} - - target: {fileID: 11421058, guid: 18d6f509dac7d89419df972e1daa5d9b, type: 2} + - target: {fileID: 11482954, guid: 18d6f509dac7d89419df972e1daa5d9b, type: 2} propertyPath: layers.Array.data[0] value: - objectReference: {fileID: 1861949343} + objectReference: {fileID: 2125945513} m_RemovedComponents: [] m_ParentPrefab: {fileID: 100100000, guid: 18d6f509dac7d89419df972e1daa5d9b, type: 2} m_IsPrefabParent: 0 ---- !u!114 &1861949343 stripped +--- !u!114 &2125945513 stripped MonoBehaviour: - m_PrefabParentObject: {fileID: 11418270, guid: 18d6f509dac7d89419df972e1daa5d9b, + m_PrefabParentObject: {fileID: 11437114, guid: 18d6f509dac7d89419df972e1daa5d9b, type: 2} - m_PrefabInternal: {fileID: 1861949342} - m_Script: {fileID: 1780265814, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} ---- !u!1001 &2078512044 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 431142, guid: d184dafb38dcd454fa71b0a822fd916a, type: 2} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 431142, guid: d184dafb38dcd454fa71b0a822fd916a, type: 2} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 431142, guid: d184dafb38dcd454fa71b0a822fd916a, type: 2} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 431142, guid: d184dafb38dcd454fa71b0a822fd916a, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 431142, guid: d184dafb38dcd454fa71b0a822fd916a, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 431142, guid: d184dafb38dcd454fa71b0a822fd916a, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 431142, guid: d184dafb38dcd454fa71b0a822fd916a, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 431142, guid: d184dafb38dcd454fa71b0a822fd916a, type: 2} - propertyPath: m_RootOrder - value: 3 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: d184dafb38dcd454fa71b0a822fd916a, type: 2} - m_IsPrefabParent: 0 + m_PrefabInternal: {fileID: 2125945512} + m_Script: {fileID: 11500000, guid: bc7fd33c57d694994b0ab9f33fcdcbea, type: 3} diff --git a/Scenes/UnitTests.unity.meta b/Scenes/UnitTests/UnitTests.unity.meta similarity index 100% rename from Scenes/UnitTests.unity.meta rename to Scenes/UnitTests/UnitTests.unity.meta diff --git a/Scripts/Camera/CameraTarget.cs b/Scripts/Camera/CameraTarget.cs new file mode 100644 index 000000000..66f83b78a --- /dev/null +++ b/Scripts/Camera/CameraTarget.cs @@ -0,0 +1,189 @@ +/** +* Copyright 2015 IBM Corp. All Rights Reserved. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +*/ + + +using UnityEngine; +using IBM.Watson.DeveloperCloud.Logging; + +namespace IBM.Watson.DeveloperCloud.Camera +{ + /// + /// Camera target class to identify the camera target to follow the position and rotation + /// + public class CameraTarget : MonoBehaviour + { + + #region Private Members + + private static WatsonCamera mp_WatsonCamera = null; + private static UnityEngine.Camera mp_CameraAttached = null; + [SerializeField] + private bool m_UseCustomPosition = false; + private Vector3 m_CustomPosition = Vector3.zero; + [SerializeField] + private bool m_UseCustomRotation = false; + private Quaternion m_CustomRotation = Quaternion.identity; + private bool m_UseTargetObjectToRotate = false; + private GameObject m_CustomTargetObjectToLookAt = null; + + #endregion + + #region Public Members + + /// + /// Gets or sets the target position. + /// + /// The target position. + public Vector3 TargetPosition + { + get + { + + if (m_UseCustomPosition) + { + return m_CustomPosition; + } + else + { + return transform.position; + } + } + set + { + m_UseCustomPosition = true; + m_CustomPosition = value; + } + } + + /// + /// Gets or sets the target rotation. + /// + /// The target rotation. + public Quaternion TargetRotation + { + get + { + if (m_UseCustomRotation) + { + return m_CustomRotation; + } + else if (m_UseTargetObjectToRotate) + { + if (TargetObject != null) + { + if (CameraAttached != null) + { + Vector3 relativePos = TargetObject.transform.position - CameraAttached.transform.position; + return Quaternion.LookRotation(relativePos); + } + else + { + Log.Warning("CameraTarget", "WatsonCamera couldn't find"); + return Quaternion.identity; + } + } + else + { + Log.Warning("CameraTarget", "TargetObject couldn't find"); + return Quaternion.identity; + } + } + else + { + return transform.rotation; + } + } + set + { + m_UseCustomRotation = true; + m_CustomRotation = value; + } + } + + protected GameObject TargetObject + { + get + { + return m_CustomTargetObjectToLookAt; + } + set + { + m_UseTargetObjectToRotate = true; + m_CustomTargetObjectToLookAt = value; + } + } + + protected UnityEngine.Camera CameraAttached + { + get + { + if (mp_CameraAttached == null) + { + if (WatsonCameraAttached != null) + mp_CameraAttached = WatsonCameraAttached.GetComponent(); + } + return mp_CameraAttached; + } + } + + protected WatsonCamera WatsonCameraAttached + { + get + { + if (mp_WatsonCamera == null) + { + mp_WatsonCamera = GameObject.FindObjectOfType(); + } + return mp_WatsonCamera; + } + } + + #endregion + + #region Set Target on Camera + + protected void SetCurrentTargetOnCamera(bool enable) + { + if (WatsonCamera.Instance != null) + { + if (enable) + WatsonCamera.Instance.CurrentCameraTarget = this; + else + WatsonCamera.Instance.CurrentCameraTarget = null; + } + } + + protected void SetTargetPositionDefault() + { + if (WatsonCamera.Instance != null && WatsonCamera.Instance.DefaultCameraTarget != null) + { + TargetPosition = WatsonCamera.Instance.DefaultCameraTarget.TargetPosition; + } + } + + protected void SetTargetRotationDefault() + { + if (WatsonCamera.Instance != null && WatsonCamera.Instance.DefaultCameraTarget != null) + { + TargetRotation = WatsonCamera.Instance.DefaultCameraTarget.TargetRotation; + } + } + + #endregion + } + +} diff --git a/Scripts/Camera/CameraTarget.cs.meta b/Scripts/Camera/CameraTarget.cs.meta new file mode 100644 index 000000000..1ddca07b2 --- /dev/null +++ b/Scripts/Camera/CameraTarget.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 392d6435550ae423aa252b36f573e6d2 +timeCreated: 1449763035 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/Camera/HotCorner.cs b/Scripts/Camera/HotCorner.cs index 502f30fda..43107b916 100644 --- a/Scripts/Camera/HotCorner.cs +++ b/Scripts/Camera/HotCorner.cs @@ -21,110 +21,82 @@ namespace IBM.Watson.DeveloperCloud.Camera { - /// - /// Hot corners to handle Three Tap on corners and middle points of the current device screen. - /// - public class HotCorner : MonoBehaviour { - - [SerializeField] - private float m_NormalizedThresholdWidth = 0.1f; - [SerializeField] - private float m_NormalizedThresholdHeight = 0.1f; - - #region TapThreeTimes Event Handles - - void OnEnable(){ - EventManager.Instance.RegisterEventReceiver (Constants.Event.ON_TAP_THREETIMES, TapThreeTimes); - } - - void OnDisable(){ - EventManager.Instance.UnregisterEventReceiver (Constants.Event.ON_TAP_THREETIMES, TapThreeTimes); - } - - void TapThreeTimes(System.Object[] args = null){ - if (args != null && args.Length == 1 && args [0] is TouchScript.Gestures.TapGesture) { - //Got three tap gesture, now checking the corners - TouchScript.Gestures.TapGesture tapGesture = args [0] as TouchScript.Gestures.TapGesture; - - if(tapGesture.NormalizedScreenPosition.x < m_NormalizedThresholdWidth && tapGesture.NormalizedScreenPosition.y < m_NormalizedThresholdHeight){ - EventManager.Instance.SendEvent(Constants.Event.ON_TAP_THREETIMES_BOTTOM_LEFT); - TapOnBottomLeft(); - } - else if(tapGesture.NormalizedScreenPosition.x < m_NormalizedThresholdWidth && tapGesture.NormalizedScreenPosition.y > 1.0f - m_NormalizedThresholdHeight){ - EventManager.Instance.SendEvent(Constants.Event.ON_TAP_THREETIMES_TOP_LEFT); - TapOnTopLeft(); - } - else if(tapGesture.NormalizedScreenPosition.x > 1.0f - m_NormalizedThresholdWidth && tapGesture.NormalizedScreenPosition.y < m_NormalizedThresholdHeight){ - EventManager.Instance.SendEvent(Constants.Event.ON_TAP_THREETIMES_BOTTOM_RIGHT); - TapOnBottomRight(); - } - else if(tapGesture.NormalizedScreenPosition.x > 1.0f - m_NormalizedThresholdWidth && tapGesture.NormalizedScreenPosition.y > 1.0f - m_NormalizedThresholdHeight){ - EventManager.Instance.SendEvent(Constants.Event.ON_TAP_THREETIMES_TOP_RIGHT); - TapOnTopRight(); - } - else if(tapGesture.NormalizedScreenPosition.x < m_NormalizedThresholdWidth && tapGesture.NormalizedScreenPosition.y > 0.5f - (m_NormalizedThresholdHeight / 2.0f) && tapGesture.NormalizedScreenPosition.y < 0.5f + (m_NormalizedThresholdHeight / 2.0f)){ - EventManager.Instance.SendEvent(Constants.Event.ON_TAP_THREETIMES_MIDDLE_LEFT); - TapOnMiddleLeft(); - } - else if(tapGesture.NormalizedScreenPosition.x > 1.0f - m_NormalizedThresholdWidth && tapGesture.NormalizedScreenPosition.y > 0.5f - (m_NormalizedThresholdHeight / 2.0f) && tapGesture.NormalizedScreenPosition.y < 0.5f + (m_NormalizedThresholdHeight / 2.0f)){ - EventManager.Instance.SendEvent(Constants.Event.ON_TAP_THREETIMES_MIDDLE_RIGHT); - TapOnMiddleRight(); - } - else if(tapGesture.NormalizedScreenPosition.x > 0.5f - (m_NormalizedThresholdWidth / 2.0f) && tapGesture.NormalizedScreenPosition.x < 0.5f + (m_NormalizedThresholdWidth / 2.0f) && tapGesture.NormalizedScreenPosition.y < m_NormalizedThresholdHeight){ - EventManager.Instance.SendEvent(Constants.Event.ON_TAP_THREETIMES_MIDDLE_BOTTOM); - TapOnMiddleBottom(); - } - else if(tapGesture.NormalizedScreenPosition.x > 0.5f - (m_NormalizedThresholdWidth / 2.0f) && tapGesture.NormalizedScreenPosition.x < 0.5f + (m_NormalizedThresholdWidth / 2.0f) && tapGesture.NormalizedScreenPosition.y > 1.0f - m_NormalizedThresholdHeight){ - EventManager.Instance.SendEvent(Constants.Event.ON_TAP_THREETIMES_MIDDLE_TOP); - TapOnMiddleTop(); - } - else{ - //do nothing - } - - } else { - Log.Warning("WatsonCamera", "TapThreeTimes has invalid arguments."); - } - } - - #endregion - - #region Custom Events to Call on Corners - - void TapOnBottomLeft(){ - EventManager.Instance.SendEvent(Constants.Event.ON_DEBUG_TOGGLE); - } - - void TapOnBottomRight(){ - EventManager.Instance.SendEvent(Constants.Event.ON_VIRTUAL_KEYBOARD_TOGGLE); - } - - void TapOnTopLeft(){ - - } - - void TapOnTopRight(){ - EventManager.Instance.SendEvent(Constants.Event.ON_APPLICATION_TO_BECOME_IDLE); - } - - void TapOnMiddleLeft(){ - - } - - void TapOnMiddleRight(){ - - } - - void TapOnMiddleTop(){ - - } - - void TapOnMiddleBottom(){ - - } - - #endregion - - } + /// + /// Hot corners to handle Three Tap on corners and middle points of the current device screen. + /// + public class HotCorner : MonoBehaviour + { + #region Private Members + [SerializeField] + private float m_NormalizedThresholdWidth = 0.1f; + [SerializeField] + private float m_NormalizedThresholdHeight = 0.1f; + #endregion + + #region TapThreeTimes Event Handles + + void OnEnable() + { + EventManager.Instance.RegisterEventReceiver("OnTripleTap", TapThreeTimes); + } + + void OnDisable() + { + EventManager.Instance.UnregisterEventReceiver("OnTripleTap", TapThreeTimes); + } + + void TapThreeTimes(System.Object[] args = null) + { + if (args != null && args.Length > 0 && args[0] is TouchScript.Gestures.TapGesture) + { + //Got three tap gesture, now checking the corners + TouchScript.Gestures.TapGesture tapGesture = args[0] as TouchScript.Gestures.TapGesture; + + if (tapGesture.NormalizedScreenPosition.x < m_NormalizedThresholdWidth && tapGesture.NormalizedScreenPosition.y < m_NormalizedThresholdHeight) + { + EventManager.Instance.SendEvent("OnTripleTapBottomLeft"); + } + else if (tapGesture.NormalizedScreenPosition.x < m_NormalizedThresholdWidth && tapGesture.NormalizedScreenPosition.y > 1.0f - m_NormalizedThresholdHeight) + { + EventManager.Instance.SendEvent("OnTripleTapTopLeft"); + } + else if (tapGesture.NormalizedScreenPosition.x > 1.0f - m_NormalizedThresholdWidth && tapGesture.NormalizedScreenPosition.y < m_NormalizedThresholdHeight) + { + EventManager.Instance.SendEvent("OnTripleTapBottomRight"); + } + else if (tapGesture.NormalizedScreenPosition.x > 1.0f - m_NormalizedThresholdWidth && tapGesture.NormalizedScreenPosition.y > 1.0f - m_NormalizedThresholdHeight) + { + EventManager.Instance.SendEvent("OnTripleTapTopRight"); + } + else if (tapGesture.NormalizedScreenPosition.x < m_NormalizedThresholdWidth && tapGesture.NormalizedScreenPosition.y > 0.5f - (m_NormalizedThresholdHeight / 2.0f) && tapGesture.NormalizedScreenPosition.y < 0.5f + (m_NormalizedThresholdHeight / 2.0f)) + { + EventManager.Instance.SendEvent("OnTripleTapMiddleLeft"); + } + else if (tapGesture.NormalizedScreenPosition.x > 1.0f - m_NormalizedThresholdWidth && tapGesture.NormalizedScreenPosition.y > 0.5f - (m_NormalizedThresholdHeight / 2.0f) && tapGesture.NormalizedScreenPosition.y < 0.5f + (m_NormalizedThresholdHeight / 2.0f)) + { + EventManager.Instance.SendEvent("OnTripleTapMiddleRight"); + } + else if (tapGesture.NormalizedScreenPosition.x > 0.5f - (m_NormalizedThresholdWidth / 2.0f) && tapGesture.NormalizedScreenPosition.x < 0.5f + (m_NormalizedThresholdWidth / 2.0f) && tapGesture.NormalizedScreenPosition.y < m_NormalizedThresholdHeight) + { + EventManager.Instance.SendEvent("OnTripleTapMiddleBottom"); + } + else if (tapGesture.NormalizedScreenPosition.x > 0.5f - (m_NormalizedThresholdWidth / 2.0f) && tapGesture.NormalizedScreenPosition.x < 0.5f + (m_NormalizedThresholdWidth / 2.0f) && tapGesture.NormalizedScreenPosition.y > 1.0f - m_NormalizedThresholdHeight) + { + EventManager.Instance.SendEvent("OnTripleTapMiddleTop"); + } + else + { + // do nothing + } + + } + else + { + Log.Warning("WatsonCamera", "TapThreeTimes has invalid arguments."); + } + } + + #endregion + } } diff --git a/Scripts/Camera/WatsonCamera.cs b/Scripts/Camera/WatsonCamera.cs index 01164def7..024275dbd 100644 --- a/Scripts/Camera/WatsonCamera.cs +++ b/Scripts/Camera/WatsonCamera.cs @@ -17,6 +17,7 @@ using UnityEngine; +using System.Collections.Generic; using IBM.Watson.DeveloperCloud.Logging; using IBM.Watson.DeveloperCloud.Utilities; @@ -30,11 +31,12 @@ public class WatsonCamera : MonoBehaviour { #region Private Variables - private Vector3 m_TargetCameraLocation; - private Quaternion m_TargetCameraRotation; + private static WatsonCamera mp_Instance; + private List m_ListCameraTarget = new List(); + private CameraTarget m_TargetCamera = null; private Vector3 m_CameraInitialLocation; - private Quaternion m_CameraInitialRotation; + private Quaternion m_CameraInitialRotation; [SerializeField] private float m_PanSpeed = 0.07f; [SerializeField] @@ -42,48 +44,165 @@ public class WatsonCamera : MonoBehaviour [SerializeField] private float m_SpeedForCameraAnimation = 2f; + private float m_CommandMovementModifier = 10.0f; + + [SerializeField] + private MonoBehaviour m_AntiAliasing; + [SerializeField] + private MonoBehaviour m_DepthOfField; + private bool m_DisableInteractivity = false; + + #endregion + + #region Public Variable + + public static WatsonCamera Instance + { + get + { + return mp_Instance; + } + } + + public CameraTarget CurrentCameraTarget + { + get + { + if (m_TargetCamera == null) + { + InitializeCameraTargetList(); + } + + return m_TargetCamera; + } + set + { + if (value != null) + { + m_TargetCamera = value; + + if (!m_ListCameraTarget.Contains(value)) + { + m_ListCameraTarget.Add(value); + } + } + else + { //Delete current camera and clear from the list + + if (m_ListCameraTarget.Contains(m_TargetCamera)) + { + m_ListCameraTarget.Remove(m_TargetCamera); + } + + if (m_ListCameraTarget.Count > 0) + { + m_TargetCamera = m_ListCameraTarget[m_ListCameraTarget.Count - 1]; + } + else + { + InitializeCameraTargetList(); + } + } + } + } + + public CameraTarget DefaultCameraTarget + { + get + { + if (m_ListCameraTarget == null || m_ListCameraTarget.Count == 0) + InitializeCameraTargetList(); + + return m_ListCameraTarget[0]; + } + } + + #endregion + + #region Event Registration + + void OnEnable() + { + EventManager.Instance.RegisterEventReceiver("OnCameraReset", ResetCameraPosition); + EventManager.Instance.RegisterEventReceiver("OnCameraSetAntiAliasing", OnCameraSetAntiAliasing); + EventManager.Instance.RegisterEventReceiver("OnCameraSetDepthOfField", OnCameraSetDepthOfField); + EventManager.Instance.RegisterEventReceiver("OnCameraSetInteractivity", OnCameraSetTwoFingerDrag); + } + + void OnDisable() + { + EventManager.Instance.UnregisterEventReceiver("OnCameraReset", ResetCameraPosition); + EventManager.Instance.UnregisterEventReceiver("OnCameraSetAntiAliasing", OnCameraSetAntiAliasing); + EventManager.Instance.UnregisterEventReceiver("OnCameraSetDepthOfField", OnCameraSetDepthOfField); + EventManager.Instance.UnregisterEventReceiver("OnCameraSetInteractivity", OnCameraSetTwoFingerDrag); + } + #endregion #region Start / Update - void Start(){ - m_CameraInitialLocation = transform.localPosition; - m_CameraInitialRotation = transform.rotation; - - m_TargetCameraLocation = m_CameraInitialLocation; - m_TargetCameraRotation = m_CameraInitialRotation; - } + void Awake() + { + mp_Instance = this; + } + + void Start() + { + m_CameraInitialLocation = transform.localPosition; + m_CameraInitialRotation = transform.rotation; + } + + void Update() + { + CameraPositionOnUpdate(); + } - void Update() - { - CameraPositionOnUpdate (); - } + void CameraPositionOnUpdate() + { + //For Zooming and Panning + if (CurrentCameraTarget != null) + { + transform.localPosition = Vector3.Lerp(transform.localPosition, CurrentCameraTarget.TargetPosition, Time.deltaTime * m_SpeedForCameraAnimation); + transform.rotation = Quaternion.Lerp(transform.localRotation, CurrentCameraTarget.TargetRotation, Time.deltaTime * m_SpeedForCameraAnimation); + } + } + + void InitializeCameraTargetList() + { + if (m_ListCameraTarget == null) + m_ListCameraTarget = new List(); - void CameraPositionOnUpdate() - { - //For Zooming and Panning - transform.localPosition = Vector3.Lerp(transform.localPosition, m_TargetCameraLocation, Time.deltaTime * m_SpeedForCameraAnimation); - transform.rotation = Quaternion.Lerp(transform.localRotation, m_TargetCameraRotation, Time.deltaTime * m_SpeedForCameraAnimation ); - } + m_ListCameraTarget.Clear(); - #endregion + CameraTarget defaultCameraTarget = this.gameObject.AddComponent(); + defaultCameraTarget.TargetPosition = m_CameraInitialLocation; + defaultCameraTarget.TargetRotation = m_CameraInitialRotation; + m_ListCameraTarget.Add(defaultCameraTarget); + + m_TargetCamera = m_ListCameraTarget[0]; + } + + #endregion #region Touch Drag Actions - /// - /// Event handler to pan and zoom with two-finger dragging - /// - /// Arguments. + /// + /// Event handler to pan and zoom with two-finger dragging + /// + /// Arguments. public void DragTwoFinger(System.Object[] args) { - if (args != null && args.Length == 1 && args[0] is TouchScript.Gestures.ScreenTransformGesture) + if (m_DisableInteractivity) + return; + + if (args != null && args.Length > 0 && args[0] is TouchScript.Gestures.ScreenTransformGesture) { TouchScript.Gestures.ScreenTransformGesture transformGesture = args[0] as TouchScript.Gestures.ScreenTransformGesture; //Pannning with 2-finger - m_TargetCameraLocation += (transformGesture.DeltaPosition * m_PanSpeed * -1.0f); + DefaultCameraTarget.TargetPosition += (transformGesture.DeltaPosition * m_PanSpeed * -1.0f); //Zooming with 2-finger - m_TargetCameraLocation += transform.forward * (transformGesture.DeltaScale - 1.0f) * m_ZoomSpeed; + DefaultCameraTarget.TargetPosition += transform.forward * (transformGesture.DeltaScale - 1.0f) * m_ZoomSpeed; } else { @@ -94,74 +213,138 @@ public void DragTwoFinger(System.Object[] args) #endregion #region Camera Events Received from Outside - Set default position / Move Left - Right - Up - Down / Zoom-in-out + /// + /// Event Handler for setting Antialiasing event + /// + /// Arguments. + public void OnCameraSetAntiAliasing(System.Object[] args) + { + if (args != null && args.Length > 0 && args[0] is bool) + { + bool valueSet = (bool)args[0]; + + if (m_AntiAliasing != null) + { + m_AntiAliasing.enabled = valueSet; + } + } + } - /// - /// Event handler reseting the camera position. - /// - /// Arguments. + /// + /// Event Handler for setting Depth of Field event + /// + /// Arguments. + public void OnCameraSetDepthOfField(System.Object[] args) + { + if (args != null && args.Length > 0 && args[0] is bool) + { + bool valueSet = (bool)args[0]; + + if (m_DepthOfField != null) + { + m_DepthOfField.enabled = valueSet; + } + } + } + + /// + /// Event Handler for Two Finger Drag + /// + /// Arguments. + public void OnCameraSetTwoFingerDrag(System.Object[] args) + { + if (args != null && args.Length > 0 && args[0] is bool) + { + m_DisableInteractivity = !(bool)args[0]; + } + } + + + /// + /// Event handler reseting the camera position. + /// + /// Arguments. public void ResetCameraPosition(System.Object[] args) { + if (m_DisableInteractivity) + return; //Log.Status("WatsonCamera", "Reset Camera Position"); - m_TargetCameraLocation = m_CameraInitialLocation; - m_TargetCameraRotation = m_CameraInitialRotation; + DefaultCameraTarget.TargetPosition = m_CameraInitialLocation; + DefaultCameraTarget.TargetRotation = m_CameraInitialRotation; } - /// - /// Event handler moving the camera up. - /// - /// Arguments. + /// + /// Event handler moving the camera up. + /// + /// Arguments. public void MoveUp(System.Object[] args) { - m_TargetCameraLocation += Vector3.up; + if (m_DisableInteractivity) + return; + + DefaultCameraTarget.TargetPosition += this.transform.up * m_CommandMovementModifier; } - /// - /// Event handler moving the camera down. - /// - /// Arguments. + /// + /// Event handler moving the camera down. + /// + /// Arguments. public void MoveDown(System.Object[] args) { - m_TargetCameraLocation += Vector3.down; + if (m_DisableInteractivity) + return; + + DefaultCameraTarget.TargetPosition += this.transform.up * -m_CommandMovementModifier; } - /// - /// Event handler moving the camera left. - /// - /// Arguments. + /// + /// Event handler moving the camera left. + /// + /// Arguments. public void MoveLeft(System.Object[] args) { - m_TargetCameraLocation += Vector3.left; + if (m_DisableInteractivity) + return; + + DefaultCameraTarget.TargetPosition += this.transform.right * -m_CommandMovementModifier; } - /// - /// Event handler moving the camera right. - /// - /// Arguments. + /// + /// Event handler moving the camera right. + /// + /// Arguments. public void MoveRight(System.Object[] args) { - m_TargetCameraLocation += Vector3.right; + if (m_DisableInteractivity) + return; + + DefaultCameraTarget.TargetPosition += this.transform.right * m_CommandMovementModifier; } - /// - /// Event handler zooming-in the camera. - /// - /// Arguments. + /// + /// Event handler zooming-in the camera. + /// + /// Arguments. public void ZoomIn(System.Object[] args) { - m_TargetCameraLocation += transform.forward * m_ZoomSpeed; + if (m_DisableInteractivity) + return; + + DefaultCameraTarget.TargetPosition += transform.forward * m_ZoomSpeed; } - /// - /// Event handler zooming-out the camera. - /// - /// Arguments. + /// + /// Event handler zooming-out the camera. + /// + /// Arguments. public void ZoomOut(System.Object[] args) { - m_TargetCameraLocation += transform.forward * m_ZoomSpeed * -1.0f; + if (m_DisableInteractivity) + return; + + DefaultCameraTarget.TargetPosition += transform.forward * m_ZoomSpeed * -1.0f; } #endregion - } - } diff --git a/Scripts/Connection/RESTConnector.cs b/Scripts/Connection/RESTConnector.cs index af96b2d90..f9d92c7bf 100644 --- a/Scripts/Connection/RESTConnector.cs +++ b/Scripts/Connection/RESTConnector.cs @@ -16,9 +16,7 @@ */ // uncomment to enable debugging -//#define ENABLE_DEBUGGING -// uncomment to enable experimental gateway code. -//#define ENABLE_GATEWAY +#define ENABLE_DEBUGGING using IBM.Watson.DeveloperCloud.Utilities; using IBM.Watson.DeveloperCloud.Logging; @@ -49,6 +47,11 @@ public class RESTConnector /// The response object. public delegate void ResponseEvent(Request req, Response resp); + /// + /// This delegate is invoked to provide download progress. + /// + /// + public delegate void ProgressEvent(float progress); /// /// The class is returned by a Request object containing the response to a request made /// by the client. @@ -84,7 +87,7 @@ public class Form /// Make a multi-part form object from a string. /// /// The string data. - public Form( string s ) + public Form(string s) { IsBinary = false; BoxedObject = s; @@ -93,7 +96,7 @@ public Form( string s ) /// Make a multi-part form object from an int. /// /// The int data. - public Form( int n ) + public Form(int n) { IsBinary = false; BoxedObject = n; @@ -105,7 +108,7 @@ public Form( int n ) /// The binary data. /// The filename of the binary data. /// The mime type of the data. - public Form( byte [] contents, string fileName = null, string mimeType = null ) + public Form(byte[] contents, string fileName = null, string mimeType = null) { IsBinary = true; Contents = contents; @@ -124,7 +127,7 @@ public Form( byte [] contents, string fileName = null, string mimeType = null ) /// /// If IsBinary is true, then this will contain the binary data. /// - public byte [] Contents { get; set; } + public byte[] Contents { get; set; } /// /// The filename of the binary data. /// @@ -151,6 +154,10 @@ public Request() #region Public Properties /// + /// Custom timeout for this Request. This timeout is used if this timeout is larger than the value in the Config class. + /// + public float Timeout { get; set; } + /// /// If true, then request will be cancelled. /// public bool Cancel { get; set; } @@ -169,57 +176,54 @@ public Request() /// /// Additional headers to provide in the request. /// - public Dictionary Headers { get; set; } + public Dictionary Headers { get; set; } /// /// The data to send through the connection. Do not use Forms if set. /// - public byte [] Send { get; set; } + public byte[] Send { get; set; } /// /// Multi-part form data that needs to be sent. Do not use Send if set. /// - public Dictionary Forms { get; set; } + public Dictionary Forms { get; set; } /// /// The callback that is invoked when a response is received. /// public ResponseEvent OnResponse { get; set; } + /// + /// This callback is invoked to provide progress on the WWW download. + /// + public ProgressEvent OnDownloadProgress { get; set; } + /// + /// This callback is invoked to provide upload progress. + /// + public ProgressEvent OnUploadProgress { get; set; } #endregion } #endregion #region Public Properties + private static float sm_LogResponseTime = 3.0f; + /// + /// Specify a time to log to the logging system when a response takes longer than this amount. + /// + public static float LogResponseTime { get { return sm_LogResponseTime; } set { sm_LogResponseTime = value; } } /// /// Base URL for REST requests. /// public string URL { get; set; } - /// + /// /// Credentials used to authenticate with the server. /// public Credentials Authentication { get; set; } /// /// Additional headers to attach to all requests. /// - public Dictionary Headers { get; set; } - /// - /// Returns true if this connector is going through the gateway. - /// - public bool UsingGateway { get; set; } + public Dictionary Headers { get; set; } #endregion #region Private Data -#if ENABLE_GATEWAY - //! This dictionary is used to translated from a service ID & function into a service-type - //! value which is needed by the gateway. - private static Dictionary sm_GatewayServiceTypes = new Dictionary() - { - { "TextToSpeechV1/v1/synthesize", "tts" }, - // TODO: Uncomment once gateway is fixed. - //{ "SpeechToTextV1/v1/recognize", "stt" }, - { "TranslateV1/v2/translate", "language-translation" }, - //{ "NlcV1/v1/delete", "natural-language-delete" }, - }; -#endif //! Dictionary of connectors by service & function. - private static Dictionary sm_Connectors = new Dictionary(); + private static Dictionary sm_Connectors = new Dictionary(); #endregion /// @@ -227,46 +231,29 @@ public Request() /// /// The ID of the service. /// The name of the function. + /// If true, then the connections will use a static cache. /// Returns a RESTConnector object or null on error. - public static RESTConnector GetConnector( string serviceID, string function ) + public static RESTConnector GetConnector(string serviceID, string function, bool useCache = true) { RESTConnector connector = null; string connectorID = serviceID + function; - if ( sm_Connectors.TryGetValue( connectorID, out connector ) ) + if (useCache && sm_Connectors.TryGetValue(connectorID, out connector)) return connector; Config cfg = Config.Instance; - -#if ENABLE_GATEWAY - string serviceType = null; - if ( cfg.EnableGateway - && sm_GatewayServiceTypes.TryGetValue( connectorID, out serviceType ) ) - { - connector = new RESTConnector(); - connector.UsingGateway = true; - connector.URL = cfg.GatewayURL + "/v1/en/service"; - connector.Headers = new Dictionary(); - connector.Headers["ROBOT_KEY"] = cfg.ProductKey; - connector.Headers["MAC_ID"] = "UnitySDK"; - connector.Headers["Service-Type" ] = serviceType; - - sm_Connectors[ connectorID ] = connector; - return connector; - } -#endif - Config.CredentialInfo cred = cfg.FindCredentials( serviceID ); + Config.CredentialInfo cred = cfg.FindCredentials(serviceID); if (cred == null) { - Log.Error( "Config", "Failed to find credentials for service {0}.", serviceID ); + Log.Error("Config", "Failed to find credentials for service {0}.", serviceID); return null; } connector = new RESTConnector(); - connector.UsingGateway = false; connector.URL = cred.m_URL + function; - connector.Authentication = new Credentials( cred.m_User, cred.m_Password ); - sm_Connectors[ connectorID ] = connector; + connector.Authentication = new Credentials(cred.m_User, cred.m_Password); + if (useCache) + sm_Connectors[connectorID] = connector; return connector; } @@ -289,14 +276,14 @@ public static void FlushConnectors() /// true is returned on success, false is returned if the Request can't be sent. public bool Send(Request request) { - if ( request == null ) + if (request == null) throw new ArgumentNullException("request"); m_Requests.Enqueue(request); // if we are not already running a co-routine to send the Requests // then start one at this point. - if ( m_ActiveConnections < Config.Instance.MaxRestConnections ) + if (m_ActiveConnections < Config.Instance.MaxRestConnections) { // This co-routine will increment m_ActiveConnections then yield back to us so // we can return from the Send() as quickly as possible. @@ -315,18 +302,20 @@ public bool Send(Request request) #region Private Functions private void AddHeaders(Dictionary headers) { - if ( Authentication != null ) + if (Authentication != null) { - if ( headers == null ) + if (headers == null) throw new ArgumentNullException("headers"); - headers.Add("Authorization", Authentication.CreateAuthorization() ); + headers.Add("Authorization", Authentication.CreateAuthorization()); } - if ( Headers != null ) + if (Headers != null) { - foreach( var kp in Headers ) - headers[ kp.Key ] = kp.Value; + foreach (var kp in Headers) + headers[kp.Key] = kp.Value; } + + headers.Add("User-Agent", Constants.String.VERSION); } private IEnumerator ProcessRequestQueue() @@ -338,10 +327,10 @@ private IEnumerator ProcessRequestQueue() while (m_Requests.Count > 0) { Request req = m_Requests.Dequeue(); - if ( req.Cancel ) + if (req.Cancel) continue; string url = URL; - if (! string.IsNullOrEmpty( req.Function ) ) + if (!string.IsNullOrEmpty(req.Function)) url += req.Function; StringBuilder args = null; @@ -354,8 +343,12 @@ private IEnumerator ProcessRequestQueue() value = WWW.EscapeURL((string)value); // escape the value else if (value is byte[]) value = Convert.ToBase64String((byte[])value); // convert any byte data into base64 string + else if (value is Int32 || value is Int64 || value is UInt32 || value is UInt64) + value = value.ToString(); + else if (value != null) + Log.Warning("RESTConnector", "Unsupported parameter value type {0}", value.GetType().Name); else - Log.Warning( "RESTConnector", "Unsupported parameter value type {0}", value.GetType().Name ); + Log.Error("RESTConnector", "Parameter {0} value is null", key); if (args == null) args = new StringBuilder(); @@ -368,87 +361,98 @@ private IEnumerator ProcessRequestQueue() if (args != null && args.Length > 0) url += "?" + args.ToString(); - AddHeaders( req.Headers ); + AddHeaders(req.Headers); Response resp = new Response(); - float startTime = Time.time; - if (! req.Delete ) + DateTime startTime = DateTime.Now; + if (!req.Delete) { WWW www = null; - if ( req.Forms != null ) + if (req.Forms != null) { - if ( req.Send != null ) - Log.Warning( "RESTConnector", "Do not use both Send & Form fields in a Request object." ); + if (req.Send != null) + Log.Warning("RESTConnector", "Do not use both Send & Form fields in a Request object."); WWWForm form = new WWWForm(); - foreach( var kp in req.Forms ) + try + { + foreach (var kp in req.Forms) + { + if (kp.Value.IsBinary) + form.AddBinaryData(kp.Key, kp.Value.Contents, kp.Value.FileName, kp.Value.MimeType); + else if (kp.Value.BoxedObject is string) + form.AddField(kp.Key, (string)kp.Value.BoxedObject); + else if (kp.Value.BoxedObject is int) + form.AddField(kp.Key, (int)kp.Value.BoxedObject); + else if (kp.Value.BoxedObject != null) + Log.Warning("RESTCOnnector", "Unsupported form field type {0}", kp.Value.BoxedObject.GetType().ToString()); + } + foreach (var kp in form.headers) + req.Headers[kp.Key] = kp.Value; + } + catch (Exception e) { - if ( kp.Value.IsBinary ) - form.AddBinaryData( kp.Key, kp.Value.Contents, kp.Value.FileName, kp.Value.MimeType ); - else if ( kp.Value.BoxedObject is string ) - form.AddField( kp.Key, (string)kp.Value.BoxedObject ); - else if ( kp.Value.BoxedObject is int ) - form.AddField( kp.Key, (int)kp.Value.BoxedObject ); - else if ( kp.Value.BoxedObject != null ) - Log.Warning( "RESTCOnnector", "Unsupported form field type {0}", kp.Value.BoxedObject.GetType().ToString() ); + Log.Error("RESTConnector", "Exception when initializing WWWForm: {0}", e.ToString()); } - foreach( var kp in form.headers ) - req.Headers[ kp.Key ] = kp.Value; - - www = new WWW( url, form.data, req.Headers ); + www = new WWW(url, form.data, req.Headers); } else if (req.Send == null) - www = new WWW( url, null, req.Headers ); - else - www = new WWW( url, req.Send, req.Headers ); + www = new WWW(url, null, req.Headers); + else + www = new WWW(url, req.Send, req.Headers); #if ENABLE_DEBUGGING - Log.Debug( "RESTCOnnector", "URL: {0}", url ); + Log.Debug("RESTCOnnector", "URL: {0}", url); #endif // wait for the request to complete. - while(! www.isDone ) + float timeout = Mathf.Max(Config.Instance.TimeOut, req.Timeout); + while (!www.isDone) { - if ( req.Cancel ) + if (req.Cancel) break; - if ( Time.time > (startTime + Config.Instance.TimeOut) ) + if ((DateTime.Now - startTime).TotalSeconds > timeout) break; + if (req.OnUploadProgress != null) + req.OnUploadProgress(www.uploadProgress); + if (req.OnDownloadProgress != null) + req.OnDownloadProgress(www.progress); yield return null; } - if ( req.Cancel ) + if (req.Cancel) continue; bool bError = false; - if (! string.IsNullOrEmpty( www.error ) ) + if (!string.IsNullOrEmpty(www.error)) { int nErrorCode = -1; int nSeperator = www.error.IndexOf(' '); - if ( nSeperator > 0 && int.TryParse( www.error.Substring( 0, nSeperator ).Trim() , out nErrorCode ) ) + if (nSeperator > 0 && int.TryParse(www.error.Substring(0, nSeperator).Trim(), out nErrorCode)) bError = nErrorCode != 200; - if ( bError ) - Log.Error( "RESTConnector", "URL: {0}, ErrorCode: {1}, Error: {2}, Response: {3}", url, nErrorCode, www.error, - string.IsNullOrEmpty( www.text ) ? "" : www.text ); + if (bError) + Log.Error("RESTConnector", "URL: {0}, ErrorCode: {1}, Error: {2}, Response: {3}", url, nErrorCode, www.error, + string.IsNullOrEmpty(www.text) ? "" : www.text); else - Log.Warning( "RESTConnector", "URL: {0}, ErrorCode: {1}, Error: {2}, Response: {3}", url, nErrorCode, www.error, - string.IsNullOrEmpty( www.text ) ? "" : www.text ); + Log.Warning("RESTConnector", "URL: {0}, ErrorCode: {1}, Error: {2}, Response: {3}", url, nErrorCode, www.error, + string.IsNullOrEmpty(www.text) ? "" : www.text); } - if (! www.isDone) + if (!www.isDone) { - Log.Error( "RESTConnector", "Request timed out for URL: {0}", url ); + Log.Error("RESTConnector", "Request timed out for URL: {0}", url); bError = true; } - if ( !bError && (www.bytes == null || www.bytes.Length == 0) ) + if (!bError && (www.bytes == null || www.bytes.Length == 0)) { - Log.Warning( "RESTConnector", "No data recevied for URL: {0}", url ); + Log.Warning("RESTConnector", "No data recevied for URL: {0}", url); bError = true; } // generate the Response object now.. - if ( !bError ) + if (!bError) { resp.Success = true; resp.Data = www.bytes; @@ -456,31 +460,38 @@ private IEnumerator ProcessRequestQueue() else { resp.Success = false; - resp.Error = string.Format( "Request Error.\nURL: {0}\nError: {1}", - url, string.IsNullOrEmpty( www.error ) ? "Timeout" : www.error ); + resp.Error = string.Format("Request Error.\nURL: {0}\nError: {1}", + url, string.IsNullOrEmpty(www.error) ? "Timeout" : www.error); } - resp.ElapsedTime = Time.time - startTime; - if ( req.OnResponse != null ) - req.OnResponse( req, resp ); + resp.ElapsedTime = (float)(DateTime.Now - startTime).TotalSeconds; - www.Dispose(); + // if the response is over a threshold, then log with status instead of debug + if (resp.ElapsedTime > LogResponseTime) + Log.Warning("RESTConnector", "Request {0} completed in {1} seconds.", url, resp.ElapsedTime); + + if (req.OnResponse != null) + req.OnResponse(req, resp); + + www.Dispose(); } else { #if UNITY_EDITOR + float timeout = Mathf.Max(Config.Instance.TimeOut, req.Timeout); + DeleteRequest deleteReq = new DeleteRequest(); - deleteReq.Send( url, req.Headers ); - while(! deleteReq.IsComplete ) + deleteReq.Send(url, req.Headers); + while (!deleteReq.IsComplete) { - if ( req.Cancel ) + if (req.Cancel) break; - if ( Time.time > (startTime + Config.Instance.TimeOut) ) + if ((DateTime.Now - startTime).TotalSeconds > timeout) break; yield return null; } - if ( req.Cancel ) + if (req.Cancel) continue; resp.Success = deleteReq.Success; @@ -488,9 +499,9 @@ private IEnumerator ProcessRequestQueue() Log.Warning( "RESTConnector", "DELETE method is supported in the editor only." ); resp.Success = false; #endif - resp.ElapsedTime = Time.time - startTime; - if ( req.OnResponse != null ) - req.OnResponse( req, resp ); + resp.ElapsedTime = (float)(DateTime.Now - startTime).TotalSeconds; + if (req.OnResponse != null) + req.OnResponse(req, resp); } } @@ -503,21 +514,24 @@ private IEnumerator ProcessRequestQueue() private class DeleteRequest { public string URL { get; set; } - public Dictionary Headers { get; set; } + public Dictionary Headers { get; set; } public bool IsComplete { get; set; } public bool Success { get; set; } - public bool Send( string url, Dictionary headers ) + public bool Send(string url, Dictionary headers) { - if ( m_Thread != null && m_Thread.IsAlive ) + if (m_Thread != null && m_Thread.IsAlive) return false; URL = url; Headers = new Dictionary(); - foreach( var kp in headers ) - Headers[kp.Key] = kp.Value; - - m_Thread = new Thread( ProcessRequest ); + foreach (var kp in headers) + { + if (kp.Key != "User-Agent") + Headers[kp.Key] = kp.Value; + } + + m_Thread = new Thread(ProcessRequest); m_Thread.Start(); return true; } @@ -529,9 +543,9 @@ private void ProcessRequest() // This fixes the exception thrown by self-signed certificates. ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(delegate { return true; }); - WebRequest deleteReq = WebRequest.Create( URL ); - foreach( var kp in Headers ) - deleteReq.Headers.Add( kp.Key, kp.Value ); + WebRequest deleteReq = WebRequest.Create(URL); + foreach (var kp in Headers) + deleteReq.Headers.Add(kp.Key, kp.Value); deleteReq.Method = "DELETE"; HttpWebResponse deleteResp = deleteReq.GetResponse() as HttpWebResponse; @@ -540,7 +554,6 @@ private void ProcessRequest() } }; #endif - -#endregion + #endregion } } diff --git a/Scripts/Connection/WSConnector.cs b/Scripts/Connection/WSConnector.cs index b27209194..2c7464b7d 100644 --- a/Scripts/Connection/WSConnector.cs +++ b/Scripts/Connection/WSConnector.cs @@ -42,7 +42,7 @@ public class WSConnector /// Callback for a message received on the connector. /// /// The message object. - public delegate void MessageEvent( Message resp); + public delegate void MessageEvent(Message resp); /// /// ConnectionState enumeration describes the current state of this connector. @@ -71,7 +71,7 @@ public enum ConnectionState /// The base abstract class for a Message that can be sent/received by this class. /// public abstract class Message - {}; + { }; /// /// BinaryMessage for sending raw binary data. @@ -103,7 +103,7 @@ public class TextMessage : Message /// Constructor for a TextMessage object. /// /// The string of the text to send as a message. - public TextMessage( string text ) + public TextMessage(string text) { Text = text; } @@ -119,10 +119,6 @@ public TextMessage( string text ) #region Public Properties /// - /// Returns true if this connection is setup to use the gateway. - /// - public bool UsingGateway { get; set; } - /// /// This delegate is invoked when the connection is closed. /// public ConnectorEvent OnClose { get; set; } @@ -137,7 +133,7 @@ public TextMessage( string text ) /// /// Headers to pass when making the socket. /// - public Dictionary Headers { get; set; } + public Dictionary Headers { get; set; } /// /// Credentials used to authenticate with the server. /// @@ -156,14 +152,6 @@ public TextMessage( string text ) private AutoResetEvent m_ReceiveEvent = new AutoResetEvent(false); private Queue m_ReceiveQueue = new Queue(); private int m_ReceiverRoutine = 0; - - //! This dictionary is used to translated from a service ID & function into a service-type - //! value which is needed by the gateway. - private static Dictionary sm_GatewayServiceTypes = new Dictionary() - { - // TODO: Uncomment once gateway is fixed. - //{ "SpeechToTextV1/v1/recognize", "stt-stream" }, - }; #endregion /// @@ -171,7 +159,7 @@ public TextMessage( string text ) /// /// The URL to fix up. /// The fixed up URL. - public static string FixupURL( string URL ) + public static string FixupURL(string URL) { if (URL.StartsWith("http://")) URL = URL.Replace("http://", "ws://"); @@ -188,40 +176,20 @@ public static string FixupURL( string URL ) /// The name of the function to connect. /// Additional function arguments. /// The WSConnector object or null or error. - public static WSConnector CreateConnector( string serviceID, string function, string args ) + public static WSConnector CreateConnector(string serviceID, string function, string args) { WSConnector connector = null; - string connectorID = serviceID + function; - Config cfg = Config.Instance; - - string serviceType = null; - if ( cfg.EnableGateway - && sm_GatewayServiceTypes.TryGetValue( connectorID, out serviceType ) ) - { - connector = new WSConnector(); - connector.UsingGateway = true; - connector.URL = FixupURL( cfg.GatewayURL ) + "/" + serviceType; // + args; - - Dictionary auth = new Dictionary(); - auth["ROBOT_KEY"] = cfg.ProductKey; - auth["MAC_ID"] = "UnitySDK"; - connector.Send( new TextMessage( MiniJSON.Json.Serialize( auth ) ), true ); // just queue, we want to let the user do any fix-ups before we actually try to connect - - return connector; - } - - Config.CredentialInfo cred = cfg.FindCredentials( serviceID ); + Config.CredentialInfo cred = cfg.FindCredentials(serviceID); if (cred == null) { - Log.Error( "Config", "Failed to find BLueMix Credentials for service {0}.", serviceID ); + Log.Error("Config", "Failed to find BLueMix Credentials for service {0}.", serviceID); return null; } connector = new WSConnector(); - connector.UsingGateway = false; - connector.URL = FixupURL( cred.m_URL ) + function + args; - connector.Authentication = new Credentials( cred.m_User, cred.m_Password ); + connector.URL = FixupURL(cred.m_URL) + function + args; + connector.Authentication = new Credentials(cred.m_User, cred.m_Password); return connector; } @@ -232,34 +200,34 @@ public static WSConnector CreateConnector( string serviceID, string function, st /// /// This is either a BinaryMessage or TextMessage object. /// If true, then this function will not signal or start the sending thread. - public void Send(Message msg, bool queue = false ) + public void Send(Message msg, bool queue = false) { #if ENABLE_MESSAGE_DEBUGGING Log.Debug( "WSConnector", "Sending {0} message: {1}", msg is TextMessage ? "TextMessage" : "BinaryMessage", msg is TextMessage ? ((TextMessage)msg).Text : ((BinaryMessage)msg).Data.Length.ToString() + " bytes" ); #endif - lock( m_SendQueue ) + lock (m_SendQueue) { m_SendQueue.Enqueue(msg); - if (! queue ) + if (!queue) m_SendEvent.Set(); } - if (!queue && m_SendThread == null ) + if (!queue && m_SendThread == null) { m_ConnectionState = ConnectionState.CONNECTING; // start an actual thread for working with the WebSocket, otherwise // we'll get errors from deep inside the library code. - m_SendThread = new Thread( SendMessages ); + m_SendThread = new Thread(SendMessages); m_SendThread.Start(); } // Run our receiver as a co-routine so it can invoke functions // on the main thread. - if ( m_ReceiverRoutine == 0 ) - m_ReceiverRoutine = Runnable.Run( ProcessReceiveQueue() ); + if (m_ReceiverRoutine == 0) + m_ReceiverRoutine = Runnable.Run(ProcessReceiveQueue()); } /// @@ -275,18 +243,18 @@ public void Close() #region Private Functions private IEnumerator ProcessReceiveQueue() { - while( m_ConnectionState == ConnectionState.CONNECTED - || m_ConnectionState == ConnectionState.CONNECTING ) + while (m_ConnectionState == ConnectionState.CONNECTED + || m_ConnectionState == ConnectionState.CONNECTING) { yield return null; // check for a signal with a timeout of 0, this it just a quicker way to know if we have messages // without having to lock the m_ReceiveQueue object. - if ( m_ReceiveEvent.WaitOne( 0 ) ) + if (m_ReceiveEvent.WaitOne(0)) { - lock( m_ReceiveQueue ) + lock (m_ReceiveQueue) { - while( m_ReceiveQueue.Count > 0 ) + while (m_ReceiveQueue.Count > 0) { Message msg = m_ReceiveQueue.Dequeue(); #if ENABLE_MESSAGE_DEBUGGING @@ -294,14 +262,14 @@ private IEnumerator ProcessReceiveQueue() msg is TextMessage ? "TextMessage" : "BinaryMessage", msg is TextMessage ? ((TextMessage)msg).Text : ((BinaryMessage)msg).Data.Length.ToString() + " bytes" ); #endif - if ( OnMessage != null ) - OnMessage( msg ); + if (OnMessage != null) + OnMessage(msg); } } } } - if ( OnClose != null ) - OnClose( this ); + if (OnClose != null) + OnClose(this); } #endregion @@ -309,13 +277,14 @@ private IEnumerator ProcessReceiveQueue() // NOTE: ALl functions in this region are operating in a background thread, do NOT call any Unity functions! private void SendMessages() { - try { + try + { WebSocket ws = null; ws = new WebSocket(URL); - if ( Headers != null ) + if (Headers != null) ws.Headers = Headers; - if ( Authentication != null ) + if (Authentication != null) ws.SetCredentials(Authentication.User, Authentication.Password, true); ws.OnOpen += OnWSOpen; ws.OnClose += OnWSClose; @@ -325,30 +294,30 @@ private void SendMessages() while (m_ConnectionState == ConnectionState.CONNECTED) { - m_SendEvent.WaitOne( 500 ); + m_SendEvent.WaitOne(500); Message msg = null; - lock( m_SendQueue ) + lock (m_SendQueue) { if (m_SendQueue.Count > 0) msg = m_SendQueue.Dequeue(); } - if (msg == null ) + if (msg == null) continue; - if ( msg is TextMessage ) - ws.Send( ((TextMessage)msg).Text ); - else if ( msg is BinaryMessage ) - ws.Send( ((BinaryMessage)msg).Data ); + if (msg is TextMessage) + ws.Send(((TextMessage)msg).Text); + else if (msg is BinaryMessage) + ws.Send(((BinaryMessage)msg).Data); } ws.Close(); } - catch( System.Exception e ) + catch (System.Exception e) { m_ConnectionState = ConnectionState.DISCONNECTED; - Log.Error( "WSConnector", "Caught WebSocket exception: {0}", e.ToString() ); + Log.Error("WSConnector", "Caught WebSocket exception: {0}", e.ToString()); } } @@ -365,13 +334,13 @@ private void OnWSClose(object sender, CloseEventArgs e) private void OnWSMessage(object sender, MessageEventArgs e) { Message msg = null; - if ( e.Type == Opcode.Text ) - msg = new TextMessage( e.Data ); - else if ( e.Type == Opcode.Binary ) - msg = new BinaryMessage( e.RawData ); + if (e.Type == Opcode.Text) + msg = new TextMessage(e.Data); + else if (e.Type == Opcode.Binary) + msg = new BinaryMessage(e.RawData); - lock( m_ReceiveQueue ) - m_ReceiveQueue.Enqueue( msg ); + lock (m_ReceiveQueue) + m_ReceiveQueue.Enqueue(msg); m_ReceiveEvent.Set(); } diff --git a/Scripts/Data.meta b/Scripts/Data.meta deleted file mode 100644 index 88c3be5a6..000000000 --- a/Scripts/Data.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 3963c9815b8d5a445b3a3144d98475a1 -folderAsset: yes -timeCreated: 1445978738 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Scripts/Data/DataModels.cs b/Scripts/Data/DataModels.cs deleted file mode 100644 index 22299602e..000000000 --- a/Scripts/Data/DataModels.cs +++ /dev/null @@ -1,480 +0,0 @@ -/** -* Copyright 2015 IBM Corp. All Rights Reserved. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - - -using System; -using FullSerializer; - -namespace IBM.Watson.DeveloperCloud.DataModels -{ - #region Dialog Models - /// - /// This data class is contained by Dialogs, it represents a single dialog available. - /// - [fsObject] - public class DialogEntry - { - /// - /// The dialog ID. - /// - public string dialog_id { get; set; } - /// - /// The user supplied name for the dialog. - /// - public string name { get; set; } - }; - /// - /// The object returned by GetDialogs(). - /// - [fsObject] - public class Dialogs - { - /// - /// The array of Dialog's available. - /// - public DialogEntry[] dialogs { get; set; } - }; - /// - /// This data class holds the response to a call to Converse(). - /// - [fsObject] - public class ConverseResponse - { - /// - /// An array of response strings. - /// - public string[] response { get; set; } - /// - /// The text input passed into Converse(). - /// - public string input { get; set; } - /// - /// The conversation ID to use in future calls to Converse(). - /// - public int conversation_id { get; set; } - /// - /// The confidence in this response. - /// - public double confidence { get; set; } - /// - /// The client ID of the user. - /// - public int client_id { get; set; } - }; - #endregion - - #region Translation Models - /// - /// Language data class. - /// - [fsObject] - public class Language - { - /// - /// String that contains the country code. - /// - public string language { get; set; } // country code of the language - /// - /// The language name. - /// - public string name { get; set; } // name of the language - } - /// - /// Languages data class. - /// - [fsObject] - public class Languages - { - /// - /// Array of language objects. - /// - public Language[] languages { get; set; } - } - /// - /// Translation data class. - /// - [fsObject] - public class Translation - { - /// - /// Translation text. - /// - public string translation { get; set; } - }; - /// - /// Translate data class returned by the TranslateCallback. - /// - [fsObject] - public class Translations - { - /// - /// Number of words in the translation. - /// - public long word_count { get; set; } - /// - /// Number of characters in the translation. - /// - public long character_count { get; set; } - /// - /// A array of translations. - /// - public Translation[] translations { get; set; } - } - /// - /// Language model data class. - /// - [fsObject] - public class TranslationModel - { - /// - /// The language model ID. - /// - public string model_id { get; set; } - /// - /// The name of the language model. - /// - public string name { get; set; } - /// - /// The source language ID. - /// - public string source { get; set; } - /// - /// The target language ID. - /// - public string target { get; set; } - /// - /// The model of which this model was based. - /// - public string base_model_id { get; set; } - /// - /// The domain of the language model. - /// - public string domain { get; set; } - /// - /// Is this model customizable? - /// - public bool customizable { get; set; } - /// - /// Is this model default. - /// - public bool @default { get; set; } - /// - /// Who is the owner of this model. - /// - public string owner { get; set; } - /// - /// What is the status of this model. - /// - public string status { get; set; } - } - /// - /// Models data class. - /// - [fsObject] - public class TranslationModels - { - /// - /// The array of TranslationModel objects. - /// - public TranslationModel[] models { get; set; } - } - #endregion - - #region NLC Models - /// - /// This data class holds the data for a given classifier returned by GetClassifier(). - /// - [fsObject] - public class Classifier - { - /// - /// The name of the classifier. - /// - public string name { get; set; } - /// - /// The language ID of the classifier (e.g. en) - /// - public string language { get; set; } - /// - /// The URL for the classifier. - /// - public string url { get; set; } - /// - /// The classifier ID. - /// - public string classifier_id { get; set; } - /// - /// When was this classifier created. - /// - public string created { get; set; } - /// - /// Whats the current status of this classifier. - /// - public string status { get; set; } - /// - /// A description of the classifier status. - /// - public string status_description { get; set; } - }; - /// - /// This data class wraps an array of Classifiers. - /// - [fsObject] - public class Classifiers - { - /// - /// An array of classifiers. - /// - public Classifier[] classifiers { get; set; } - }; - /// - /// A class returned by the ClassifyResult object. - /// - [fsObject] - public class Class - { - /// - /// The confidence in this class. - /// - public double confidence { get; set; } - /// - /// The name of the class. - /// - public string class_name { get; set; } - }; - /// - /// This result object is returned by the Classify() method. - /// - [fsObject] - public class ClassifyResult - { - /// - /// The ID of the classifier used. - /// - public string classifier_id { get; set; } - /// - /// The URL of the classifier. - /// - public string url { get; set; } - /// - /// The input text into the classifier. - /// - public string text { get; set; } - /// - /// The top class found for the text. - /// - public string top_class { get; set; } - /// - /// A array of all classifications for the input text. - /// - public Class[] classes { get; set; } - - /// - /// Helper function to return the top confidence value of all the returned classes. - /// - public double topConfidence - { - get - { - double fTop = 0.0; - if (classes != null) - { - foreach (var c in classes) - fTop = Math.Max(c.confidence, fTop); - } - return fTop; - } - } - }; - #endregion - - #region TextToSpeech Models - /// - /// A voice model object for TextToSpeech. - /// - [fsObject] - public class Voice - { - /// - /// The name of the voice model. - /// - public string name { get; set; } - /// - /// The language ID of this voice model. - /// - public string language { get; set; } - /// - /// The gender of the voice model. - /// - public string gender { get; set; } - /// - /// The URL of the voice model. - /// - public string url { get; set; } - }; - - /// - /// This object contains a list of voices. - /// - [fsObject] - public class Voices - { - /// - /// The array of Voice objects. - /// - public Voice [] voices { get; set; } - }; - #endregion - - #region SpeechToText Models - /// - /// This data class holds the data for a given speech model. - /// - [fsObject] - public class SpeechModel - { - /// - /// The name of the speech model. - /// - public string Name { get; set; } - /// - /// The optimal sample rate for this model. - /// - public long Rate { get; set; } - /// - /// The language ID for this model. (e.g. en) - /// - public string Language { get; set; } - /// - /// A description for this model. - /// - public string Description { get; set; } - /// - /// The URL for this model. - /// - public string URL { get; set; } - }; - /// - /// This data class holds the confidence value for a given recognized word. - /// - [fsObject] - public class WordConfidence - { - /// - /// The word as a string. - /// - public string Word { get; set; } - /// - /// The confidence value for this word. - /// - public double Confidence { get; set; } - }; - /// - /// This data class holds the start and stop times for a word. - /// - [fsObject] - public class TimeStamp - { - /// - /// The word. - /// - public string Word { get; set; } - /// - /// The start time. - /// - public double Start { get; set; } - /// - /// The stop time. - /// - public double End { get; set; } - }; - /// - /// This data class holds the actual transcript for the text generated from speech audio data. - /// - [fsObject] - public class SpeechAlt - { - /// - /// The transcript of what was understood. - /// - public string Transcript { get; set; } - /// - /// The confidence in this transcript of the audio data. - /// - public double Confidence { get; set; } - /// - /// A optional array of timestamps objects. - /// - public TimeStamp[] Timestamps { get; set; } - /// - /// A option array of word confidence values. - /// - public WordConfidence[] WordConfidence { get; set; } - }; - /// - /// A Result object that is returned by the Recognize() method. - /// - [fsObject] - public class SpeechResult - { - /// - /// If true, then this is the final result and no more results will be sent for the given audio data. - /// - public bool Final { get; set; } - /// - /// A array of alternatives speech to text results, this is controlled by the MaxAlternatives property. - /// - public SpeechAlt[] Alternatives { get; set; } - }; - /// - /// This data class holds a list of Result objects returned by the Recognize() method. - /// - [fsObject] - public class SpeechResultList - { - /// - /// The array of Result objects. - /// - public SpeechResult[] Results { get; set; } - - /// - public SpeechResultList(SpeechResult[] results) - { - Results = results; - } - - /// - /// Check if our result list has atleast one valid result. - /// - /// Returns true if a result is found. - public bool HasResult() - { - return Results != null && Results.Length > 0 - && Results[0].Alternatives != null && Results[0].Alternatives.Length > 0; - } - - /// - /// Returns true if we have a final result. - /// - /// - public bool HasFinalResult() - { - return HasResult() && Results[0].Final; - } - }; - #endregion -} diff --git a/Scripts/Debug/DebugConsole.cs b/Scripts/Debug/DebugConsole.cs index cdc15ec76..d74062256 100644 --- a/Scripts/Debug/DebugConsole.cs +++ b/Scripts/Debug/DebugConsole.cs @@ -22,6 +22,8 @@ using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; +using IBM.Watson.DeveloperCloud.Widgets; +using System.Collections; namespace IBM.Watson.DeveloperCloud.Debug { @@ -61,9 +63,13 @@ private class DebugInfo private List m_DebugInfos = new List(); [SerializeField] - private bool m_Active = false; + private bool m_ActiveOutput = false; + [SerializeField] + private bool m_ActiveInput = false; [SerializeField, Tooltip("The root of the debug console, this is what is hidden or displayed to show the console when active.")] - private GameObject m_Root = null; + private GameObject m_RootOutput = null; + [SerializeField] + private GameObject m_RootInput = null; [SerializeField] private LayoutGroup m_MessageLayout = null; [SerializeField] @@ -74,6 +80,8 @@ private class DebugInfo private LayoutGroup m_DebugInfoLayout = null; [SerializeField] private Text m_DebugInfoPrefab = null; + + private MicrophoneWidget m_MicWidget = null; #endregion #region Public Properties @@ -82,16 +90,33 @@ private class DebugInfo /// public static DebugConsole Instance { get; private set; } /// - /// Returns true if this console is being displayed. + /// Returns true if this debug console output is being displayed. /// - public bool Active { get { return m_Active; } - set { - if ( m_Active != value ) + public bool ActiveOutput + { + get { return m_ActiveOutput; } + set + { + if (m_ActiveOutput != value) { - m_Active = value; - m_Root.SetActive( m_Active ); - if ( m_Active ) - m_CommandInput.gameObject.SetActive( false ); + m_ActiveOutput = value; + m_RootOutput.SetActive(m_ActiveOutput); + } + } + } + + /// + /// Returns true if this debug input field is being displayed. + /// + public bool ActiveInput + { + get { return m_ActiveInput; } + set + { + if (m_ActiveInput != value) + { + m_ActiveInput = value; + m_RootInput.SetActive(m_ActiveInput); } } } @@ -102,21 +127,21 @@ private class DebugInfo /// /// The label to display next to the string returned by the callback. /// A callback function to invoke that should return a string to display in the debug console. - public void RegisterDebugInfo( string label, GetDebugInfo callback ) + public void RegisterDebugInfo(string label, GetDebugInfo callback) { - if ( string.IsNullOrEmpty( label ) ) - throw new ArgumentNullException( "label" ); - if ( callback == null ) - throw new ArgumentNullException( "callback" ); + if (string.IsNullOrEmpty(label)) + throw new ArgumentNullException("label"); + if (callback == null) + throw new ArgumentNullException("callback"); DebugInfo info = new DebugInfo(); info.m_Label = label; info.m_Callback = callback; - info.m_InfoObject = Instantiate( m_DebugInfoPrefab.gameObject ) as GameObject; - info.m_TextOutput = info.m_InfoObject.GetComponentInChildren(); - m_DebugInfos.Add( info ); + info.m_InfoObject = Instantiate(m_DebugInfoPrefab.gameObject) as GameObject; + info.m_TextOutput = info.m_InfoObject.GetComponentInChildren(); + m_DebugInfos.Add(info); - info.m_InfoObject.transform.SetParent( m_DebugInfoLayout.transform, false ); + info.m_InfoObject.transform.SetParent(m_DebugInfoLayout.transform, false); } /// @@ -125,19 +150,19 @@ public void RegisterDebugInfo( string label, GetDebugInfo callback ) /// The label to unregister. /// The callback to unregister. If null, then the callback will be matched by label only. /// Returns true if the callback was unregistered. - public bool UnregisterDebugInfo( string label, GetDebugInfo callback = null ) + public bool UnregisterDebugInfo(string label, GetDebugInfo callback = null) { - if ( string.IsNullOrEmpty( label ) ) - throw new ArgumentNullException( "label" ); - for(int i=0;i(); } - else - m_Root.SetActive( m_Active ); } private void OnEnable() { - EventManager.Instance.RegisterEventReceiver(Constants.Event.ON_DEBUG_MESSAGE, OnDebugMessage); - EventManager.Instance.RegisterEventReceiver(Constants.Event.ON_DEBUG_TOGGLE, OnToggleActive); - EventManager.Instance.RegisterEventReceiver(Constants.Event.ON_DEBUG_BEGIN_COMMAND, OnBeginEdit); + EventManager.Instance.RegisterEventReceiver("OnDebugMessage", OnDebugMessage); + + EventManager.Instance.RegisterEventReceiver("OnDebugToggle", OnToggleActive); + EventManager.Instance.RegisterEventReceiver("OnKeyboardBackquote", OnToggleActive); + + EventManager.Instance.RegisterEventReceiver("OnDebugBeginCommand", OnBeginEdit); + EventManager.Instance.RegisterEventReceiver("OnKeyboardReturn", OnBeginEdit); } private void OnDisable() { - EventManager.Instance.UnregisterEventReceiver(Constants.Event.ON_DEBUG_MESSAGE, OnDebugMessage); - EventManager.Instance.UnregisterEventReceiver(Constants.Event.ON_DEBUG_TOGGLE, OnToggleActive); - EventManager.Instance.UnregisterEventReceiver(Constants.Event.ON_DEBUG_BEGIN_COMMAND, OnBeginEdit); + EventManager.Instance.UnregisterEventReceiver("OnDebugMessage", OnDebugMessage); + + EventManager.Instance.UnregisterEventReceiver("OnDebugToggle", OnToggleActive); + EventManager.Instance.UnregisterEventReceiver("OnKeyboardBackquote", OnToggleActive); + + EventManager.Instance.UnregisterEventReceiver("OnDebugBeginCommand", OnBeginEdit); + EventManager.Instance.UnregisterEventReceiver("OnKeyboardReturn", OnBeginEdit); } private void Update() { - if ( Active ) + if (ActiveOutput) { - for(int i=0;i 0 ) + if (args != null && args.Length > 0) { - if ( args[0] is string ) + if (args[0] is string) { - GameObject messageObject = Instantiate( m_MessagePrefab.gameObject ) as GameObject; - messageObject.GetComponent().text = Utility.RemoveTags( (string)args[0] ); - messageObject.transform.SetParent( m_MessageLayout.transform, false ); + GameObject messageObject = Instantiate(m_MessagePrefab.gameObject) as GameObject; + messageObject.GetComponent().text = Utility.RemoveTags((string)args[0]); + messageObject.transform.SetParent(m_MessageLayout.transform, false); } } } - private void OnToggleActive( object [] args ) + private void OnToggleActive(object[] args) { - Active = !Active; + ActiveOutput = !ActiveOutput; + EventManager.Instance.SendEvent("OnDebugToggleFinish"); } - private void OnBeginEdit( object [] args ) + private void OnBeginEdit(object[] args) { - if (! Active ) - Active = true; - - if ( m_CommandInput != null ) + if (m_CommandInput != null) { - m_CommandInput.gameObject.SetActive( true ); + ActiveInput = true; + m_CommandInput.gameObject.SetActive(true); m_CommandInput.ActivateInputField(); // turn off all key press events.. KeyEventManager.Instance.Active = false; + + // turn off mic + if (m_MicWidget != null) + m_MicWidget.Active = false; + + // timer to turn mic back on + StartCoroutine(ActivateMicAfterTime(10f)); } } @@ -233,16 +278,28 @@ private void OnBeginEdit( object [] args ) /// public void OnEndEdit() { - if ( m_CommandInput != null ) + if (m_CommandInput != null) { - EventManager.Instance.SendEvent( Constants.Event.ON_DEBUG_COMMAND, m_CommandInput.text ); + EventManager.Instance.SendEvent("OnDebugCommand", m_CommandInput.text); m_CommandInput.text = string.Empty; - m_CommandInput.gameObject.SetActive( false ); // hide the input - + m_CommandInput.gameObject.SetActive(false); // hide the input + ActiveInput = false; + // restore the key manager state KeyEventManager.Instance.Active = true; + + // turn on mic + if (m_MicWidget != null) + m_MicWidget.Active = true; } } + + private IEnumerator ActivateMicAfterTime(float time) + { + yield return new WaitForSeconds(time); + if (m_MicWidget != null) + m_MicWidget.Active = true; + } #endregion } } diff --git a/Scripts/Debug/DebugReactor.cs b/Scripts/Debug/DebugReactor.cs index 0523233cf..edd9fb59b 100644 --- a/Scripts/Debug/DebugReactor.cs +++ b/Scripts/Debug/DebugReactor.cs @@ -52,19 +52,22 @@ public void ProcessLog(LogRecord log) { if (log.m_Level >= Level) { - string logString = string.Format("[{0}][{1}][{2}] {3}", - log.m_TimeStamp.ToString("MM/dd/yyyy HH:mm:ss"), - log.m_SubSystem, log.m_Level.ToString(), log.m_Message); + string logString = string.Format("[{0}][{1}][{2}] {3}", + log.m_TimeStamp.ToString("MM/dd/yyyy HH:mm:ss"), + log.m_SubSystem, log.m_Level.ToString(), log.m_Message); - if(log.m_Level == LogLevel.ERROR || log.m_Level == LogLevel.CRITICAL){ - UnityEngine.Debug.LogError(logString); - } - else if(log.m_Level == LogLevel.WARNING){ - UnityEngine.Debug.LogWarning(logString); - } - else{ - UnityEngine.Debug.Log(logString); - } + if (log.m_Level == LogLevel.ERROR || log.m_Level == LogLevel.CRITICAL) + { + UnityEngine.Debug.LogError(logString); + } + else if (log.m_Level == LogLevel.WARNING) + { + UnityEngine.Debug.LogWarning(logString); + } + else + { + UnityEngine.Debug.Log(logString); + } } } #endregion diff --git a/Scripts/Camera/QualityManager.cs b/Scripts/Debug/QualityManager.cs similarity index 77% rename from Scripts/Camera/QualityManager.cs rename to Scripts/Debug/QualityManager.cs index 12e47511c..a0c20da8a 100644 --- a/Scripts/Camera/QualityManager.cs +++ b/Scripts/Debug/QualityManager.cs @@ -19,7 +19,7 @@ using IBM.Watson.DeveloperCloud.Utilities; using IBM.Watson.DeveloperCloud.Debug; -namespace IBM.Watson.DeveloperCloud.Camera +namespace IBM.Watson.DeveloperCloud.Debug { /// /// This singleton manages the quality level of all rendering in the application. @@ -33,20 +33,20 @@ public class QualityManager : MonoBehaviour void Start() { - //KeyEventManager.Instance.RegisterKeyEvent(Constants.KeyCodes.CHANGE_QUALITY, KeyModifiers.NONE, OnNextQualityLevel ); - DebugConsole.Instance.RegisterDebugInfo( "QUALITY", OnQualityDebugInfo ); + //KeyEventManager.Instance.RegisterKeyEvent(Constants.KeyCodes.CHANGE_QUALITY, KeyModifiers.NONE, OnNextQualityLevel ); + DebugConsole.Instance.RegisterDebugInfo("QUALITY", OnQualityDebugInfo); } - + /// /// Event handler to move to the next quality level. /// public void OnNextQualityLevel() { - QualitySettings.SetQualityLevel( (QualitySettings.GetQualityLevel() + 1) % QualitySettings.names.Length, true ); + QualitySettings.SetQualityLevel((QualitySettings.GetQualityLevel() + 1) % QualitySettings.names.Length, true); } private string OnQualityDebugInfo() { - return QualitySettings.names[ QualitySettings.GetQualityLevel() ]; + return QualitySettings.names[QualitySettings.GetQualityLevel()]; } } } diff --git a/Scripts/Camera/QualityManager.cs.meta b/Scripts/Debug/QualityManager.cs.meta similarity index 100% rename from Scripts/Camera/QualityManager.cs.meta rename to Scripts/Debug/QualityManager.cs.meta diff --git a/Scripts/Editor/Build.cs b/Scripts/Editor/Build.cs index 4548f9de0..097588259 100644 --- a/Scripts/Editor/Build.cs +++ b/Scripts/Editor/Build.cs @@ -30,17 +30,20 @@ public class Build public static string BuildError { get; set; } #region Build Options - public static bool IsBuilding { + public static bool IsBuilding + { get { return EditorPrefs.GetInt("IsBuilding") != 0; } - set { EditorPrefs.SetInt( "IsBuilding", value ? 1 : 0 ); } + set { EditorPrefs.SetInt("IsBuilding", value ? 1 : 0); } } - public static BuildTarget BuildTarget { + public static BuildTarget BuildTarget + { get { return (BuildTarget)EditorPrefs.GetInt("BuildTarget"); } - set { EditorPrefs.SetInt( "BuildTarget", (int)value ); } + set { EditorPrefs.SetInt("BuildTarget", (int)value); } } - public static BuildOptions BuildOptions { + public static BuildOptions BuildOptions + { get { return (BuildOptions)EditorPrefs.GetInt("BuildOptions"); } - set { EditorPrefs.SetInt( "BuildOptions", (int)value ); } + set { EditorPrefs.SetInt("BuildOptions", (int)value); } } #endregion @@ -48,10 +51,10 @@ public static BuildOptions BuildOptions { private static void OnScriptsReloaded() { // start back up our build co-routine on script reloads.. - if ( IsBuilding ) + if (IsBuilding) { Runnable.EnableRunnableInEditor(); - Runnable.Run( ExecuteBuild() ); + Runnable.Run(ExecuteBuild()); } } @@ -68,97 +71,110 @@ private static string[] GetBuildScenes() return scenes.ToArray(); } - private static string GetBuildPath( BuildTarget target ) + /// + /// Get the build path for the specified target. + /// + /// The BuildTarget. + /// The full path to the build. + public static string GetBuildPath(BuildTarget target, bool bCleanTarget = false) { - string projectName = Path.GetFileNameWithoutExtension( Application.productName ); - if ( target == BuildTarget.StandaloneWindows || target == BuildTarget.StandaloneWindows64 ) + string projectName = Path.GetFileNameWithoutExtension(Application.productName); + if (target == BuildTarget.StandaloneWindows || target == BuildTarget.StandaloneWindows64) projectName += ".exe"; - else if ( target == BuildTarget.StandaloneOSXIntel || target == BuildTarget.StandaloneOSXIntel64 || target == BuildTarget.StandaloneOSXUniversal ) + else if (target == BuildTarget.StandaloneOSXIntel || target == BuildTarget.StandaloneOSXIntel64 || target == BuildTarget.StandaloneOSXUniversal) projectName += ".app"; - else if ( target == BuildTarget.Android ) + else if (target == BuildTarget.Android) projectName += ".apk"; + else if (target == BuildTarget.iOS) + projectName += ".ipa"; string directory = Application.dataPath + "/../Clients/" + target.ToString(); - if ( Directory.Exists( directory ) ) - Directory.Delete( directory, true ); + if (bCleanTarget && Directory.Exists(directory)) + Directory.Delete(directory, true); - Directory.CreateDirectory( directory ); + Directory.CreateDirectory(directory); return directory + "/" + projectName; } - private static void StartBuild( BuildTarget target ) + public static int StartBuild(BuildTarget target) { - if (! IsBuilding ) + if (!IsBuilding) { IsBuilding = true; BuildTarget = target; Runnable.EnableRunnableInEditor(); - Runnable.Run( ExecuteBuild() ); + return Runnable.Run(ExecuteBuild()); } + + return -1; } private static IEnumerator ExecuteBuild() { yield return null; - /// generate the AOT code, wait for it to be compiled.. - FullSerializer.AotHelpers.BuildAOT(); - while( EditorApplication.isCompiling ) - yield return null; + if (BuildTarget == BuildTarget.iOS) + { + /// generate the AOT code, wait for it to be compiled.. + FullSerializer.AotHelpers.BuildAOT(); + while (EditorApplication.isCompiling) + yield return null; + } - string [] buildScenes = GetBuildScenes(); - string buildPath = GetBuildPath( BuildTarget ); + string[] buildScenes = GetBuildScenes(); + string buildPath = GetBuildPath(BuildTarget, true); BuildError = string.Empty; - try { - BuildError = BuildPipeline.BuildPlayer( buildScenes, buildPath, BuildTarget, BuildOptions ); + try + { + BuildError = BuildPipeline.BuildPlayer(buildScenes, buildPath, BuildTarget, BuildOptions); } - catch( Exception e ) + catch (Exception e) { BuildError = e.ToString(); } - FullSerializer.AotHelpers.CleanAOT(); - IsBuilding = false; + if (BuildTarget == BuildTarget.iOS) + FullSerializer.AotHelpers.CleanAOT(); + IsBuilding = false; // if BuildPlayer returned no error, but we can't find the file, flag this build as a failure then.. - if (string.IsNullOrEmpty( BuildError) && !File.Exists( buildPath ) && !Directory.Exists( buildPath ) ) + if (string.IsNullOrEmpty(BuildError) && !File.Exists(buildPath) && !Directory.Exists(buildPath)) BuildError = "Failed to build player: " + buildPath; // check the command line arguments, if we find -executeMethod Build.* then quit this editor.. - string [] args = Environment.GetCommandLineArgs(); - for(int i=0;i addKeyReq = new Dictionary(); - addKeyReq["robotKey"] = cfg.ProductKey; - addKeyReq["groupName"] = Application.productName; - addKeyReq["deviceLimit"] = "9999"; - - Dictionary headers = new Dictionary(); - headers["Authorization"] = new Credentials(m_GatewayUser, m_GatewayPassword).CreateAuthorization(); - headers["Content-Type"] = "application/json"; - - byte[] data = Encoding.UTF8.GetBytes(MiniJSON.Json.Serialize(addKeyReq)); - WWW www = new WWW(cfg.GatewayURL + "/v1/admin/addKey", data, headers); - while (!www.isDone) ; - - if (!string.IsNullOrEmpty(www.error)) - Log.Warning("ConfigEditor", "Register App Error: {0}", www.error); - - bool bRegistered = false; - if (!string.IsNullOrEmpty(www.text)) - { - IDictionary json = MiniJSON.Json.Deserialize(www.text) as IDictionary; - if ( json != null && json.Contains("status")) - bRegistered = (long)json["status"] != 0; - else - Log.Error( "ConfigEditor", "Invalid response from gateway: {0}", www.text ); - } - - if (bRegistered) - { - Dictionary registerReq = new Dictionary(); - registerReq["robotKey"] = cfg.ProductKey; - registerReq["robotName"] = Application.productName; - registerReq["macId"] = "UnitySDK"; - - data = Encoding.UTF8.GetBytes(MiniJSON.Json.Serialize(registerReq)); - www = new WWW(cfg.GatewayURL + "/v1/admin/addRobot", data, headers); - while (!www.isDone) ; - - if (!string.IsNullOrEmpty(www.error)) - Log.Warning("ConfigEditor", "Register Secret Error: {0}", www.error); - - bRegistered = false; - if (!string.IsNullOrEmpty(www.text)) - { - IDictionary json = MiniJSON.Json.Deserialize(www.text) as IDictionary; - if (json.Contains("status")) - bRegistered = (long)json["status"] != 0; - } - } - - if (!bRegistered) - { - Config.Instance.ProductKey = string.Empty; - EditorUtility.DisplayDialog("Error", "Failed to register product with gateway.", "OK"); - } - } - - EditorGUI.indentLevel -= 1; - } -#endif - EditorGUILayout.LabelField("BlueMix Credentials"); EditorGUI.indentLevel += 1; for (int i = 0; i < cfg.Credentials.Count; ++i) @@ -399,7 +313,7 @@ private void OnGUI() GUILayout.BeginHorizontal(); info.m_ServiceID = EditorGUILayout.TextField("ServiceID", info.m_ServiceID); - if ( m_ServiceStatus.ContainsKey( info.m_ServiceID ) ) + if ( !string.IsNullOrEmpty(info.m_ServiceID) && m_ServiceStatus.ContainsKey( info.m_ServiceID ) ) { if ( m_ServiceStatus[info.m_ServiceID] ) GUILayout.Label( m_StatusUp, GUILayout.Width( 20 ) ); diff --git a/Scripts/Editor/DialogEditor.cs b/Scripts/Editor/DialogEditor.cs index 5032d996b..fa66d33b9 100644 --- a/Scripts/Editor/DialogEditor.cs +++ b/Scripts/Editor/DialogEditor.cs @@ -18,11 +18,10 @@ #if UNITY_EDITOR using IBM.Watson.DeveloperCloud.Utilities; -using IBM.Watson.DeveloperCloud.Services.v1; +using IBM.Watson.DeveloperCloud.Services.Dialog.v1; using UnityEditor; using UnityEngine; using System.IO; -using IBM.Watson.DeveloperCloud.DataModels; using IBM.Watson.DeveloperCloud.Logging; namespace IBM.Watson.DeveloperCloud.Editor @@ -40,11 +39,11 @@ private void OnEnable() Runnable.EnableRunnableInEditor(); } - [MenuItem("Watson/Dialog Editor", false, 1 )] + [MenuItem("Watson/Dialog Editor", false, 1)] private static void EditConfig() { DialogEditor window = GetWindow(); - window.Show( true ); + window.Show(true); } private Texture m_WatsonIcon = null; @@ -55,42 +54,42 @@ private static void EditConfig() private bool m_Refreshing = false; private string m_CurrentDirectory = Application.dataPath; - private void OnGetDialogs(Dialogs dialogs ) + private void OnGetDialogs(Dialogs dialogs) { m_Dialogs = dialogs; m_Refreshing = false; } - private void OnDeleteDialog( bool success ) + private void OnDeleteDialog(bool success) { - if (! success ) - Log.Error( "DialogEditor", "Failed to delete dialog." ); + if (!success) + Log.Error("DialogEditor", "Failed to delete dialog."); else OnRefresh(); } - private void OnDownloadDialog( bool success ) + private void OnDownloadDialog(bool success) { - if (! success ) - Log.Error( "DialogEditor", "Failed to download dialog." ); + if (!success) + Log.Error("DialogEditor", "Failed to download dialog."); else - Log.Status( "DialogEditor", "Dialog downloaded." ); + Log.Status("DialogEditor", "Dialog downloaded."); } - private void OnUploadDialog( string dialogId ) + private void OnUploadDialog(string dialogId) { - if ( string.IsNullOrEmpty( dialogId ) ) - Log.Error( "DialogEditor", "Failed to train classifier." ); + if (string.IsNullOrEmpty(dialogId)) + Log.Error("DialogEditor", "Failed to upload dialog."); else OnRefresh(); } private void OnRefresh() { - if (! m_Refreshing ) + if (!m_Refreshing) { - if (!m_Dialog.GetDialogs( OnGetDialogs ) ) - Log.Error( "DialogEditor", "Failed to request dialogs." ); + if (!m_Dialog.GetDialogs(OnGetDialogs)) + Log.Error("DialogEditor", "Failed to request dialogs."); else m_Refreshing = true; } @@ -102,10 +101,10 @@ private void OnGUI() m_ScrollPos = EditorGUILayout.BeginScrollView(m_ScrollPos); - if ( m_Refreshing ) + if (m_Refreshing) { EditorGUI.BeginDisabledGroup(true); - GUILayout.Button( "Refreshing..." ); + GUILayout.Button("Refreshing..."); EditorGUI.EndDisabledGroup(); } else if (m_Dialogs == null || GUILayout.Button("Refresh")) @@ -123,20 +122,20 @@ private void OnGUI() EditorGUILayout.BeginHorizontal(); DialogEntry d = m_Dialogs.dialogs[i]; - EditorGUILayout.LabelField( string.Format( "Name: {0}, ID: {1}", d.name, d.dialog_id ) ); + EditorGUILayout.LabelField(string.Format("Name: {0}, ID: {1}", d.name, d.dialog_id)); if (GUILayout.Button("Delete")) { - if ( EditorUtility.DisplayDialog( "Confirm", string.Format("Confirm delete of dialog {0}", d.dialog_id), "YES", "NO" ) ) - m_Dialog.DeleteDialog( d.dialog_id, OnDeleteDialog ); + if (EditorUtility.DisplayDialog("Confirm", string.Format("Confirm delete of dialog {0}", d.dialog_id), "YES", "NO")) + m_Dialog.DeleteDialog(d.dialog_id, OnDeleteDialog); } if (GUILayout.Button("Download")) { - var path = EditorUtility.SaveFilePanel( "Save Dialog", m_CurrentDirectory, "Dialog", "xml" ); - if (! string.IsNullOrEmpty( path ) ) + var path = EditorUtility.SaveFilePanel("Save Dialog", m_CurrentDirectory, "Dialog", "xml"); + if (!string.IsNullOrEmpty(path)) { - m_CurrentDirectory = Path.GetDirectoryName( path ); - m_Dialog.DownloadDialog( d.dialog_id, path, OnDownloadDialog ); + m_CurrentDirectory = Path.GetDirectoryName(path); + m_Dialog.DownloadDialog(d.dialog_id, path, OnDownloadDialog); } } @@ -147,21 +146,21 @@ private void OnGUI() EditorGUILayout.EndVertical(); EditorGUI.indentLevel -= 1; - EditorGUILayout.LabelField("Upload Dialog:" ); + EditorGUILayout.LabelField("Upload Dialog:"); EditorGUI.indentLevel += 1; - m_NewDialogName = EditorGUILayout.TextField("Name", m_NewDialogName ); - if ( GUILayout.Button( "Upload" ) ) + m_NewDialogName = EditorGUILayout.TextField("Name", m_NewDialogName); + if (GUILayout.Button("Upload")) { - var path = EditorUtility.OpenFilePanel( "Select Dialog File", m_CurrentDirectory, "xml" ); - if (! string.IsNullOrEmpty( path ) ) + var path = EditorUtility.OpenFilePanel("Select Dialog File", m_CurrentDirectory, "xml"); + if (!string.IsNullOrEmpty(path)) { - m_CurrentDirectory = Path.GetDirectoryName( path ); - if ( string.IsNullOrEmpty( m_NewDialogName ) ) - m_NewDialogName = Path.GetFileNameWithoutExtension( path ); + m_CurrentDirectory = Path.GetDirectoryName(path); + if (string.IsNullOrEmpty(m_NewDialogName)) + m_NewDialogName = Path.GetFileNameWithoutExtension(path); - if (! m_Dialog.UploadDialog( m_NewDialogName, OnUploadDialog, path ) ) - Log.Error( "DialogEditor", "Failed to upload dialog." ); + if (!m_Dialog.UploadDialog(m_NewDialogName, OnUploadDialog, path)) + Log.Error("DialogEditor", "Failed to upload dialog."); } m_NewDialogName = null; diff --git a/Scripts/Editor/DrawerHelper.cs b/Scripts/Editor/DrawerHelper.cs index d10b5053a..9be6d8524 100644 --- a/Scripts/Editor/DrawerHelper.cs +++ b/Scripts/Editor/DrawerHelper.cs @@ -43,7 +43,7 @@ public static object GetValue(object source, string name) public static object GetValue(object source, string name, int index) { var enumerable = GetValue(source, name) as IList; - if ( enumerable.Count <= index ) + if (enumerable.Count <= index) return null; return enumerable[index]; diff --git a/Scripts/Editor/NLCEditor.cs b/Scripts/Editor/NaturalLanguageClassifierEditor.cs similarity index 73% rename from Scripts/Editor/NLCEditor.cs rename to Scripts/Editor/NaturalLanguageClassifierEditor.cs index d174dbd82..c5ed96c4d 100644 --- a/Scripts/Editor/NLCEditor.cs +++ b/Scripts/Editor/NaturalLanguageClassifierEditor.cs @@ -18,8 +18,7 @@ #if UNITY_EDITOR using IBM.Watson.DeveloperCloud.Utilities; -using IBM.Watson.DeveloperCloud.Services.v1; -using IBM.Watson.DeveloperCloud.DataModels; +using IBM.Watson.DeveloperCloud.Services.NaturalLanguageClassifier.v1; using IBM.Watson.DeveloperCloud.Logging; using UnityEditor; using UnityEngine; @@ -32,12 +31,8 @@ namespace IBM.Watson.DeveloperCloud.Editor { - class NLCEditor : EditorWindow + class NaturalLanguageClassifierEditor : EditorWindow { - #region Constants - private const string CLASSIFIERS_DIRECTORY = "/Classifiers"; - #endregion - #region Private Types private class ClassifierData { @@ -122,7 +117,7 @@ public bool Load(string filename) } catch (Exception e) { - Log.Error("NLCEditor", "Failed to load classifier data {1}: {0}", e.ToString(), filename); + Log.Error("NaturalLanguageClassifierEditor", "Failed to load classifier data {1}: {0}", e.ToString(), filename); return false; } @@ -135,23 +130,23 @@ public bool Load(string filename) private void OnEnable() { #if UNITY_5 - titleContent.text = "NLC Editor"; + titleContent.text = "Natural Language Classifier Editor"; #endif m_WatsonIcon = (Texture2D)Resources.Load(Constants.Resources.WATSON_ICON, typeof(Texture2D)); Runnable.EnableRunnableInEditor(); } - [MenuItem("Watson/NLC Editor", false, 2)] + [MenuItem("Watson/Natural Language Classifier Editor", false, 2)] private static void EditConfig() { - GetWindow().Show(); + GetWindow().Show(); } private string m_ClassifiersFolder = null; private Texture m_WatsonIcon = null; private Vector2 m_ScrollPos = Vector2.zero; - private NaturalLanguageClassifier m_NLC = new NaturalLanguageClassifier(); + private NaturalLanguageClassifier m_NaturalLanguageClassifier = new NaturalLanguageClassifier(); private Classifiers m_Classifiers = null; private static fsSerializer sm_Serializer = new fsSerializer(); private List m_ClassifierData = null; @@ -165,7 +160,7 @@ private void OnGetClassifiers(Classifiers classifiers) m_Classifiers = classifiers; foreach (var c in m_Classifiers.classifiers) { - m_NLC.GetClassifier(c.classifier_id, OnGetClassifier); + m_NaturalLanguageClassifier.GetClassifier(c.classifier_id, OnGetClassifier); } } @@ -182,7 +177,7 @@ private void OnGetClassifier(Classifier details) private void OnDeleteClassifier(bool success) { if (!success) - Log.Error("NLCTrainer", "Failed to delete classifier."); + Log.Error("Natural Language Classifier Trainer", "Failed to delete classifier."); else OnRefresh(); } @@ -195,16 +190,16 @@ private void OnClassiferTrained(Classifier classifier) OnRefresh(); } - private static string FindDirectory( string check, string name ) + private static string FindDirectory(string check, string name) { - foreach( var d in Directory.GetDirectories( check ) ) + foreach (var d in Directory.GetDirectories(check)) { - string dir = d.Replace( "\\", "/" ); // normalize the slashes - if ( dir.EndsWith( name ) ) + string dir = d.Replace("\\", "/"); // normalize the slashes + if (dir.EndsWith(name)) return d; - string found = FindDirectory( d, name ); - if ( found != null ) + string found = FindDirectory(d, name); + if (found != null) return found; } @@ -215,15 +210,9 @@ private void OnRefresh() { if (!m_Refreshing) { - if ( m_ClassifiersFolder != null && !Directory.Exists(m_ClassifiersFolder) ) - m_ClassifiersFolder = null; - if ( m_ClassifiersFolder == null ) - m_ClassifiersFolder = FindDirectory( Application.dataPath, CLASSIFIERS_DIRECTORY ); - if ( m_ClassifiersFolder == null ) - { - m_ClassifiersFolder = Application.dataPath + "/Watson/Editor" + CLASSIFIERS_DIRECTORY; - Directory.CreateDirectory( m_ClassifiersFolder ); - } + m_ClassifiersFolder = Path.Combine(Application.dataPath, Config.Instance.ClassifierDirectory); + if (!Directory.Exists(m_ClassifiersFolder)) + Directory.CreateDirectory(m_ClassifiersFolder); m_ClassifierData = new List(); foreach (var file in Directory.GetFiles(m_ClassifiersFolder, "*.json")) @@ -233,8 +222,8 @@ private void OnRefresh() m_ClassifierData.Add(data); } - if (!m_NLC.GetClassifiers(OnGetClassifiers)) - Log.Error("NLCTrainer", "Failed to request classifiers, please make sure your NlcV1 service has credentials configured."); + if (!m_NaturalLanguageClassifier.GetClassifiers(OnGetClassifiers)) + Log.Error("Natural Language Classifier Trainer", "Failed to request classifiers, please make sure your NaturalLanguageClassifierV1 service has credentials configured."); else m_Refreshing = true; } @@ -247,7 +236,7 @@ private void OnRefresh() private void OnGUI() { - if ( Event.current.type == EventType.repaint && !m_handleRepaintError ) + if (Event.current.type == EventType.repaint && !m_handleRepaintError) { m_handleRepaintError = true; return; @@ -279,16 +268,17 @@ private void OnGUI() bool expanded = data.Expanded; data.Expanded = EditorGUILayout.Foldout(expanded, data.Name + " [Language: " + data.Language + "]"); - if ( data.Expanded != expanded ) + if (data.Expanded != expanded) data.Save(); - if ( GUILayout.Button( "Import", GUILayout.Width( 100 ) ) ) + if (GUILayout.Button("Import", GUILayout.Width(100))) { var path = EditorUtility.OpenFilePanel("Select Training File", "", "csv"); if (!string.IsNullOrEmpty(path)) { - try { - data.Import( path ); + try + { + data.Import(path); } catch { @@ -296,26 +286,26 @@ private void OnGUI() } } } - if ( GUILayout.Button( "Export", GUILayout.Width( 100 ) ) ) + if (GUILayout.Button("Export", GUILayout.Width(100))) { - var path = EditorUtility.SaveFilePanel( "Export Training file", Application.dataPath, "", "csv" ); - if (! string.IsNullOrEmpty(path) ) - File.WriteAllText( path, data.Export() ); + var path = EditorUtility.SaveFilePanel("Export Training file", Application.dataPath, "", "csv"); + if (!string.IsNullOrEmpty(path)) + File.WriteAllText(path, data.Export()); } - if ( GUILayout.Button( "Save", GUILayout.Width( 100 ) ) ) + if (GUILayout.Button("Save", GUILayout.Width(100))) data.Save(); - if ( GUILayout.Button( "Delete", GUILayout.Width( 100 ) ) ) + if (GUILayout.Button("Delete", GUILayout.Width(100))) { - if ( EditorUtility.DisplayDialog( "Confirm", "Please confirm you want to delete classifier: " + data.Name, "Yes", "No" ) ) + if (EditorUtility.DisplayDialog("Confirm", "Please confirm you want to delete classifier: " + data.Name, "Yes", "No")) deleteClassifier = data; } - if ( GUILayout.Button( "Train", GUILayout.Width( 100 ) ) ) + if (GUILayout.Button("Train", GUILayout.Width(100))) { string classifierName = data.Name + "/" + DateTime.Now.ToString(); - if ( EditorUtility.DisplayDialog( "Confirm", "Please confirm you want to train a new instance: " + classifierName, "Yes", "No" ) ) + if (EditorUtility.DisplayDialog("Confirm", "Please confirm you want to train a new instance: " + classifierName, "Yes", "No")) { - if (!m_NLC.TrainClassifier(classifierName, data.Language, data.Export(), OnClassiferTrained)) + if (!m_NaturalLanguageClassifier.TrainClassifier(classifierName, data.Language, data.Export(), OnClassiferTrained)) EditorUtility.DisplayDialog("Error", "Failed to train classifier.", "OK"); } } @@ -326,11 +316,11 @@ private void OnGUI() EditorGUI.indentLevel += 1; bool instancesExpanded = data.InstancesExpanded; - data.InstancesExpanded = EditorGUILayout.Foldout( instancesExpanded, "Instances" ); - if ( instancesExpanded != data.InstancesExpanded ) + data.InstancesExpanded = EditorGUILayout.Foldout(instancesExpanded, "Instances"); + if (instancesExpanded != data.InstancesExpanded) data.Save(); - if ( instancesExpanded ) + if (instancesExpanded) { EditorGUI.indentLevel += 1; if (m_Classifiers != null) @@ -338,15 +328,15 @@ private void OnGUI() for (int i = 0; i < m_Classifiers.classifiers.Length; ++i) { Classifier cl = m_Classifiers.classifiers[i]; - if (! cl.name.StartsWith( data.Name + "/" ) ) + if (!cl.name.StartsWith(data.Name + "/")) continue; EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Name: " + cl.name); - if (GUILayout.Button("Delete", GUILayout.Width( 100 ) )) + if (GUILayout.Button("Delete", GUILayout.Width(100))) { if (EditorUtility.DisplayDialog("Confirm", string.Format("Confirm delete of classifier {0}", cl.classifier_id), "YES", "NO") - && !m_NLC.DeleteClassifer(cl.classifier_id, OnDeleteClassifier)) + && !m_NaturalLanguageClassifier.DeleteClassifer(cl.classifier_id, OnDeleteClassifier)) { EditorUtility.DisplayDialog("Error", "Failed to delete classifier.", "OK"); } @@ -370,11 +360,11 @@ private void OnGUI() data.DataExpanded = new Dictionary(); bool classesExpanded = data.ClassesExpanded; - data.ClassesExpanded = EditorGUILayout.Foldout( classesExpanded, "Classes" ); - if ( classesExpanded != data.ClassesExpanded ) + data.ClassesExpanded = EditorGUILayout.Foldout(classesExpanded, "Classes"); + if (classesExpanded != data.ClassesExpanded) data.Save(); - if ( classesExpanded ) + if (classesExpanded) { EditorGUI.indentLevel += 1; @@ -383,13 +373,13 @@ private void OnGUI() EditorGUI.BeginDisabledGroup(string.IsNullOrEmpty(m_NewClassName)); GUI.SetNextControlName("AddClass"); - if (GUILayout.Button("Add Class", GUILayout.Width( 100 ) )) + if (GUILayout.Button("Add Class", GUILayout.Width(100))) { data.Data[m_NewClassName] = new List(); data.Save(); m_NewClassName = string.Empty; - GUI.FocusControl( "AddClass" ); + GUI.FocusControl("AddClass"); } EditorGUI.EndDisabledGroup(); EditorGUILayout.EndHorizontal(); @@ -402,12 +392,12 @@ private void OnGUI() EditorGUILayout.BeginHorizontal(); data.DataExpanded[kp.Key] = EditorGUILayout.Foldout(classExpanded, "Class: " + kp.Key); - if ( classExpanded != data.DataExpanded[kp.Key] ) + if (classExpanded != data.DataExpanded[kp.Key]) data.Save(); - if ( GUILayout.Button( "Delete", GUILayout.Width(100) ) ) + if (GUILayout.Button("Delete", GUILayout.Width(100))) { - if ( EditorUtility.DisplayDialog( "Confirm", "Please confirm you want to delete class: " + kp.Key, "Yes", "No" ) ) + if (EditorUtility.DisplayDialog("Confirm", "Please confirm you want to delete class: " + kp.Key, "Yes", "No")) deleteClass = kp.Key; } EditorGUILayout.EndHorizontal(); @@ -427,7 +417,7 @@ private void OnGUI() data.Save(); m_NewPhrase = string.Empty; - GUI.FocusControl( "AddPhrase" ); + GUI.FocusControl("AddPhrase"); } EditorGUI.EndDisabledGroup(); EditorGUILayout.EndHorizontal(); @@ -447,10 +437,10 @@ private void OnGUI() } } - if (! string.IsNullOrEmpty( deleteClass) ) + if (!string.IsNullOrEmpty(deleteClass)) { - data.Data.Remove( deleteClass ); - data.DataExpanded.Remove( deleteClass ); + data.Data.Remove(deleteClass); + data.DataExpanded.Remove(deleteClass); data.Save(); } @@ -461,10 +451,10 @@ private void OnGUI() } } - if ( deleteClassifier != null ) + if (deleteClassifier != null) { - File.Delete( deleteClassifier.FileName ); - m_ClassifierData.Remove( deleteClassifier ); + File.Delete(deleteClassifier.FileName); + m_ClassifierData.Remove(deleteClassifier); AssetDatabase.Refresh(); } @@ -480,7 +470,7 @@ private void OnGUI() EditorGUI.BeginDisabledGroup(string.IsNullOrEmpty(m_NewClassifierLang) || string.IsNullOrEmpty(m_NewClassifierName)); if (GUILayout.Button("Create")) { - m_NewClassifierName = m_NewClassifierName.Replace( "/", "_" ); + m_NewClassifierName = m_NewClassifierName.Replace("/", "_"); string classifierFile = m_ClassifiersFolder + "/" + m_NewClassifierName + ".json"; if (!File.Exists(classifierFile) @@ -500,9 +490,9 @@ private void OnGUI() bool showAllClassifiers = m_DisplayClassifiers; - m_DisplayClassifiers = EditorGUILayout.Foldout( showAllClassifiers, "All Classifier Instances" ); + m_DisplayClassifiers = EditorGUILayout.Foldout(showAllClassifiers, "All Classifier Instances"); - if ( showAllClassifiers ) + if (showAllClassifiers) { EditorGUI.indentLevel += 1; @@ -514,10 +504,10 @@ private void OnGUI() EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Name: " + cl.name); - if (GUILayout.Button("Delete", GUILayout.Width( 100 ) )) + if (GUILayout.Button("Delete", GUILayout.Width(100))) { if (EditorUtility.DisplayDialog("Confirm", string.Format("Confirm delete of classifier {0}", cl.classifier_id), "YES", "NO") - && !m_NLC.DeleteClassifer(cl.classifier_id, OnDeleteClassifier)) + && !m_NaturalLanguageClassifier.DeleteClassifer(cl.classifier_id, OnDeleteClassifier)) { EditorUtility.DisplayDialog("Error", "Failed to delete classifier.", "OK"); } @@ -535,37 +525,6 @@ private void OnGUI() EditorGUI.indentLevel -= 1; } - //EditorGUILayout.LabelField("Create Classifier:" ); - //EditorGUI.indentLevel += 1; - - //m_NewClassifierName = EditorGUILayout.TextField("Name", m_NewClassifierName ); - //m_NewClassifierLang = EditorGUILayout.TextField("Language", m_NewClassifierLang ); - - //EditorGUI.BeginDisabledGroup( string.IsNullOrEmpty(m_NewClassifierLang) || string.IsNullOrEmpty(m_NewClassifierName) ); - //if ( GUILayout.Button( "Create" ) ) - //{ - // var path = EditorUtility.OpenFilePanel( "Select Training File", "", "csv" ); - // if (! string.IsNullOrEmpty( path ) ) - // { - // string trainingData = File.ReadAllText( path ); - // if (! string.IsNullOrEmpty( trainingData ) ) - // { - // string name = m_NewClassifierName; - // if ( string.IsNullOrEmpty( name ) ) - // name = DateTime.Now.ToString(); - - // if (! m_NLC.TrainClassifier( name, m_NewClassifierLang, trainingData, OnClassiferTrained ) ) - // EditorUtility.DisplayDialog( "Error", "Failed to train classifier.", "OK" ); - // } - // else - // EditorUtility.DisplayDialog( "Error", "Failed to load training data: " + path, "OK" ); - // } - - // m_NewClassifierName = null; - //} - //EditorGUI.EndDisabledGroup(); - //EditorGUI.indentLevel -= 1; - EditorGUILayout.EndVertical(); EditorGUILayout.EndScrollView(); } diff --git a/Scripts/Editor/NaturalLanguageClassifierEditor.cs.meta b/Scripts/Editor/NaturalLanguageClassifierEditor.cs.meta new file mode 100644 index 000000000..d224f56fe --- /dev/null +++ b/Scripts/Editor/NaturalLanguageClassifierEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b3bc0249919d54a32a29a3985f295e1c +timeCreated: 1461613185 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/Editor/SerializedDelegateDrawer.cs b/Scripts/Editor/SerializedDelegateDrawer.cs index 8869ed983..e714bc583 100644 --- a/Scripts/Editor/SerializedDelegateDrawer.cs +++ b/Scripts/Editor/SerializedDelegateDrawer.cs @@ -35,9 +35,9 @@ public class SerializedDelegateDrawer : PropertyDrawer public override void OnGUI(Rect pos, SerializedProperty properties, GUIContent label) { - SerializedDelegate target = DrawerHelper.GetParent( properties ) as SerializedDelegate; - if (target == null) - return; + SerializedDelegate target = DrawerHelper.GetParent(properties) as SerializedDelegate; + if (target == null) + return; SerializedProperty targetProperty = properties.FindPropertyRelative("m_Target"); SerializedProperty methodProperty = properties.FindPropertyRelative("m_Method"); @@ -54,27 +54,27 @@ public override void OnGUI(Rect pos, SerializedProperty properties, GUIContent l EditorGUI.indentLevel++; // select target - if ( EditorGUI.PropertyField( new Rect(pos.x, pos.y += pos.height / rows, pos.width, pos.height / rows), targetProperty ) ) - Log.Debug( "SerializedDelegate", "PropertyField()" ); + if (EditorGUI.PropertyField(new Rect(pos.x, pos.y += pos.height / rows, pos.width, pos.height / rows), targetProperty)) + Log.Debug("SerializedDelegate", "PropertyField()"); - List components = GetComponents( targetProperty ); - if ( components != null ) + List components = GetComponents(targetProperty); + if (components != null) { - int selected = components.IndexOf( componentProperty.stringValue ); - int select = EditorGUI.Popup( new Rect(pos.x, pos.y += pos.height / rows, pos.width, pos.height / rows), - "Component", selected, components.ToArray() ); + int selected = components.IndexOf(componentProperty.stringValue); + int select = EditorGUI.Popup(new Rect(pos.x, pos.y += pos.height / rows, pos.width, pos.height / rows), + "Component", selected, components.ToArray()); - if ( select != selected ) + if (select != selected) componentProperty.stringValue = components[select]; - List methods = GetComponentMethods( target.DelegateType, targetProperty, componentProperty ); - if ( methods != null ) + List methods = GetComponentMethods(target.DelegateType, targetProperty, componentProperty); + if (methods != null) { - selected = methods.IndexOf( methodProperty.stringValue ); - select = EditorGUI.Popup( new Rect(pos.x, pos.y += pos.height / rows, pos.width, pos.height / rows), - "Method", selected, methods.ToArray() ); + selected = methods.IndexOf(methodProperty.stringValue); + select = EditorGUI.Popup(new Rect(pos.x, pos.y += pos.height / rows, pos.width, pos.height / rows), + "Method", selected, methods.ToArray()); - if ( select != selected ) + if (select != selected) methodProperty.stringValue = methods[select]; } } @@ -82,15 +82,15 @@ public override void OnGUI(Rect pos, SerializedProperty properties, GUIContent l EditorGUI.indentLevel--; } - public List GetComponents( SerializedProperty targetProperty ) + public List GetComponents(SerializedProperty targetProperty) { GameObject target = targetProperty.objectReferenceValue as GameObject; - if ( target == null ) + if (target == null) return null; List components = new List(); - foreach( var c in target.GetComponents( typeof(Component) )) + foreach (var c in target.GetComponents(typeof(Component))) { try { @@ -98,35 +98,35 @@ public List GetComponents( SerializedProperty targetProperty ) } catch (Exception) { - + } - + } - return components; } - public List GetComponentMethods( Type delegateType, SerializedProperty targetProperty, SerializedProperty componentProperty ) + public List GetComponentMethods(Type delegateType, SerializedProperty targetProperty, SerializedProperty componentProperty) { GameObject target = targetProperty.objectReferenceValue as GameObject; - if ( target == null ) + if (target == null) return null; - Component component = target.GetComponent( componentProperty.stringValue ); - if ( component == null ) + Component component = target.GetComponent(componentProperty.stringValue); + if (component == null) return null; List methods = new List(); - foreach( var method in component.GetType().GetMethods(BindingFlags.Public|BindingFlags.Instance|BindingFlags.Static) ) + foreach (var method in component.GetType().GetMethods(BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static)) { - if (! method.DeclaringType.IsSubclassOf(typeof(Component) ) ) + if (!method.DeclaringType.IsSubclassOf(typeof(Component))) continue; - try { - Delegate.CreateDelegate( delegateType, component, method ); - methods.Add( method.Name ); + try + { + Delegate.CreateDelegate(delegateType, component, method); + methods.Add(method.Name); } - catch( ArgumentException ) + catch (ArgumentException) { } } diff --git a/Scripts/Editor/WidgetEditor.cs b/Scripts/Editor/WidgetEditor.cs index cfb46c0cb..627268b12 100644 --- a/Scripts/Editor/WidgetEditor.cs +++ b/Scripts/Editor/WidgetEditor.cs @@ -26,11 +26,11 @@ namespace IBM.Watson.DeveloperCloud.Editor { public static class WidgetConnector { - [MenuItem("Watson/Widgets/Resolve Connections", false, 4 )] + [MenuItem("Watson/Widgets/Resolve Connections", false, 4)] private static void AutoConnectWidgets() { - Widget [] widgets = Object.FindObjectsOfType(); - foreach( var widget in widgets ) + Widget[] widgets = Object.FindObjectsOfType(); + foreach (var widget in widgets) widget.ResolveConnections(); } }; @@ -40,42 +40,42 @@ public class WidgetInputDrawer : PropertyDrawer { const float m_Rows = 3; private bool m_Expanded = true; - private static Dictionary sm_ExpandedStates = new Dictionary(); + private static Dictionary sm_ExpandedStates = new Dictionary(); public override float GetPropertyHeight(SerializedProperty property, GUIContent label) { - if (! sm_ExpandedStates.ContainsKey( property.propertyPath ) ) - sm_ExpandedStates[ property.propertyPath ] = true; + if (!sm_ExpandedStates.ContainsKey(property.propertyPath)) + sm_ExpandedStates[property.propertyPath] = true; - if ( sm_ExpandedStates[ property.propertyPath] ) + if (sm_ExpandedStates[property.propertyPath]) return base.GetPropertyHeight(property, label) * m_Rows; else - return base.GetPropertyHeight(property, label ); + return base.GetPropertyHeight(property, label); } public override void OnGUI(Rect pos, SerializedProperty property, GUIContent label) { - Widget.Input target = DrawerHelper.GetParent( property ) as Widget.Input; - if (target == null) - return; + Widget.Input target = DrawerHelper.GetParent(property) as Widget.Input; + if (target == null) + return; if (target.Owner == null) target.Owner = property.serializedObject.targetObject as Widget; //EditorGUIUtility.LookLikeControls(); - bool expanded_state = sm_ExpandedStates[ property.propertyPath]; - bool expanded = EditorGUI.Foldout( m_Expanded ? new Rect(pos.x, pos.y, pos.width / 2, pos.height / m_Rows) : pos, expanded_state, label ); - if ( expanded_state ) + bool expanded_state = sm_ExpandedStates[property.propertyPath]; + bool expanded = EditorGUI.Foldout(m_Expanded ? new Rect(pos.x, pos.y, pos.width / 2, pos.height / m_Rows) : pos, expanded_state, label); + if (expanded_state) { EditorGUI.indentLevel += 1; - EditorGUI.LabelField( new Rect(pos.x, pos.y += pos.height / m_Rows, pos.width, pos.height / m_Rows), - "Input Name: " + target.FullInputName ); - EditorGUI.LabelField( new Rect(pos.x, pos.y += pos.height / m_Rows, pos.width, pos.height / m_Rows), - "Data Type: " + target.DataTypeName ); + EditorGUI.LabelField(new Rect(pos.x, pos.y += pos.height / m_Rows, pos.width, pos.height / m_Rows), + "Input Name: " + target.FullInputName); + EditorGUI.LabelField(new Rect(pos.x, pos.y += pos.height / m_Rows, pos.width, pos.height / m_Rows), + "Data Type: " + target.DataTypeName); EditorGUI.indentLevel -= 1; } - sm_ExpandedStates[ property.propertyPath] = expanded; + sm_ExpandedStates[property.propertyPath] = expanded; } - } + } } #endif diff --git a/Scripts/Logging/FileReactor.cs b/Scripts/Logging/FileReactor.cs index 7f5881b71..9db9f5557 100644 --- a/Scripts/Logging/FileReactor.cs +++ b/Scripts/Logging/FileReactor.cs @@ -20,6 +20,8 @@ namespace IBM.Watson.DeveloperCloud.Logging { +#if !UNITY_WEBPLAYER + /// /// FileReactor log reactor class. /// @@ -34,6 +36,28 @@ public class FileReactor : ILogReactor /// Minimum level of messages to save into the log file. /// public LogLevel Level { get; set; } + + /// + /// How many log files to maintain. + /// + public int LogHistory { get; set; } + + /// + /// Maximum size of a log file before we rotate. + /// + public int MaxLogSize { get; set; } + + /// + /// Gets the log text written to the file system + /// + /// The log text written. + public string LogTextWritten + { + get + { + return File.ReadAllText(LogFile); + } + } #endregion #region Construction @@ -43,25 +67,29 @@ public class FileReactor : ILogReactor /// The FileName of the log file. /// The minimum level of log messages to be logged into the file. /// How many log files to keep as they are rotated each time this reactor is constructed. - public FileReactor(string logFile, LogLevel level = LogLevel.DEBUG, int logHistory = 2 ) + public FileReactor(string logFile, LogLevel level = LogLevel.DEBUG, int logHistory = 2, int maxLogSize = 1024 * 1024) { LogFile = logFile; Level = level; + LogHistory = logHistory; + MaxLogSize = maxLogSize; + } + public void RotateLogs() + { // rotate existing log files.. - for(int i=logHistory;i>=0;--i) + for (int i = LogHistory; i >= 0; --i) { string src = i > 0 ? LogFile + "." + i.ToString() : LogFile; - if ( File.Exists( src ) ) + if (File.Exists(src)) { string dst = LogFile + "." + (i + 1).ToString(); - File.Copy( src, dst, true ); + File.Copy(src, dst, true); } } - #if !UNITY_WEBPLAYER - File.WriteAllText(LogFile, string.Format("Log File Started {0}...\n", DateTime.UtcNow.ToString("MM/dd/yyyy HH:mm:ss")) ); - #endif + File.WriteAllText(LogFile, string.Format("Log File Started {0}...\n", DateTime.UtcNow.ToString("MM/dd/yyyy HH:mm:ss"))); } + #endregion #region ILogReactor interface @@ -73,13 +101,17 @@ public void ProcessLog(LogRecord log) { if (log.m_Level >= Level) { - #if !UNITY_WEBPLAYER File.AppendAllText(LogFile, string.Format("[{0}][{1}][{2}] {3}\n", log.m_TimeStamp.ToString("MM/dd/yyyy HH:mm:ss"), log.m_SubSystem, log.m_Level.ToString(), log.m_Message)); - #endif + + // automatically rotate logs once our size is large enough.. + if (new FileInfo(LogFile).Length > MaxLogSize) + RotateLogs(); } } #endregion } +#endif + } diff --git a/Scripts/Logging/Logger.cs b/Scripts/Logging/Logger.cs index f2364b395..072ef414b 100644 --- a/Scripts/Logging/Logger.cs +++ b/Scripts/Logging/Logger.cs @@ -103,7 +103,7 @@ public class LogSystem /// /// Returns the singleton instance of the Logger object. /// - public static LogSystem Instance { get { if(! sm_bInstalledDefaultReactors) InstallDefaultReactors(); return Singleton.Instance; } } + public static LogSystem Instance { get { return Singleton.Instance; } } #endregion #region Private Data @@ -112,22 +112,42 @@ public class LogSystem #endregion #region Public Functions + public static List ReactorsInstalled + { + get + { + return LogSystem.Instance.m_Reactors; + } + } + /// /// Install a default debug and file reactor. /// - public static void InstallDefaultReactors() + public static void InstallDefaultReactors(int logHistory = 2, LogLevel logLevelFileReactor = LogLevel.STATUS) { - if (! sm_bInstalledDefaultReactors ) + if (!sm_bInstalledDefaultReactors) { // install the default reactors... sm_bInstalledDefaultReactors = true; #if UNITY_EDITOR || UNITY_IOS || UNITY_ANDROID - LogSystem.Instance.InstallReactor( new DebugReactor() ); + LogSystem.Instance.InstallReactor(new DebugReactor()); #endif - LogSystem.Instance.InstallReactor( new FileReactor( Application.persistentDataPath + "/Watson.log" ) ); + + if (!string.IsNullOrEmpty(Constants.Path.LOG_FOLDER) && !System.IO.Directory.Exists(Application.persistentDataPath + Constants.Path.LOG_FOLDER)) + System.IO.Directory.CreateDirectory(Application.persistentDataPath + Constants.Path.LOG_FOLDER); + + LogSystem.Instance.InstallReactor(new FileReactor(Application.persistentDataPath + Constants.Path.LOG_FOLDER + "/" + Application.productName + ".log", logLevelFileReactor, logHistory)); + + Application.logMessageReceived += UnityLogCallback; } } + static void UnityLogCallback(string condition, string stacktrace, LogType type) + { + if (type == LogType.Exception) + Log.Critical("Unity", "Unity Exception {0} : {1}", condition, stacktrace); + } + /// /// Installs a reactor into this Logger. /// @@ -138,6 +158,8 @@ public void InstallReactor(ILogReactor reactor) { m_Reactors.Add(reactor); } + // set our default reactor flag to true if the user installs their own reactors. + sm_bInstalledDefaultReactors = true; } /// @@ -220,13 +242,13 @@ public static void Error(string subSystem, string messageFmt, params object[] ar { LogSystem.Instance.ProcessLog(new LogRecord(LogLevel.ERROR, subSystem, messageFmt, args)); } - /// + /// /// Log a CRITICAL level message. /// /// Name of the subsystem. /// Message with formatting. /// Formatting arguments. - public static void Critical(string subSystem, string messageFmt, params object[] args) + public static void Critical(string subSystem, string messageFmt, params object[] args) { LogSystem.Instance.ProcessLog(new LogRecord(LogLevel.CRITICAL, subSystem, messageFmt, args)); } diff --git a/Services.meta b/Scripts/Services.meta similarity index 100% rename from Services.meta rename to Scripts/Services.meta diff --git a/Scripts/Services/AlchemyAPI.meta b/Scripts/Services/AlchemyAPI.meta new file mode 100644 index 000000000..fc71f0625 --- /dev/null +++ b/Scripts/Services/AlchemyAPI.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 725b9f67a756a45dbb3df4002d479dd3 +folderAsset: yes +timeCreated: 1456178791 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/Services/AlchemyAPI/AlchemyAPI.cs b/Scripts/Services/AlchemyAPI/AlchemyAPI.cs new file mode 100644 index 000000000..b50df5b05 --- /dev/null +++ b/Scripts/Services/AlchemyAPI/AlchemyAPI.cs @@ -0,0 +1,382 @@ +/** +* Copyright 2015 IBM Corp. All Rights Reserved. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +*/ + +using IBM.Watson.DeveloperCloud.Logging; +using IBM.Watson.DeveloperCloud.Connection; +using IBM.Watson.DeveloperCloud.Utilities; +using MiniJSON; +using System; +using System.Collections.Generic; +using System.Text; +using FullSerializer; +using System.Collections; +using System.IO; + +namespace IBM.Watson.DeveloperCloud.Services.AlchemyAPI.v1 +{ + /// + /// Service integration for Alchemy API + /// + public class AlchemyAPI : IWatsonService + { + + #region Private Data + private const string SERVICE_ID = "AlchemyAPIV1"; + private static string mp_ApiKey = null; + + private static fsSerializer sm_Serializer = new fsSerializer(); + #endregion + + + #region Entity Extraction + private const string SERVICE_ENTITY_EXTRACTION = "/calls/text/TextGetRankedNamedEntities"; + + public delegate void OnGetEntityExtraction(EntityExtractionData entityExtractionData, string data); + + //http://access.alchemyapi.com/calls/text/TextGetRankedNamedEntities + + public bool GetEntityExtraction(OnGetEntityExtraction callback, string text) + { + if (callback == null) + throw new ArgumentNullException("callback"); + if (string.IsNullOrEmpty(text)) + throw new WatsonException("GetEntityExtraction needs to have some text to work."); + if (string.IsNullOrEmpty(mp_ApiKey)) + mp_ApiKey = Config.Instance.GetVariableValue("ALCHEMY_API_KEY"); + if (string.IsNullOrEmpty(mp_ApiKey)) + throw new WatsonException("GetEntityExtraction - ALCHEMY_API_KEY needs to be defined in config.json"); + + + RESTConnector connector = RESTConnector.GetConnector(SERVICE_ID, SERVICE_ENTITY_EXTRACTION); + if (connector == null) + return false; + + GetEntityExtractionRequest req = new GetEntityExtractionRequest(); + req.Callback = callback; + + req.Parameters["apikey"] = mp_ApiKey; + req.Parameters["text"] = text; + req.Parameters["url"] = ""; + req.Parameters["outputMode"] = "json"; + //req.Parameters["jsonp"] = ""; + req.Parameters["disambiguate"] = "1"; + req.Parameters["linkedData"] = "1"; + req.Parameters["coreference"] = "1"; + req.Parameters["quotations"] = "0"; + req.Parameters["sentiment"] = "0"; + req.Parameters["showSourceText"] = "1"; + req.Parameters["maxRetrieve"] = "50"; + //req.Parameters["baseUrl"] = ""; + req.Parameters["knowledgeGraph"] = "0"; + req.Parameters["structuredEntities"] = "1"; + + req.OnResponse = OnGetEntityExtractionResponse; + req.Data = text; + + return connector.Send(req); + } + + private class GetEntityExtractionRequest : RESTConnector.Request + { + public string Data { get; set; } + public OnGetEntityExtraction Callback { get; set; } + }; + + private void OnGetEntityExtractionResponse(RESTConnector.Request req, RESTConnector.Response resp) + { + EntityExtractionData entityExtractionData = new EntityExtractionData(); + if (resp.Success) + { + try + { + fsData data = null; + fsResult r = fsJsonParser.Parse(Encoding.UTF8.GetString(resp.Data), out data); + if (!r.Succeeded) + throw new WatsonException(r.FormattedMessages); + + object obj = entityExtractionData; + r = sm_Serializer.TryDeserialize(data, obj.GetType(), ref obj); + if (!r.Succeeded) + throw new WatsonException(r.FormattedMessages); + } + catch (Exception e) + { + Log.Error("AlchemyAPI", "OnGetEntityExtractionResponse Exception: {0}", e.ToString()); + resp.Success = false; + } + } + + if (((GetEntityExtractionRequest)req).Callback != null) + ((GetEntityExtractionRequest)req).Callback(resp.Success ? entityExtractionData : null, ((GetEntityExtractionRequest)req).Data); + } + + #endregion + + #region Keywoard Extraction + + private const string SERVICE_KEYWOARD_EXTRACTION = "/calls/text/TextGetRankedKeywords"; + + public delegate void OnGetKeywoardExtraction(KeywoardExtractionData entityExtractionData, string data); + + public bool GetKeywoardExtraction(OnGetKeywoardExtraction callback, string text, string customData = null) + { + if (callback == null) + throw new ArgumentNullException("callback"); + if (string.IsNullOrEmpty(text)) + throw new WatsonException("GetKeywoardExtraction needs to have some text to work."); + if (string.IsNullOrEmpty(mp_ApiKey)) + mp_ApiKey = Config.Instance.GetVariableValue("ALCHEMY_API_KEY"); + if (string.IsNullOrEmpty(mp_ApiKey)) + throw new WatsonException("GetKeywoardExtraction - ALCHEMY_API_KEY needs to be defined in config.json"); + + + RESTConnector connector = RESTConnector.GetConnector(SERVICE_ID, SERVICE_KEYWOARD_EXTRACTION); + if (connector == null) + return false; + + GetKeywoardExtractionRequest req = new GetKeywoardExtractionRequest(); + req.Callback = callback; + + req.Parameters["apikey"] = mp_ApiKey; + //req.Parameters["text"] = text; + req.Headers["Content-Type"] = "application/x-www-form-urlencoded"; + req.Forms = new Dictionary(); + req.Forms["text"] = new RESTConnector.Form(text); + + req.Parameters["url"] = ""; + req.Parameters["maxRetrieve"] = "1000"; + req.Parameters["keywordExtractMode"] = "strict"; //strict , normal + req.Parameters["sentiment"] = "1"; + req.Parameters["outputMode"] = "json"; + req.Parameters["showSourceText"] = "1"; + //req.Parameters["baseUrl"] = ""; + req.Parameters["knowledgeGraph"] = "0"; + + req.OnResponse = OnGetKeywoardExtractionResponse; + req.Data = string.IsNullOrEmpty(customData) ? text : customData; + + return connector.Send(req); + } + + private class GetKeywoardExtractionRequest : RESTConnector.Request + { + public string Data { get; set; } + public OnGetKeywoardExtraction Callback { get; set; } + }; + + private void OnGetKeywoardExtractionResponse(RESTConnector.Request req, RESTConnector.Response resp) + { + KeywoardExtractionData keywoardExtractionData = new KeywoardExtractionData(); + if (resp.Success) + { + try + { + fsData data = null; + fsResult r = fsJsonParser.Parse(Encoding.UTF8.GetString(resp.Data), out data); + if (!r.Succeeded) + throw new WatsonException(r.FormattedMessages); + + object obj = keywoardExtractionData; + r = sm_Serializer.TryDeserialize(data, obj.GetType(), ref obj); + if (!r.Succeeded) + throw new WatsonException(r.FormattedMessages); + } + catch (Exception e) + { + Log.Error("AlchemyAPI", "OnGetKeywoardExtractionResponse Exception: {0}", e.ToString()); + resp.Success = false; + } + } + + if (((GetKeywoardExtractionRequest)req).Callback != null) + ((GetKeywoardExtractionRequest)req).Callback(resp.Success ? keywoardExtractionData : null, ((GetKeywoardExtractionRequest)req).Data); + } + + #endregion + + #region Combined Call + + private const string SERVICE_COMBINED_CALLS = "/calls/text/TextGetCombinedData"; + + public delegate void OnGetCombinedCall(CombinedCallData combinedCallData, string data); + + //http://access.alchemyapi.com/calls/text/TextGetRankedNamedEntities + + public bool GetCombinedCall(OnGetCombinedCall callback, string text, + bool includeEntity = true, + bool includeKeywoard = true, + bool includeDate = true, + bool includeTaxonomy = false, + bool includeConcept = false, + bool includeFeed = false, + bool includeDocEmotion = false, + bool includeRelation = false, + bool includePubDate = false, + bool includeDocSentiment = false, + bool includePageImage = false, + bool includeImageKW = false, + string language = "english", + string customData = null) + { + if (callback == null) + throw new ArgumentNullException("callback"); + if (string.IsNullOrEmpty(text)) + throw new WatsonException("GetCombinedCall needs to have some text to work."); + if (string.IsNullOrEmpty(mp_ApiKey)) + mp_ApiKey = Config.Instance.GetVariableValue("ALCHEMY_API_KEY"); + if (string.IsNullOrEmpty(mp_ApiKey)) + throw new WatsonException("GetCombinedCall - ALCHEMY_API_KEY needs to be defined in config.json"); + if (!includeEntity + && !includeKeywoard + && !includeDate + && !includeTaxonomy + && !includeConcept + && !includeFeed + && !includeDocEmotion + && !includeRelation + && !includePubDate + && !includeDocSentiment + && !includePageImage + && !includeImageKW) + throw new WatsonException("GetCombinedCall - There should be some service included."); + + RESTConnector connector = RESTConnector.GetConnector(SERVICE_ID, SERVICE_COMBINED_CALLS); + if (connector == null) + return false; + + GetCombinedCallRequest req = new GetCombinedCallRequest(); + req.Callback = callback; + + List requestServices = new List(); + if (includeEntity) + requestServices.Add("entity"); + if (includeKeywoard) + requestServices.Add("keyword"); + if (includeKeywoard) + requestServices.Add("dates"); + if (includeTaxonomy) + requestServices.Add("taxonomy"); + if (includeConcept) + requestServices.Add("concept"); + if (includeFeed) + requestServices.Add("feed"); + if (includeDocEmotion) + requestServices.Add("doc-emotion"); + if (includeRelation) + requestServices.Add("relation"); + if (includePubDate) + requestServices.Add("pub-date"); + if (includeDocSentiment) + requestServices.Add("doc-sentiment"); + if (includePageImage) + requestServices.Add("page-image"); + if (includeImageKW) + requestServices.Add("image-kw"); + + req.Parameters["apikey"] = mp_ApiKey; + //req.Parameters["text"] = text; + req.Parameters["extract"] = string.Join(",", requestServices.ToArray()); + req.Parameters["outputMode"] = "json"; + req.Parameters["showSourceText"] = "1"; + req.Parameters["language"] = language; + + req.Headers["Content-Type"] = "application/x-www-form-urlencoded"; + req.Forms = new Dictionary(); + req.Forms["text"] = new RESTConnector.Form(text); + + req.OnResponse = OnGetCombinedCallResponse; + req.Data = string.IsNullOrEmpty(customData) ? text : customData; + + return connector.Send(req); + } + + private class GetCombinedCallRequest : RESTConnector.Request + { + public string Data { get; set; } + public OnGetCombinedCall Callback { get; set; } + }; + + private void OnGetCombinedCallResponse(RESTConnector.Request req, RESTConnector.Response resp) + { + CombinedCallData combinedCallData = new CombinedCallData(); + if (resp.Success) + { + try + { + fsData data = null; + fsResult r = fsJsonParser.Parse(Encoding.UTF8.GetString(resp.Data), out data); + if (!r.Succeeded) + throw new WatsonException(r.FormattedMessages); + + object obj = combinedCallData; + r = sm_Serializer.TryDeserialize(data, obj.GetType(), ref obj); + if (!r.Succeeded) + throw new WatsonException(r.FormattedMessages); + } + catch (Exception e) + { + Log.Error("AlchemyAPI", "OnGetCombinedCallResponse Exception: {0}", e.ToString()); + resp.Success = false; + } + } + + if (((GetCombinedCallRequest)req).Callback != null) + ((GetCombinedCallRequest)req).Callback(resp.Success ? combinedCallData : null, ((GetCombinedCallRequest)req).Data); + } + + #endregion + + #region IWatsonService interface + /// + public string GetServiceID() + { + return SERVICE_ID; + } + + /// + public void GetServiceStatus(ServiceStatus callback) + { + if (Config.Instance.FindCredentials(SERVICE_ID) != null) + new CheckServiceStatus(this, callback); + else + callback(SERVICE_ID, false); + } + + private class CheckServiceStatus + { + private AlchemyAPI m_Service = null; + private ServiceStatus m_Callback = null; + + public CheckServiceStatus(AlchemyAPI service, ServiceStatus callback) + { + m_Service = service; + m_Callback = callback; + + if (!m_Service.GetEntityExtraction(OnGetEntityExtraction, "Test")) + m_Callback(SERVICE_ID, false); + } + + void OnGetEntityExtraction(EntityExtractionData entityExtractionData, string data) + { + if (m_Callback != null) + m_Callback(SERVICE_ID, entityExtractionData != null); + } + + }; + #endregion + } +} diff --git a/Scripts/Services/AlchemyAPI/AlchemyAPI.cs.meta b/Scripts/Services/AlchemyAPI/AlchemyAPI.cs.meta new file mode 100644 index 000000000..7535392db --- /dev/null +++ b/Scripts/Services/AlchemyAPI/AlchemyAPI.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: bb6f8ef625003471cb282725e833de65 +timeCreated: 1456178812 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/Services/AlchemyAPI/DataModels.cs b/Scripts/Services/AlchemyAPI/DataModels.cs new file mode 100644 index 000000000..e0ac54ff7 --- /dev/null +++ b/Scripts/Services/AlchemyAPI/DataModels.cs @@ -0,0 +1,1017 @@ +/** +* Copyright 2015 IBM Corp. All Rights Reserved. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +*/ + +using FullSerializer; +using System.Text; +using System.Collections.Generic; + +namespace IBM.Watson.DeveloperCloud.Services.AlchemyAPI.v1 +{ + + [fsObject] + public class EntityExtractionData + { + public string status { get; set; } + public string language { get; set; } + public string url { get; set; } + public string text { get; set; } + public Entity[] entities { get; set; } + public KnowledgeGraph knowledgeGraph { get; set; } + + public bool HasData + { + get + { + return entities != null && entities.Length > 0; + } + } + + public bool HasGeographicInformation + { + get + { + string geoString = null; + for (int i = 0; entities != null && i < entities.Length; i++) + { + if (entities[i].disambiguated != null) + { + geoString = entities[i].disambiguated.geo; + if (!string.IsNullOrEmpty(geoString)) + break; + } + } + return !string.IsNullOrEmpty(geoString); + } + } + + private PositionOnMap m_GeoLocation = null; + public PositionOnMap GeoLocation + { + get + { + if (m_GeoLocation == null) + { + string geoString = null; + for (int i = 0; entities != null && i < entities.Length; i++) + { + if (entities[i].disambiguated != null) + { + geoString = entities[i].disambiguated.geo; + if (!string.IsNullOrEmpty(geoString)) + { + string[] geoValues = geoString.Split(' '); + if (geoValues != null && geoValues.Length == 2) + { + double latitute = 0; + double longitutde = 0; + + if (double.TryParse(geoValues[0], out latitute) && double.TryParse(geoValues[1], out longitutde)) + { + m_GeoLocation = new PositionOnMap(latitute, longitutde, entities[i].disambiguated.name); + break; + } + } + } + } + } + } + return m_GeoLocation; + } + } + + public override string ToString() + { + StringBuilder stringBuilder = new StringBuilder(); + for (int indexEntity = 0; entities != null && indexEntity < entities.Length; indexEntity++) + { + stringBuilder.Append("\n\t"); + stringBuilder.Append(entities[indexEntity].ToString()); + } + return string.Format("[EntityExtractionData: status={0}, language={1}, url={2}, text={3}, entities={4}]", status, language, url, text, stringBuilder.ToString()); + } + + }; + + + [fsObject] + public class KeywoardExtractionData + { + public string status { get; set; } + public string language { get; set; } + public string url { get; set; } + public string text { get; set; } + public Keyword[] keywords { get; set; } + public KnowledgeGraph knowledgeGraph { get; set; } + + public bool HasData + { + get + { + return keywords != null && keywords.Length > 0; + } + } + + public override string ToString() + { + StringBuilder stringBuilder = new StringBuilder(); + for (int indexKeyword = 0; keywords != null && indexKeyword < keywords.Length; indexKeyword++) + { + stringBuilder.Append("\n\t"); + stringBuilder.Append(keywords[indexKeyword].ToString()); + } + return string.Format("[KeywoardExtractionData: status={0}, language={1}, url={2}, text={3}, keywords={4}]", status, language, url, text, stringBuilder.ToString()); + } + + }; + + + public class PositionOnMap + { + public string PositionName; + public double Latitude; //Y : North - south + public double Longitude; //X : West - East + + public double X { get { return Longitude; } } + public double Y { get { return Latitude; } } + + public PositionOnMap(double latitude, double longitude) + { + this.Latitude = latitude; + this.Longitude = longitude; + } + + public PositionOnMap(double latitude, double longitude, string positionName) + { + this.Latitude = latitude; + this.Longitude = longitude; + this.PositionName = positionName; + } + + public override string ToString() + { + return string.Format("[PositionOnMap: Name: {0}, Latitude:{1}, Longitude:{2}]", PositionName, Latitude.ToString(), Longitude.ToString()); + } + } + + + public enum EntityPrimaryType + { + NONE = -1, + Anatomy, + Anniversary, + Automobile, + City, + Company, + Continent, + Country, + Crime, + Degree, + Drug, + EntertainmentAward, + Facility, + FieldTerminology, + FinancialMarketIndex, + GeographicFeature, + HealthCondition, + Holiday, + JobTitle, + Movie, + MusicGroup, + NaturalDisaster, + OperatingSystem, + Organization, + Person, + PrintMedia, + Product, + ProfessionalDegree, + RadioProgram, + RadioStation, + Region, + Sport, + SportingEvent, + StateOrCounty, + Technology, + TelevisionShow, + TelevisionStation, + EmailAddress, + TwitterHandle, + Hashtag, + IPAddress, + Quantity, + Money, + NAN //At the end + } + + public enum EntitySubType + { + AdministrativeDivision, + AircraftManufacturer, + Airport, + AirportOperator, + AwardWinner, + BodyOfWater, + Broadcast, + Building, + ChineseAutonomousCounty, + CityTown, + CollegeUniversity, + Company, + Country, + Cuisine, + Dedicatee, + Disease, + DutchMunicipality, + EnglishCivilParish, + EnglishMetropolitanBorough, + Facility, + FictionalUniverse, + FilmScreeningVenue, + FootballTeam, + FrenchDepartment, + GeographicFeature, + GermanState, + GermanUrbanDistrict, + GovernmentalJurisdiction, + HumanLanguage, + IndianCity, + IndonesianCity, + Island, + ItalianComune, + JapaneseDesignatedCity, + JapanesePrefecture, + Kingdom, + Lake, + Location, + MilitaryConflict, + MilitaryPost, + Mountain, + Museum, + MusicalArtist, + Neighborhood, + OlympicBiddingCity, + OlympicHostCity, + Organization, + Person, + PlaceOfWorship, + PlaceWithNeighborhoods, + PoliticalDistrict, + RadioStation, + RecordProducer, + Region, + River, + School, + SchoolDistrict, + ScottishCouncilArea, + SoccerClub, + SportsTeam, + TouristAttraction, + USCounty, + USIndianReservation, + VietnameseProvincialCities, + Waterfall, + WineRegion, + Accommodation, + Airline, + AwardNominee, + AwardPresentingOrganization, + BasketballConference, + Brand, + Bridge, + BroadcastArtist, + BroadcastContent, + BroadcastDistributor, + Cemetery, + CompanyDivision, + CompanyFounder, + Composer, + ConductedEnsemble, + DrinkingEstablishment, + FashionDesigner, + FashionLabel, + Film, + FilmCinematographer, + FilmCompany, + FilmCostumerDesigner, + FilmDirector, + FilmDistributor, + FilmFestival, + FilmProducer, + HallOfFame, + HistoricPlace, + Hospital, + House, + Inventor, + Magazine, + MembershipOrganization, + MusicalAlbum, + MusicalGroup, + MusicalInstrumentCompany, + Newspaper, + OperaCompany, + Orchestra, + PeriodicalPublisher, + ProductionCompany, + PublicLibrary, + RadioNetwork, + RecordLabel, + RecurringEvent, + Road, + ShoppingCenter, + SportsFacility, + Stadium, + Station, + TelevisionShow, + TelevisionStation, + Theater, + TVChannel, + TVNetwork, + TVProducer, + TVWriter, + University, + VentureFundedCompany, + VideoGameDesigner, + VideoGameDeveloper, + VideoGameEngineDeveloper, + VideoGamePublisher, + Website, + WineProducer, + BoardMember, + Family, + FrenchRegion, + IslandGroup, + Monastery, + NobleTitle, + RoyalLine, + UKOverseasTerritory, + Award, + ArchitecturalContractor, + Lighthouse, + MountainPass, + OlympicVenue, + Park, + ProjectParticipant, + Skyscraper, + DiseaseCause, + Actor, + Book, + Celebrity, + Composition, + ConcertFilm, + FilmActor, + FilmEditor, + FilmSeries, + Play, + PublishedWork, + TVActor, + TVEpisode, + WorkOfFiction, + DisasterSurvivor, + DisasterVictim, + FilmMusicContributor, + Guitarist, + HallOfFameInductee, + MilitaryPerson, + MusicalGroupMember, + BuildingComplex, + CauseOfDeath, + DiseaseOrMedicalCondition, + InfectiousDisease, + MilitaryUnit, + PerformanceVenue, + Academic, + AcademicInstitution, + AircraftDesigner, + AmericanIndianGroup, + Appellation, + Appointer, + Architect, + ArchitectureFirm, + ArmedForce, + Astronaut, + Astronomer, + AstronomicalObservatory, + Athlete, + AutomobileCompany, + AutomobileModel, + AutomotiveDesigner, + AwardDiscipline, + AwardJudge, + BasketballPlayer, + Bassist, + Beer, + Beverage, + BicycleManufacturer, + Blog, + Blogger, + BoardMemberTitle, + Boxer, + CandyBarManufacturer, + CharacterOccupation, + CharacterSpecies, + Cheese, + ChemicalCompound, + ChivalricOrderMember, + Club, + Collector, + College, + Comedian, + ComicBookCreator, + ComicBookEditor, + ComicBookFictionalUniverse, + ComicBookPenciler, + ComicBookPublisher, + ComicBookSeries, + ComicBookWriter, + ComicStripArtist, + ComicStripSyndicate, + CompanyAdvisor, + CompanyShareholder, + CompetitiveSpace, + ComputerDesigner, + ComputerPeripheral, + ComputerScientist, + ComputingPlatform, + ConcertTour, + Conductor, + ConferenceSeries, + ConsumerProduct, + CricketAdministrativeBody, + CricketTeam, + Criminal, + CriminalOffense, + Dedicator, + DietFollower, + Dish, + Distillery, + Drummer, + EndorsedProduct, + Engine, + Engineer, + EngineeringFirm, + FictionalUniverseCreator, + FieldOfStudy, + FileFormat, + FilmArtDirector, + FilmCharacter, + FilmCrewmember, + FilmCritic, + FilmFestivalFocus, + FilmProductionDesigner, + FilmTheorist, + FilmWriter, + FootballLeague, + FootballOrganization, + FootballPlayer, + FoundingFigure, + Game, + GameDesigner, + GamePublisher, + Golfer, + GovernmentAgency, + GovernmentalBody, + GovernmentOfficeOrTitle, + Governor, + Guitar, + Hobbyist, + HockeyConference, + HockeyTeam, + HonoraryDegreeRecipient, + Illustrator, + Industry, + Invention, + ItalianRegion, + JobTitle, + Journal, + LandscapeProject, + LanguageCreator, + LanguageWritingSystem, + Lyricist, + ManufacturingPlant, + MartialArt, + MartialArtist, + MedicalSpecialty, + MedicalTreatment, + MemberOfParliament, + MeteorologicalService, + MilitaryCommander, + Monarch, + Mountaineer, + MountainRange, + MusicalGameSong, + MusicalPerformanceRole, + MusicalTrack, + MusicFestival, + NaturalOrCulturalPreservationAgency, + NoblePerson, + NonProfitOrganisation, //Non-ProfitOrganisation + OfficeHolder, + OlympicAthlete, + OlympicEvent, + OperaCharacter, + OperaHouse, + OperaSinger, + OperatingSystemDeveloper, + OrganizationSector, + PeriodicalEditor, + Philosopher, + Physician, + PoliticalAppointer, + PoliticalParty, + Politician, + President, + ProcessorManufacturer, + Profession, + ProfessionalSportsTeam, + ProgrammingLanguageDesigner, + ProgrammingLanguageDeveloper, + ProtectedArea, + Protocol, + ProtocolProvider, + Rank, + RecordingEngineer, + RecurringCompetition, + Religion, + ReligiousLeader, + ReligiousOrder, + ReligiousOrganization, + ReportIssuingInstitution, + RiskFactor, + RocketEngineDesigner, + RocketManufacturer, + Saint, + Satellite, + SchoolFounder, + SchoolNewspaper, + SchoolSportsTeam, + Scientist, + Senator, + ShipBuilder, + ShipDesigner, + SkiArea, + Software, + SoftwareDeveloper, + SoftwareLicense, + Songwriter, + Soundtrack, + SpaceAgency, + SpacecraftManufacturer, + Spaceport, + Sport, + SportsAssociation, + SportsLeagueAwardWinner, + StudentOrganization, + Supercouple, + Surgeon, + Symptom, + TheaterActor, + TheaterCharacter, + TheaterProduction, + TheatricalComposer, + TheatricalLyricist, + TopLevelDomainRegistry, + TradeUnion, + TransitLine, + TransportOperator, + TransportTerminus, + TVCharacter, + TVDirector, + TVPersonality, + USCongressperson, //U.S.Congressperson + USPresident, + USTerritory, + USVicePresident, + VideoGame, + VideoGameActor, + VideoGameEngine, + VideoGamePlatform, + VisualArtist, + Wrestler, + Writer, + Adherents, + Appointee, + ArchitectureFirmPartner, + BasketballCoach, + BritishRoyalty, + Cardinal, + Chancellor, + Chef, + ChivalricOrderFounder, + ChivalricOrderOfficer, + ChristianBishop, + CollegeCoach, + ComicBookInker, + ComicBookLetterer, + CreativeWork, + CricketBowler, + CricketCoach, + CricketPlayer, + CulinaryTool, + Cyclist, + Deity, + ElectionCampaign, + ElementDiscoverer, + FilmCastingDirector, + FilmSetDesigner, + FootballCoach, + FootballManager, + HockeyCoach, + HockeyPlayer, + Holiday, + Journalist, + Judge, + LandscapeArchitect, + Mayor, + Model, + MusicalRelease, + OperaDirector, + OrganismClassification, + ProfessionalField, + ProgrammingLanguage, + RugbyPlayer, + SchoolMascot, + SportsOfficial, + TennisPlayer, + TennisTournamentChampion, + TheaterChoreographer, + TheaterDesigner, + TheaterDirector, + TheaterProducer, + TVCrewmember, + TVThemeSong, + VaccineDeveloper, + RadioProgram, + USState + } + + [fsObject] + public class Entity + { + public string type { get; set; } + public string relevance { get; set; } + public KnowledgeGraph knowledgeGraph { get; set; } + public string count { get; set; } + public string text { get; set; } + public Disambiguated disambiguated { get; set; } + public Quotation[] quotations { get; set; } + public Sentiment sentiment { get; set; } + + private EntityPrimaryType _EntityType = EntityPrimaryType.NONE; + public EntityPrimaryType EntityType + { + get + { + if (_EntityType == EntityPrimaryType.NONE && !string.IsNullOrEmpty(type)) + { + for (int i = (int)EntityPrimaryType.NONE; i < (int)EntityPrimaryType.NAN; i++) + { + if (string.Compare(type, ((EntityPrimaryType)i).ToString()) == 0) + { + _EntityType = ((EntityPrimaryType)i); + break; + } + } + } + return _EntityType; + } + } + + public override string ToString() + { + StringBuilder stringBuilder = new StringBuilder(); + for (int indexQuatation = 0; quotations != null && indexQuatation < quotations.Length; indexQuatation++) + { + stringBuilder.Append("\n\t"); + stringBuilder.Append(quotations[indexQuatation].ToString()); + } + + return string.Format("[Entity: type={0} - EntityType={8}, relevance={1}, knowledgeGraph={2}, count={3}, text={4}, disambiguated={5}, quotations={6}, sentiment={7}]", type, relevance, knowledgeGraph, count, text, disambiguated, stringBuilder.ToString(), sentiment, EntityType); + } + + public bool HasGeographicInformation + { + get + { + string geoString = null; + if (disambiguated != null) + { + geoString = disambiguated.geo; + } + return !string.IsNullOrEmpty(geoString); + } + } + + private PositionOnMap _GeoLocation = null; + public PositionOnMap GeoLocation + { + get + { + if (_GeoLocation == null) + { + string geoString = null; + if (disambiguated != null) + { + geoString = disambiguated.geo; + if (!string.IsNullOrEmpty(geoString)) + { + string[] geoValues = geoString.Split(' '); + if (geoValues != null && geoValues.Length == 2) + { + double latitute = 0; + double longitutde = 0; + + if (double.TryParse(geoValues[0], out latitute) && double.TryParse(geoValues[1], out longitutde)) + { + _GeoLocation = new PositionOnMap(latitute, longitutde, disambiguated.name); + } + } + } + } + } + return _GeoLocation; + } + } + }; + + [fsObject] + public class KnowledgeGraph + { + public string typeHierarchy { get; set; } + + public override string ToString() + { + return string.Format("[KnowledgeGraph: typeHierarchy={0}]", typeHierarchy); + } + }; + + [fsObject] + public class Disambiguated + { + public string name { get; set; } + public string subType { get; set; } + public string website { get; set; } + public string geo { get; set; } + public string dbpedia { get; set; } + public string yago { get; set; } + public string opencyc { get; set; } + public string umbel { get; set; } + public string freebase { get; set; } + public string ciaFactbook { get; set; } + public string census { get; set; } + public string geonames { get; set; } + public string musicBrainz { get; set; } + public string crunchbase { get; set; } + + public override string ToString() + { + return string.Format("[Disambiguated: name={0}, subType={1}, website={2}, geo={3}, dbpedia={4}, yago={5}, opencyc={6}, umbel={7}, freebase={8}, ciaFactbook={9}, census={10}, geonames={11}, musicBrainz={12}, crunchbase={13}]", name, subType, website, geo, dbpedia, yago, opencyc, umbel, freebase, ciaFactbook, census, geonames, musicBrainz, crunchbase); + } + }; + + [fsObject] + public class Quotation + { + public string quotation { get; set; } + + public override string ToString() + { + return string.Format("[Quotation: quotation={0}]", quotation); + } + }; + + [fsObject] + public class Sentiment + { + public string type { get; set; } + public string score { get; set; } + public string mixed { get; set; } + + private double m_Score = 0; + public double Score + { + get + { + if (m_Score == 0) + { + if (!string.IsNullOrEmpty(score)) + { + double.TryParse(score, out m_Score); + } + } + + return m_Score; + } + } + + public override string ToString() + { + return string.Format("[Sentiment: type={0}, score={1}, mixed={2}]", type, score, mixed); + } + }; + + [fsObject] + public class CombinedCallData + { + public string status { get; set; } + public string totalTransactions { get; set; } + public string language { get; set; } + public string text { get; set; } + public Keyword[] keywords { get; set; } + public Entity[] entities { get; set; } + public Sentiment docSentiment { get; set; } + public Concept[] concepts { get; set; } + public Relation[] relations { get; set; } + public Taxonomy[] taxonomy { get; set; } + public DocEmotions[] docEmotions { get; set; } + public DateData[] dates { get; set; } + + public bool HasData + { + get + { + return EntityCombined != null && EntityCombined.Count > 0; + } + } + + private List _EntityCombined = null; + public List EntityCombined + { + get + { + if (_EntityCombined == null) + { + _EntityCombined = new List(); + + for (int i = 0; keywords != null && i < keywords.Length; i++) + { + if (!_EntityCombined.Contains(keywords[i].text)) + _EntityCombined.Add(keywords[i].text); + } + + for (int i = 0; entities != null && i < entities.Length; i++) + { + if (!_EntityCombined.Contains(entities[i].text)) + _EntityCombined.Add(entities[i].text); + } + } + + return _EntityCombined; + } + } + + public string EntityCombinedCommaSeperated + { + get + { + if (EntityCombined.Count > 0) + return string.Join(",", EntityCombined.ToArray()); + return ""; + } + } + + public string ToLongString() + { + StringBuilder stringBuilder = new StringBuilder(string.Format("[CombinedCallData: status={0}, totalTransactions={1}, language={2}, text={3}", status, totalTransactions, language, text)); + + stringBuilder.Append(EntityCombinedCommaSeperated); + for (int i = 0; dates != null && i < dates.Length; i++) + { + stringBuilder.Append(" Date: " + dates[i].DateValue.ToString()); + } + + return stringBuilder.ToString(); + } + + }; + + + [fsObject] + public class Keyword + { + public string text { get; set; } + public string relevance { get; set; } + public KnowledgeGraph knowledgeGraph { get; set; } + public Sentiment sentiment { get; set; } + + }; + + + [fsObject] + public class Concept + { + public string text { get; set; } + public string relevance { get; set; } + public KnowledgeGraph knowledgeGraph { get; set; } + public string website { get; set; } + public string geo { get; set; } + public string dbpedia { get; set; } + public string freebase { get; set; } + public string yago { get; set; } + public string opencyc { get; set; } + public string ciaFactbook { get; set; } + public string census { get; set; } + public string geonames { get; set; } + public string musicBrainz { get; set; } + public string crunchbase { get; set; } + }; + + [fsObject] + public class Relation + { + public string sentence { get; set; } + public Subject subject { get; set; } + public Entity entity { get; set; } + public Action action { get; set; } + public ObjectData @object { get; set; } + }; + + [fsObject] + public class Subject + { + public string text { get; set; } + public Sentiment sentiment { get; set; } + }; + + [fsObject] + public class Action + { + public string text { get; set; } + public string lemmatized { get; set; } + public Verb verb { get; set; } + }; + + [fsObject] + public class Verb + { + public string text { get; set; } + public string tense { get; set; } + public string negated { get; set; } + }; + + [fsObject] + public class ObjectData + { + public string text { get; set; } + public Sentiment sentiment { get; set; } + public Sentiment sentimentFromSubject { get; set; } + public Entity entity { get; set; } + }; + + [fsObject] + public class Taxonomy + { + public string label { get; set; } + public string score { get; set; } + public string confident { get; set; } + }; + + [fsObject] + public class DocEmotions + { + public string anger { get; set; } + public string disgust { get; set; } + public string fear { get; set; } + public string joy { get; set; } + public string sadness { get; set; } + }; + + [fsObject] + public class DateData + { + public string text { get; set; } + public string date { get; set; } + + private System.DateTime m_dateValue = default(System.DateTime); + public System.DateTime DateValue + { + get + { + if (m_dateValue == default(System.DateTime) && !string.IsNullOrEmpty(date) && date.Length > 8) + { + //19840101T000000 + System.DateTime.TryParseExact(date.Remove(8), + "yyyyddMM", + System.Globalization.CultureInfo.InvariantCulture, + System.Globalization.DateTimeStyles.None, + out m_dateValue); + + } + return m_dateValue; + } + } + }; + +} diff --git a/Scripts/Data/DataModels.cs.meta b/Scripts/Services/AlchemyAPI/DataModels.cs.meta similarity index 75% rename from Scripts/Data/DataModels.cs.meta rename to Scripts/Services/AlchemyAPI/DataModels.cs.meta index 8abae981e..b219c017d 100644 --- a/Scripts/Data/DataModels.cs.meta +++ b/Scripts/Services/AlchemyAPI/DataModels.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: ff91e91989b9b684587eaae3c4871b7a -timeCreated: 1446044993 +guid: 0a480c2be5cbf41a68233aec76ba03b0 +timeCreated: 1456178831 licenseType: Pro MonoImporter: serializedVersion: 2 diff --git a/Scripts/Services/DeepQA.meta b/Scripts/Services/DeepQA.meta new file mode 100644 index 000000000..7f839122b --- /dev/null +++ b/Scripts/Services/DeepQA.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 9002521369412b04aa8f73351400040b +folderAsset: yes +timeCreated: 1448900280 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/Services/DeepQA/DataModels.cs b/Scripts/Services/DeepQA/DataModels.cs new file mode 100644 index 000000000..a3914843b --- /dev/null +++ b/Scripts/Services/DeepQA/DataModels.cs @@ -0,0 +1,266 @@ +/** +* Copyright 2015 IBM Corp. All Rights Reserved. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +*/ + +using FullSerializer; +using System.Collections.Generic; + +namespace IBM.Watson.DeveloperCloud.Services.DeepQA.v1 +{ + [fsObject] + public class Value + { + public string value { get; set; } + }; + + [fsObject] + public class MetaDataMap + { + public string originalFile { get; set; } + public string title { get; set; } + public string corpusName { get; set; } + public string fileName { get; set; } + public string DOCNO { get; set; } + public string CorpusPlusDocno { get; set; } + }; + + [fsObject] + public class Evidence + { + public string value { get; set; } + public string text { get; set; } + public string id { get; set; } + public string title { get; set; } + public string document { get; set; } + public string copyright { get; set; } + public string termsOfUse { get; set; } + public MetaDataMap metadataMap { get; set; } + }; + + [fsObject] + public class Synonym + { + public bool isChosen { get; set; } + public string value { get; set; } + public double weight { get; set; } + }; + + [fsObject] + public class SynSet + { + public string name { get; set; } + public Synonym[] synSet { get; set; } + }; + + [fsObject] + public class SynonymList + { + public string partOfSpeech { get; set; } + public string value { get; set; } + public string lemma { get; set; } + public SynSet[] synSet { get; set; } + }; + + [fsObject] + public class EvidenceRequest + { + public long items { get; set; } + public string profile { get; set; } + }; + + [fsObject] + public class Answer + { + public long id { get; set; } + public string text { get; set; } + public string pipeline { get; set; } + public string formattedText { get; set; } + public double confidence { get; set; } + public Evidence[] evidence { get; set; } + public string[] entityTypes { get; set; } + + private static string CleanInnerText(string text) + { + text = text.Replace(" ", " "); + text = text.Replace("\\n", "\n"); + text = text.Replace("\\r", "\r"); + text = text.Replace("\\t", "\t"); + return text.Trim(new char[] { '\n', '\r', '\t', ' ' }); + } + + [fsObject] + public class Cell + { + public string Value { get; set; } + public int ColSpan { get; set; } // how many colums does this cell span, by default just 1.. + public bool Highlighted { get; set; } + }; + [fsObject] + public class Row + { + public Cell[] columns { get; set; } + }; + + [fsObject] + public class Table + { + public Row[] rows { get; set; } + }; + + /// + /// Helper function to extract all tables from the formatted answer + /// + /// An array of all tables found. + public Table[] ExtractTables(string answer) + { + if (!string.IsNullOrEmpty(formattedText)) + { + HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); + doc.LoadHtml(formattedText); + + if (doc.DocumentNode == null) + return null; + var table_nodes = doc.DocumentNode.SelectNodes("//table"); + if (table_nodes == null) + return null; + + List tables = new List
(); + foreach (var table in table_nodes) + { + var row_nodes = table.SelectNodes("*/tr"); + if (row_nodes == null) + continue; + + List rows = new List(); + foreach (var row in row_nodes) + { + var cell_nodes = row.SelectNodes("*/th|td"); + if (cell_nodes == null) + continue; + + List cells = new List(); + foreach (var cell in cell_nodes) + { + string text = CleanInnerText(cell.InnerText); + + int colspan = 1; + if (cell.Attributes.Contains("colspan")) + colspan = int.Parse(cell.Attributes["colspan"].Value); + bool bHighlighted = false; + if (text == answer) + bHighlighted = true; + + cells.Add(new Cell() { Value = text, ColSpan = colspan, Highlighted = bHighlighted }); + for (int i = 1; i < colspan; ++i) + cells.Add(null); // add empty cells for the spans + } + + rows.Add(new Row() { columns = cells.ToArray() }); + } + + tables.Add(new Table() { rows = rows.ToArray() }); + } + + return tables.ToArray(); + } + + return null; + } + }; + [fsObject] + public class Slots + { + public string pred { get; set; } + public string subj { get; set; } + public string objprep { get; set; } + public string psubj { get; set; } + }; + [fsObject] + public class Word + { + public Slots compSlotParseNodes { get; set; } + public string slotname { get; set; } + public string wordtext { get; set; } + public string slotnameoptions { get; set; } + public string wordsense { get; set; } + public string numericsense { get; set; } + public string seqno { get; set; } + public string wordbegin { get; set; } + public string framebegin { get; set; } + public string frameend { get; set; } + public string wordend { get; set; } + public string features { get; set; } + public Word[] lmods { get; set; } + public Word[] rmods { get; set; } + }; + [fsObject] + public class ParseTree : Word + { + public string parseScore { get; set; } + }; + + [fsObject] + public class Question + { + public Value[] qclasslist { get; set; } + public Value[] focuslist { get; set; } + public Value[] latlist { get; set; } + public Evidence[] evidencelist { get; set; } + public SynonymList[] synonymList { get; set; } + public string[] disambiguatedEntities { get; set; } + public ParseTree[] xsgtopparses { get; set; } + public string casXml { get; set; } + public string pipelineid { get; set; } + public bool formattedAnswer { get; set; } + public string selectedProcessingComponents { get; set; } + public string category { get; set; } + public long items { get; set; } + public string status { get; set; } + public string id { get; set; } + public string questionText { get; set; } + public EvidenceRequest evidenceRequest { get; set; } + public Answer[] answers { get; set; } + public string[] errorNotifications { get; set; } + public string passthru { get; set; } + + public string questionId { get; set; } // local cache ID + }; + [fsObject] + public class QuestionClass + { + public string out_of_domain { get; set; } + public string question { get; set; } + public string domain { get; set; } + }; + /// + /// The response object for QA.AskQuestion(). + /// + [fsObject] + public class Response + { + public Question question { get; set; } + public QuestionClass[] questionClasses { get; set; } + }; + + /// + /// A list of responses. + /// + [fsObject] + public class ResponseList + { + public Response[] responses { get; set; } + }; +} diff --git a/Scripts/Services/DeepQA/DataModels.cs.meta b/Scripts/Services/DeepQA/DataModels.cs.meta new file mode 100644 index 000000000..f775e0eb9 --- /dev/null +++ b/Scripts/Services/DeepQA/DataModels.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 529b5adacb28b6046974e56f3902ac0e +timeCreated: 1455316853 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/Services/DeepQA/DeepQA.cs b/Scripts/Services/DeepQA/DeepQA.cs new file mode 100644 index 000000000..75f5e1b9e --- /dev/null +++ b/Scripts/Services/DeepQA/DeepQA.cs @@ -0,0 +1,239 @@ +/** +* Copyright 2015 IBM Corp. All Rights Reserved. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +*/ + + +using FullSerializer; +using IBM.Watson.DeveloperCloud.Connection; +using IBM.Watson.DeveloperCloud.Logging; +using IBM.Watson.DeveloperCloud.Utilities; +using System; +using System.Collections.Generic; +using System.Text; + +namespace IBM.Watson.DeveloperCloud.Services.DeepQA.v1 +{ + /// + /// The DeepQA provides an abstraction for the deepQa/ services of Watson. + /// + public class DeepQA : IWatsonService + { + #region Public Types + /// + public delegate void OnQuestion(Question response); + #endregion + + #region Public Properties + /// + /// True to disable the question cache. + /// + public bool DisableCache { get; set; } + #endregion + + #region Private Data + private string m_ServiceId = null; + private DataCache m_QuestionCache = null; + + private static fsSerializer sm_Serializer = new fsSerializer(); + private const string ASK_QUESTION = "/v1/question"; + #endregion + + /// + /// Public constructor. + /// + /// The ID of the pipeline for caching purposes. + public DeepQA(string serviceId) + { + m_ServiceId = serviceId; + } + + #region AskQuestion + /// + /// This function flushes all data from the answer cache. + /// + public void FlushAnswerCache() + { + if (m_QuestionCache == null) + m_QuestionCache = new DataCache(m_ServiceId); + + m_QuestionCache.Flush(); + } + + /// + /// + /// + /// + /// + public Question FindQuestion(string questionId) + { + if (m_QuestionCache == null) + m_QuestionCache = new DataCache(m_ServiceId); + + byte[] cachedQuestion = m_QuestionCache.Find(questionId); + if (cachedQuestion != null) + { + Response response = ProcessAskResp(cachedQuestion); + if (response != null) + { + response.question.questionId = questionId; + return response.question; + } + } + + return null; + } + + /// + /// Ask a question using the given pipeline. + /// + /// The text of the question. + /// The callback to receive the response. + /// Returns true if the request was submitted. + public bool AskQuestion(string question, OnQuestion callback, int evidenceItems = 1, bool useCache = true) + { + if (string.IsNullOrEmpty(question)) + throw new ArgumentNullException("question"); + if (callback == null) + throw new ArgumentNullException("callback"); + + string questionId = Utility.GetMD5(question); + if (!DisableCache && useCache) + { + Question q = FindQuestion(questionId); + if (q != null) + { + callback(q); + return true; + } + } + + RESTConnector connector = RESTConnector.GetConnector(m_ServiceId, ASK_QUESTION); + if (connector == null) + return false; + + Dictionary questionJson = new Dictionary(); + questionJson["question"] = new Dictionary() { + { "questionText", question }, + { "formattedAnswer", "true" }, + { "evidenceRequest", new Dictionary() { + { "items", evidenceItems }, + { "profile", "NO" } + } } + }; + string json = MiniJSON.Json.Serialize(questionJson); + + AskQuestionReq req = new AskQuestionReq(); + req.QuestionID = questionId; + req.Callback = callback; + req.Headers["Content-Type"] = "application/json"; + req.Headers["X-Synctimeout"] = "-1"; + req.Send = Encoding.UTF8.GetBytes(json); + req.OnResponse = OnAskQuestionResp; + + return connector.Send(req); + } + private class AskQuestionReq : RESTConnector.Request + { + public string QuestionID { get; set; } + public OnQuestion Callback { get; set; } + }; + private void OnAskQuestionResp(RESTConnector.Request req, RESTConnector.Response resp) + { + Response response = null; + if (resp.Success) + { + try + { + response = ProcessAskResp(resp.Data); + if (m_QuestionCache != null && response != null) + m_QuestionCache.Save(((AskQuestionReq)req).QuestionID, resp.Data); + } + catch (Exception e) + { + Log.Error("Natural Language Classifier", "GetClassifiers Exception: {0}", e.ToString()); + resp.Success = false; + } + } + + if (((AskQuestionReq)req).Callback != null) + { + if (resp.Success && response != null) + { + response.question.questionId = ((AskQuestionReq)req).QuestionID; + ((AskQuestionReq)req).Callback(response.question); + } + else + ((AskQuestionReq)req).Callback(null); + } + } + + private Response ProcessAskResp(byte[] json_data) + { + Response response = new Response(); + + fsData data = null; + fsResult r = fsJsonParser.Parse(Encoding.UTF8.GetString(json_data), out data); + if (!r.Succeeded) + throw new WatsonException(r.FormattedMessages); + + object obj = response; + r = sm_Serializer.TryDeserialize(data, obj.GetType(), ref obj); + if (!r.Succeeded) + throw new WatsonException(r.FormattedMessages); + + return response; + } + + #endregion + + #region IWatsonService interface + /// + public string GetServiceID() + { + return m_ServiceId; + } + + /// + public void GetServiceStatus(ServiceStatus callback) + { + if (Config.Instance.FindCredentials(m_ServiceId) != null) + new CheckServiceStatus(this, callback); + else + callback(m_ServiceId, false); + } + + private class CheckServiceStatus + { + private DeepQA m_Service = null; + private ServiceStatus m_Callback = null; + + public CheckServiceStatus(DeepQA service, ServiceStatus callback) + { + m_Service = service; + m_Callback = callback; + + if (!m_Service.AskQuestion("What is the best treatment for an African American male in heart failure?", OnQuestion, 1, false)) + m_Callback(m_Service.GetServiceID(), false); + } + + private void OnQuestion(Question question) + { + m_Callback(m_Service.GetServiceID(), question != null); + } + }; + #endregion + } +} diff --git a/Scripts/Services/DeepQA/DeepQA.cs.meta b/Scripts/Services/DeepQA/DeepQA.cs.meta new file mode 100644 index 000000000..087b04708 --- /dev/null +++ b/Scripts/Services/DeepQA/DeepQA.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 27878f6fe2dca8543a2b731548682535 +timeCreated: 1446756568 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts.meta b/Scripts/Services/Dialog.meta similarity index 67% rename from Scripts.meta rename to Scripts/Services/Dialog.meta index 2802f5d6d..c319692b7 100644 --- a/Scripts.meta +++ b/Scripts/Services/Dialog.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 -guid: d269d95ef1d59924e8e3100cc574c454 +guid: e58ce5c8c18783a4a95357acc31cb0da folderAsset: yes -timeCreated: 1450483647 +timeCreated: 1455314901 licenseType: Free DefaultImporter: userData: diff --git a/Scripts/Services/Dialog/DataModels.cs b/Scripts/Services/Dialog/DataModels.cs new file mode 100644 index 000000000..95094fe80 --- /dev/null +++ b/Scripts/Services/Dialog/DataModels.cs @@ -0,0 +1,76 @@ +/** +* Copyright 2015 IBM Corp. All Rights Reserved. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +*/ + + +using FullSerializer; + +namespace IBM.Watson.DeveloperCloud.Services.Dialog.v1 +{ + /// + /// This data class is contained by Dialogs, it represents a single dialog available. + /// + [fsObject] + public class DialogEntry + { + /// + /// The dialog ID. + /// + public string dialog_id { get; set; } + /// + /// The user supplied name for the dialog. + /// + public string name { get; set; } + }; + /// + /// The object returned by GetDialogs(). + /// + [fsObject] + public class Dialogs + { + /// + /// The array of Dialog's available. + /// + public DialogEntry[] dialogs { get; set; } + }; + /// + /// This data class holds the response to a call to Converse(). + /// + [fsObject] + public class ConverseResponse + { + /// + /// An array of response strings. + /// + public string[] response { get; set; } + /// + /// The text input passed into Converse(). + /// + public string input { get; set; } + /// + /// The conversation ID to use in future calls to Converse(). + /// + public int conversation_id { get; set; } + /// + /// The confidence in this response. + /// + public double confidence { get; set; } + /// + /// The client ID of the user. + /// + public int client_id { get; set; } + }; +} diff --git a/Scripts/Services/Dialog/DataModels.cs.meta b/Scripts/Services/Dialog/DataModels.cs.meta new file mode 100644 index 000000000..136cc86f8 --- /dev/null +++ b/Scripts/Services/Dialog/DataModels.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 978108c1ae149ec4cbff82afa10585e4 +timeCreated: 1455315453 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Services/v1/Dialog.cs b/Scripts/Services/Dialog/Dialog.cs similarity index 72% rename from Services/v1/Dialog.cs rename to Scripts/Services/Dialog/Dialog.cs index 89f4c8ccb..db8f08c48 100644 --- a/Services/v1/Dialog.cs +++ b/Scripts/Services/Dialog/Dialog.cs @@ -18,7 +18,6 @@ using IBM.Watson.DeveloperCloud.Logging; using IBM.Watson.DeveloperCloud.Connection; using IBM.Watson.DeveloperCloud.Utilities; -using IBM.Watson.DeveloperCloud.DataModels; using MiniJSON; using System; using System.Collections.Generic; @@ -27,7 +26,7 @@ using System.Collections; using System.IO; -namespace IBM.Watson.DeveloperCloud.Services.v1 +namespace IBM.Watson.DeveloperCloud.Services.Dialog.v1 { /// /// This class wraps the Watson Dialog service. @@ -40,34 +39,34 @@ public class Dialog : IWatsonService /// This callback is passed into GetDialogs(). /// /// The list of dialogs returned by GetDialogs(). - public delegate void OnGetDialogs( Dialogs dialogs ); + public delegate void OnGetDialogs(Dialogs dialogs); /// /// The callback for UploadDialog(). /// /// - public delegate void OnUploadDialog( string dialog_id ); + public delegate void OnUploadDialog(string dialog_id); /// /// The callback for DeleteDialog(). /// /// - public delegate void OnDialogCallback( bool success ); + public delegate void OnDialogCallback(bool success); /// /// The delegate for loading a file, used by UploadDialog(). /// /// The filename to load. /// Should return a byte array of the file contents or null of failure. - public delegate byte [] LoadFileDelegate( string filename ); + public delegate byte[] LoadFileDelegate(string filename); /// /// The delegate for saving a file, used by DownloadDialog(). /// /// The filename to save. /// The data to save into the file. - public delegate void SaveFileDelegate( string filename, byte [] data ); + public delegate void SaveFileDelegate(string filename, byte[] data); /// /// The callback delegate for the Converse() function. /// /// The response object to a call to Converse(). - public delegate void OnConverse( ConverseResponse resp ); + public delegate void OnConverse(ConverseResponse resp); #endregion #region Public Properties @@ -130,7 +129,7 @@ private void OnGetDialogsResp(RESTConnector.Request req, RESTConnector.Response } catch (Exception e) { - Log.Error("NLC", "GetDialogs Exception: {0}", e.ToString()); + Log.Error("Dialog", "GetDialogs Exception: {0}", e.ToString()); resp.Success = false; } } @@ -168,7 +167,7 @@ public enum DialogFormat /// The callback to invoke on failure or success. /// The format to download. /// Returns true if request is sent. - public bool DownloadDialog( string dialogId, string dialogFileName, OnDialogCallback callback, DialogFormat format = DialogFormat.XML ) + public bool DownloadDialog(string dialogId, string dialogFileName, OnDialogCallback callback, DialogFormat format = DialogFormat.XML) { if (string.IsNullOrEmpty(dialogId)) throw new ArgumentNullException("dialogId"); @@ -177,7 +176,7 @@ public bool DownloadDialog( string dialogId, string dialogFileName, OnDialogCall if (callback == null) throw new ArgumentNullException("callback"); - RESTConnector connector = RESTConnector.GetConnector(SERVICE_ID, "/v1/dialogs/" + dialogId ); + RESTConnector connector = RESTConnector.GetConnector(SERVICE_ID, "/v1/dialogs/" + dialogId); if (connector == null) return false; @@ -185,11 +184,11 @@ public bool DownloadDialog( string dialogId, string dialogFileName, OnDialogCall req.DialogFileName = dialogFileName; req.Callback = callback; req.OnResponse = OnDownloadDialogResp; - if ( format == DialogFormat.XML ) + if (format == DialogFormat.XML) req.Headers["Accept"] = "application/wds+xml"; - else if ( format == DialogFormat.JSON ) + else if (format == DialogFormat.JSON) req.Headers["Accept"] = "application/wds+json"; - else + else req.Headers["Accept"] = "application/octet-stream"; return connector.Send(req); @@ -204,30 +203,31 @@ private class DownloadDialogReq : RESTConnector.Request private void OnDownloadDialogResp(RESTConnector.Request req, RESTConnector.Response resp) { DownloadDialogReq downloadReq = req as DownloadDialogReq; - if ( downloadReq == null ) - throw new WatsonException( "Unexpected type." ); + if (downloadReq == null) + throw new WatsonException("Unexpected type."); if (resp.Success) { - try { - if ( SaveFile != null ) - SaveFile( downloadReq.DialogFileName, resp.Data ); + try + { + if (SaveFile != null) + SaveFile(downloadReq.DialogFileName, resp.Data); else - { - #if !UNITY_WEBPLAYER - File.WriteAllBytes( downloadReq.DialogFileName, resp.Data ); - #endif - } + { +#if !UNITY_WEBPLAYER + File.WriteAllBytes(downloadReq.DialogFileName, resp.Data); +#endif + } } - catch( Exception e ) + catch (Exception e) { - Log.Error( "Dialog", "Caught exception: {0}", e.ToString() ); + Log.Error("Dialog", "Caught exception: {0}", e.ToString()); resp.Success = false; } } if (((DownloadDialogReq)req).Callback != null) - ((DownloadDialogReq)req).Callback( resp.Success ); + ((DownloadDialogReq)req).Callback(resp.Success); } #endregion @@ -239,28 +239,30 @@ private void OnDownloadDialogResp(RESTConnector.Request req, RESTConnector.Respo /// The callback to receive the dialog ID. /// The filename of the dialog file to upload. /// Returns true if the upload was submitted. - public bool UploadDialog( string dialogName, OnUploadDialog callback, string dialogFileName ) + public bool UploadDialog(string dialogName, OnUploadDialog callback, string dialogFileName) { if (string.IsNullOrEmpty(dialogFileName)) throw new ArgumentNullException("dialogFileName"); - byte [] dialogData = null; + byte[] dialogData = null; if (LoadFile != null) - dialogData = LoadFile (dialogFileName); - else - { - #if !UNITY_WEBPLAYER - dialogData = File.ReadAllBytes (dialogFileName); - #endif - } - - if ( dialogData == null ) { - Log.Error( "Dialog", "Failed to load dialog file data {0}", dialogFileName ); + dialogData = LoadFile(dialogFileName); + } + else + { +#if !UNITY_WEBPLAYER + dialogData = File.ReadAllBytes(dialogFileName); +#endif + } + + if (dialogData == null) + { + Log.Error("Dialog", "Failed to load dialog file data {0}", dialogFileName); return false; } - return UploadDialog( dialogName, callback, dialogData, Path.GetFileName( dialogFileName ) ); + return UploadDialog(dialogName, callback, dialogData, Path.GetFileName(dialogFileName)); } /// @@ -271,7 +273,7 @@ public bool UploadDialog( string dialogName, OnUploadDialog callback, string dia /// The raw byte data of the dialog. /// This must be the filename including the extension so the dialog service knows how to parse the data. /// Returns true if the upload was submitted. - public bool UploadDialog( string dialogName, OnUploadDialog callback, byte [] dialogData, string dataFileName ) + public bool UploadDialog(string dialogName, OnUploadDialog callback, byte[] dialogData, string dataFileName) { if (string.IsNullOrEmpty(dialogName)) throw new ArgumentNullException("dialogName"); @@ -279,7 +281,7 @@ public bool UploadDialog( string dialogName, OnUploadDialog callback, byte [] di throw new ArgumentNullException("callback"); if (dialogData == null) throw new ArgumentNullException("dialogData"); - if (string.IsNullOrEmpty(dataFileName) ) + if (string.IsNullOrEmpty(dataFileName)) throw new ArgumentNullException("dataFileName"); RESTConnector connector = RESTConnector.GetConnector(SERVICE_ID, "/v1/dialogs"); @@ -290,8 +292,9 @@ public bool UploadDialog( string dialogName, OnUploadDialog callback, byte [] di req.Callback = callback; req.OnResponse = OnCreateDialogResp; req.Forms = new Dictionary(); - req.Forms["name"] = new RESTConnector.Form( dialogName ); - req.Forms["file"] = new RESTConnector.Form( dialogData, dataFileName ); + req.Forms["name"] = new RESTConnector.Form(dialogName); + req.Forms["file"] = new RESTConnector.Form(dialogData, dataFileName); + req.Timeout = 10 * 60.0f; // increase timeout to 10 minutes return connector.Send(req); } @@ -307,18 +310,18 @@ private void OnCreateDialogResp(RESTConnector.Request req, RESTConnector.Respons { try { - IDictionary json = Json.Deserialize( Encoding.UTF8.GetString( resp.Data ) ) as IDictionary; + IDictionary json = Json.Deserialize(Encoding.UTF8.GetString(resp.Data)) as IDictionary; id = (string)json["dialog_id"]; } catch (Exception e) { - Log.Error("NLC", "UploadDialog Exception: {0}", e.ToString()); + Log.Error("Natural Language Classifier", "UploadDialog Exception: {0}", e.ToString()); resp.Success = false; } } if (((UploadDialogReq)req).Callback != null) - ((UploadDialogReq)req).Callback( id ); + ((UploadDialogReq)req).Callback(id); } #endregion @@ -329,14 +332,14 @@ private void OnCreateDialogResp(RESTConnector.Request req, RESTConnector.Respons /// The ID of the dialog to delete. /// The callback to invoke on success or failure. /// Returns true if request is sent. - public bool DeleteDialog( string dialogId, OnDialogCallback callback ) + public bool DeleteDialog(string dialogId, OnDialogCallback callback) { if (string.IsNullOrEmpty(dialogId)) throw new ArgumentNullException("dialogId"); if (callback == null) throw new ArgumentNullException("callback"); - RESTConnector connector = RESTConnector.GetConnector(SERVICE_ID, "/v1/dialogs/" + dialogId ); + RESTConnector connector = RESTConnector.GetConnector(SERVICE_ID, "/v1/dialogs/" + dialogId); if (connector == null) return false; @@ -356,7 +359,7 @@ private class DeleteDialogReq : RESTConnector.Request private void OnDeleteDialogResp(RESTConnector.Request req, RESTConnector.Response resp) { if (((DeleteDialogReq)req).Callback != null) - ((DeleteDialogReq)req).Callback( resp.Success ); + ((DeleteDialogReq)req).Callback(resp.Success); } #endregion @@ -370,8 +373,8 @@ private void OnDeleteDialogResp(RESTConnector.Request req, RESTConnector.Respons /// The conversation ID to use, if 0 then a new conversation will be started. /// The client ID of the user. /// Returns true if the request was submitted to the back-end. - public bool Converse( string dialogId, string input, OnConverse callback, - int conversation_id = 0, int client_id = 0 ) + public bool Converse(string dialogId, string input, OnConverse callback, + int conversation_id = 0, int client_id = 0) { if (string.IsNullOrEmpty(dialogId)) throw new ArgumentNullException("dialogId"); @@ -389,11 +392,11 @@ public bool Converse( string dialogId, string input, OnConverse callback, req.Callback = callback; req.OnResponse = ConverseResp; req.Forms = new Dictionary(); - req.Forms["input"] = new RESTConnector.Form( input ); - if ( conversation_id != 0 ) - req.Forms["conversation_id"] = new RESTConnector.Form( conversation_id ); - if ( client_id != 0 ) - req.Forms["client_id"] = new RESTConnector.Form( client_id ); + req.Forms["input"] = new RESTConnector.Form(input); + if (conversation_id != 0) + req.Forms["conversation_id"] = new RESTConnector.Form(conversation_id); + if (client_id != 0) + req.Forms["client_id"] = new RESTConnector.Form(client_id); return connector.Send(req); } @@ -420,7 +423,7 @@ private void ConverseResp(RESTConnector.Request req, RESTConnector.Response resp } catch (Exception e) { - Log.Error("NLC", "ConverseResp Exception: {0}", e.ToString()); + Log.Error("Natural Language Classifier", "ConverseResp Exception: {0}", e.ToString()); resp.Success = false; } } @@ -440,30 +443,84 @@ public string GetServiceID() /// public void GetServiceStatus(ServiceStatus callback) { - if ( Config.Instance.FindCredentials( SERVICE_ID ) != null ) - new CheckServiceStatus( this, callback ); + if (Config.Instance.FindCredentials(SERVICE_ID) != null) + new CheckServiceStatus(this, callback); else - callback( SERVICE_ID, false ); + { + if (callback != null && callback.Target != null) + { + callback(SERVICE_ID, false); + } + } } private class CheckServiceStatus { private Dialog m_Service = null; private ServiceStatus m_Callback = null; + private int m_DialogCount = 0; - public CheckServiceStatus( Dialog service, ServiceStatus callback ) + public CheckServiceStatus(Dialog service, ServiceStatus callback) { m_Service = service; m_Callback = callback; - if (! m_Service.GetDialogs( OnGetDialogs ) ) - m_Callback( SERVICE_ID, false ); + string customServiceID = Config.Instance.GetVariableValue(SERVICE_ID + "_ID"); + + //If custom classifierID is defined then we are using it to check the service health + if (!string.IsNullOrEmpty(customServiceID)) + { + + if (!m_Service.Converse(customServiceID, "Hello", OnDialog)) + OnFailure("Failed to invoke Converse()."); + else + m_DialogCount += 1; + } + else + { + if (!m_Service.GetDialogs(OnGetDialogs)) + OnFailure("Failed to invoke GetDialogs()."); + } + + + } + + private void OnGetDialogs(Dialogs dialogs) + { + if (m_Callback != null) + { + foreach (var dialog in dialogs.dialogs) + { + if (!m_Service.Converse(dialog.dialog_id, "Hello", OnDialog)) + OnFailure("Failed to invoke Converse()."); + else + m_DialogCount += 1; + } + } + else + OnFailure("GetDialogs() failed."); + } + + private void OnDialog(ConverseResponse resp) + { + if (m_DialogCount > 0) + { + m_DialogCount -= 1; + if (resp != null) + { + if (m_DialogCount == 0 && m_Callback != null && m_Callback.Target != null) + m_Callback(SERVICE_ID, true); + } + else + OnFailure("ConverseResponse is null."); + } } - private void OnGetDialogs( Dialogs dialogs ) + private void OnFailure(string msg) { - if ( m_Callback != null ) - m_Callback( SERVICE_ID, dialogs != null ); + Log.Error("Dialog", msg); + m_Callback(SERVICE_ID, false); + m_DialogCount = 0; } }; #endregion diff --git a/Services/v1/Dialog.cs.meta b/Scripts/Services/Dialog/Dialog.cs.meta similarity index 100% rename from Services/v1/Dialog.cs.meta rename to Scripts/Services/Dialog/Dialog.cs.meta diff --git a/Services/IWatsonService.cs b/Scripts/Services/IWatsonService.cs similarity index 69% rename from Services/IWatsonService.cs rename to Scripts/Services/IWatsonService.cs index a3cfb00cc..ec78e761a 100644 --- a/Services/IWatsonService.cs +++ b/Scripts/Services/IWatsonService.cs @@ -1,4 +1,8 @@ -/** + + + +using IBM.Watson.DeveloperCloud.Utilities; +/** * Copyright 2015 IBM Corp. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -14,8 +18,6 @@ * limitations under the License. * */ - - using System; using System.Collections.Generic; @@ -26,7 +28,7 @@ namespace IBM.Watson.DeveloperCloud.Services /// /// The ID of the service. /// The status of the service, true is up, false is down. - public delegate void ServiceStatus( string serviceID, bool active ); + public delegate void ServiceStatus(string serviceID, bool active); /// /// This interface defines common interface for all watson services. @@ -43,7 +45,7 @@ public interface IWatsonService /// state of the service once determined. /// /// The callback to invoke. - void GetServiceStatus( ServiceStatus callback ); + void GetServiceStatus(ServiceStatus callback); } /// @@ -55,15 +57,22 @@ public static class ServiceHelper /// This returns a instance of all services. /// /// An array of IWatsonService instances. - public static IWatsonService [] GetAllServices() + public static IWatsonService[] GetAllServices(bool reqCredentials = false) { List services = new List(); - Type [] types = Utilities.Utility.FindAllDerivedTypes( typeof(IWatsonService) ); - foreach( var type in types ) + Type[] types = Utilities.Utility.FindAllDerivedTypes(typeof(IWatsonService)); + foreach (var type in types) { - object serviceObject = Activator.CreateInstance( type ); - services.Add( serviceObject as IWatsonService ); + try + { + IWatsonService serviceObject = Activator.CreateInstance(type) as IWatsonService; + if (reqCredentials && Config.Instance.FindCredentials(serviceObject.GetServiceID()) == null) + continue; // skip services that don't have credential data.. + services.Add(serviceObject as IWatsonService); + } + catch (Exception) + { } } return services.ToArray(); diff --git a/Services/IWatsonService.cs.meta b/Scripts/Services/IWatsonService.cs.meta similarity index 100% rename from Services/IWatsonService.cs.meta rename to Scripts/Services/IWatsonService.cs.meta diff --git a/Scripts/Utilities/Prefabs.meta b/Scripts/Services/LanguageTranslation.meta similarity index 67% rename from Scripts/Utilities/Prefabs.meta rename to Scripts/Services/LanguageTranslation.meta index 28c220858..3d2fcb3a2 100644 --- a/Scripts/Utilities/Prefabs.meta +++ b/Scripts/Services/LanguageTranslation.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 -guid: 076e60c8a3f92d841ae4c7eac235eaa6 +guid: 7f587f2d02126974981989a10e136fc0 folderAsset: yes -timeCreated: 1450483647 +timeCreated: 1455315453 licenseType: Free DefaultImporter: userData: diff --git a/Scripts/Services/LanguageTranslation/DataModels.cs b/Scripts/Services/LanguageTranslation/DataModels.cs new file mode 100644 index 000000000..fbc7f3722 --- /dev/null +++ b/Scripts/Services/LanguageTranslation/DataModels.cs @@ -0,0 +1,137 @@ +/** +* Copyright 2015 IBM Corp. All Rights Reserved. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +*/ + + +using FullSerializer; + +namespace IBM.Watson.DeveloperCloud.Services.LanguageTranslation.v1 +{ + /// + /// Language data class. + /// + [fsObject] + public class Language + { + /// + /// String that contains the country code. + /// + public string language { get; set; } // country code of the language + /// + /// The language name. + /// + public string name { get; set; } // name of the language + } + /// + /// Languages data class. + /// + [fsObject] + public class Languages + { + /// + /// Array of language objects. + /// + public Language[] languages { get; set; } + } + /// + /// Translation data class. + /// + [fsObject] + public class Translation + { + /// + /// Translation text. + /// + public string translation { get; set; } + }; + /// + /// Translate data class returned by the TranslateCallback. + /// + [fsObject] + public class Translations + { + /// + /// Number of words in the translation. + /// + public long word_count { get; set; } + /// + /// Number of characters in the translation. + /// + public long character_count { get; set; } + /// + /// A array of translations. + /// + public Translation[] translations { get; set; } + } + /// + /// Language model data class. + /// + [fsObject] + public class TranslationModel + { + /// + /// The language model ID. + /// + public string model_id { get; set; } + /// + /// The name of the language model. + /// + public string name { get; set; } + /// + /// The source language ID. + /// + public string source { get; set; } + /// + /// The target language ID. + /// + public string target { get; set; } + /// + /// The model of which this model was based. + /// + public string base_model_id { get; set; } + /// + /// The domain of the language model. + /// + public string domain { get; set; } + /// + /// Is this model customizable? + /// + public bool customizable { get; set; } + /// + /// Is this model default. + /// + public bool @default { get; set; } + /// + /// Who is the owner of this model. + /// + public string owner { get; set; } + /// + /// What is the status of this model. + /// + public string status { get; set; } + } + /// + /// Models data class. + /// + [fsObject] + public class TranslationModels + { + /// + /// The array of TranslationModel objects. + /// + public TranslationModel[] models { get; set; } + } +} diff --git a/Scripts/Services/LanguageTranslation/DataModels.cs.meta b/Scripts/Services/LanguageTranslation/DataModels.cs.meta new file mode 100644 index 000000000..e377e15f9 --- /dev/null +++ b/Scripts/Services/LanguageTranslation/DataModels.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6ff0246806c15334b91c2ec864f6cde0 +timeCreated: 1455315453 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Services/v1/LanguageTranslation.cs b/Scripts/Services/LanguageTranslation/LanguageTranslation.cs similarity index 94% rename from Services/v1/LanguageTranslation.cs rename to Scripts/Services/LanguageTranslation/LanguageTranslation.cs index 2b9b778d8..8abb1da63 100644 --- a/Services/v1/LanguageTranslation.cs +++ b/Scripts/Services/LanguageTranslation/LanguageTranslation.cs @@ -20,13 +20,12 @@ using IBM.Watson.DeveloperCloud.Connection; using IBM.Watson.DeveloperCloud.Utilities; using IBM.Watson.DeveloperCloud.Logging; -using IBM.Watson.DeveloperCloud.DataModels; using System.Text; using MiniJSON; using System; using FullSerializer; -namespace IBM.Watson.DeveloperCloud.Services.v1 +namespace IBM.Watson.DeveloperCloud.Services.LanguageTranslation.v1 { /// /// This class wraps the Language Translation service. @@ -154,7 +153,7 @@ private void TranslateResponse(RESTConnector.Request req, RESTConnector.Response } catch (Exception e) { - Log.Error("NLC", "GetTranslation Exception: {0}", e.ToString()); + Log.Error("Natural Language Classifier", "GetTranslation Exception: {0}", e.ToString()); resp.Success = false; } } @@ -244,7 +243,7 @@ private void GetModelsResponse(RESTConnector.Request req, RESTConnector.Response } catch (Exception e) { - Log.Error("NLC", "GetModels Exception: {0}", e.ToString()); + Log.Error("Natural Language Classifier", "GetModels Exception: {0}", e.ToString()); resp.Success = false; } } @@ -302,7 +301,7 @@ private void GetModelResponse(RESTConnector.Request req, RESTConnector.Response } catch (Exception e) { - Log.Error("NLC", "GetModel Exception: {0}", e.ToString()); + Log.Error("Natural Language Classifier", "GetModel Exception: {0}", e.ToString()); resp.Success = false; } } @@ -358,7 +357,7 @@ private void GetLanguagesResponse(RESTConnector.Request req, RESTConnector.Respo } catch (Exception e) { - Log.Error("NLC", "GetLanguages Exception: {0}", e.ToString()); + Log.Error("Natural Language Classifier", "GetLanguages Exception: {0}", e.ToString()); resp.Success = false; } } @@ -430,10 +429,10 @@ public string GetServiceID() /// public void GetServiceStatus(ServiceStatus callback) { - if ( Config.Instance.FindCredentials( SERVICE_ID ) != null ) - new CheckServiceStatus( this, callback ); + if (Config.Instance.FindCredentials(SERVICE_ID) != null) + new CheckServiceStatus(this, callback); else - callback( SERVICE_ID, false ); + callback(SERVICE_ID, false); } private class CheckServiceStatus @@ -441,23 +440,21 @@ private class CheckServiceStatus private LanguageTranslation m_Service = null; private ServiceStatus m_Callback = null; - public CheckServiceStatus( LanguageTranslation service, ServiceStatus callback ) + public CheckServiceStatus(LanguageTranslation service, ServiceStatus callback) { m_Service = service; m_Callback = callback; - if (! m_Service.GetLanguages( OnCheckService ) ) - m_Callback( SERVICE_ID, false ); + if (!m_Service.GetLanguages(OnCheckService)) + m_Callback(SERVICE_ID, false); } - private void OnCheckService( Languages langs ) + private void OnCheckService(Languages langs) { - if ( m_Callback != null ) - m_Callback( SERVICE_ID, langs != null ); + if (m_Callback != null) + m_Callback(SERVICE_ID, langs != null); } }; #endregion } - } - diff --git a/Services/v1/LanguageTranslation.cs.meta b/Scripts/Services/LanguageTranslation/LanguageTranslation.cs.meta similarity index 100% rename from Services/v1/LanguageTranslation.cs.meta rename to Scripts/Services/LanguageTranslation/LanguageTranslation.cs.meta diff --git a/Scripts/Services/NaturalLanguageClassifier.meta b/Scripts/Services/NaturalLanguageClassifier.meta new file mode 100644 index 000000000..5355ed77b --- /dev/null +++ b/Scripts/Services/NaturalLanguageClassifier.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 13da56f2e0df99843930c6acf966b648 +folderAsset: yes +timeCreated: 1455315453 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/Services/NaturalLanguageClassifier/DataModels.cs b/Scripts/Services/NaturalLanguageClassifier/DataModels.cs new file mode 100644 index 000000000..243dcf020 --- /dev/null +++ b/Scripts/Services/NaturalLanguageClassifier/DataModels.cs @@ -0,0 +1,129 @@ +/** +* Copyright 2015 IBM Corp. All Rights Reserved. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +*/ + + +using System; +using FullSerializer; + +namespace IBM.Watson.DeveloperCloud.Services.NaturalLanguageClassifier.v1 +{ + /// + /// This data class holds the data for a given classifier returned by GetClassifier(). + /// + [fsObject] + public class Classifier + { + /// + /// The name of the classifier. + /// + public string name { get; set; } + /// + /// The language ID of the classifier (e.g. en) + /// + public string language { get; set; } + /// + /// The URL for the classifier. + /// + public string url { get; set; } + /// + /// The classifier ID. + /// + public string classifier_id { get; set; } + /// + /// When was this classifier created. + /// + public string created { get; set; } + /// + /// Whats the current status of this classifier. + /// + public string status { get; set; } + /// + /// A description of the classifier status. + /// + public string status_description { get; set; } + }; + /// + /// This data class wraps an array of Classifiers. + /// + [fsObject] + public class Classifiers + { + /// + /// An array of classifiers. + /// + public Classifier[] classifiers { get; set; } + }; + /// + /// A class returned by the ClassifyResult object. + /// + [fsObject] + public class Class + { + /// + /// The confidence in this class. + /// + public double confidence { get; set; } + /// + /// The name of the class. + /// + public string class_name { get; set; } + }; + /// + /// This result object is returned by the Classify() method. + /// + [fsObject] + public class ClassifyResult + { + /// + /// The ID of the classifier used. + /// + public string classifier_id { get; set; } + /// + /// The URL of the classifier. + /// + public string url { get; set; } + /// + /// The input text into the classifier. + /// + public string text { get; set; } + /// + /// The top class found for the text. + /// + public string top_class { get; set; } + /// + /// A array of all classifications for the input text. + /// + public Class[] classes { get; set; } + + /// + /// Helper function to return the top confidence value of all the returned classes. + /// + public double topConfidence + { + get + { + double fTop = 0.0; + if (classes != null) + { + foreach (var c in classes) + fTop = Math.Max(c.confidence, fTop); + } + return fTop; + } + } + }; +} diff --git a/Scripts/Services/NaturalLanguageClassifier/DataModels.cs.meta b/Scripts/Services/NaturalLanguageClassifier/DataModels.cs.meta new file mode 100644 index 000000000..21902e064 --- /dev/null +++ b/Scripts/Services/NaturalLanguageClassifier/DataModels.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b3be584e0e3c2aa4c92fd9cad732c1ae +timeCreated: 1455315453 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Services/v1/NaturalLanguageClassifier.cs b/Scripts/Services/NaturalLanguageClassifier/NaturalLanguageClassifier.cs similarity index 64% rename from Services/v1/NaturalLanguageClassifier.cs rename to Scripts/Services/NaturalLanguageClassifier/NaturalLanguageClassifier.cs index 408507a31..625e0065d 100644 --- a/Services/v1/NaturalLanguageClassifier.cs +++ b/Scripts/Services/NaturalLanguageClassifier/NaturalLanguageClassifier.cs @@ -18,18 +18,17 @@ using IBM.Watson.DeveloperCloud.Logging; using IBM.Watson.DeveloperCloud.Connection; using IBM.Watson.DeveloperCloud.Utilities; -using IBM.Watson.DeveloperCloud.DataModels; using MiniJSON; using System; using System.Collections.Generic; using System.Text; using FullSerializer; -namespace IBM.Watson.DeveloperCloud.Services.v1 +namespace IBM.Watson.DeveloperCloud.Services.NaturalLanguageClassifier.v1 { /// /// This class wraps the Natural Language Classifier service. - /// NLC Service + /// Natural Language Classifier Service /// public class NaturalLanguageClassifier : IWatsonService { @@ -60,12 +59,12 @@ public class NaturalLanguageClassifier : IWatsonService /// This callback is used by the Classify() method. /// /// - public delegate void OnClassify( ClassifyResult classify ); + public delegate void OnClassify(ClassifyResult classify); /// /// This callback is used by the DeleteClassifier() method. /// /// - public delegate void OnDeleteClassifier( bool success ); + public delegate void OnDeleteClassifier(bool success); #endregion #region Public Properties @@ -76,9 +75,9 @@ public class NaturalLanguageClassifier : IWatsonService #endregion #region Private Data - private const string SERVICE_ID = "NlcV1"; + private const string SERVICE_ID = "NaturalLanguageClassifierV1"; private static fsSerializer sm_Serializer = new fsSerializer(); - private Dictionary m_ClassifyCache = new Dictionary(); + private Dictionary m_ClassifyCache = new Dictionary(); #endregion #region FindClassifier @@ -87,18 +86,18 @@ public class NaturalLanguageClassifier : IWatsonService /// /// /// - public void FindClassifier( string classifierName, OnFindClassifier callback ) + public void FindClassifier(string classifierName, OnFindClassifier callback) { - new FindClassifierReq( this, classifierName, callback ); + new FindClassifierReq(this, classifierName, callback); } private class FindClassifierReq { - public FindClassifierReq( NaturalLanguageClassifier service, string classifierName, OnFindClassifier callback ) + public FindClassifierReq(NaturalLanguageClassifier service, string classifierName, OnFindClassifier callback) { if (service == null) throw new ArgumentNullException("service"); - if ( string.IsNullOrEmpty( classifierName ) ) + if (string.IsNullOrEmpty(classifierName)) throw new ArgumentNullException("classifierName"); if (callback == null) throw new ArgumentNullException("callback"); @@ -106,33 +105,36 @@ public FindClassifierReq( NaturalLanguageClassifier service, string classifierNa Service = service; ClassifierName = classifierName; Callback = callback; - - Service.GetClassifiers( GetClassifiers ); + + Service.GetClassifiers(GetClassifiers); } public NaturalLanguageClassifier Service { get; set; } public string ClassifierName { get; set; } public OnFindClassifier Callback { get; set; } - private void GetClassifiers( Classifiers classifiers ) + private void GetClassifiers(Classifiers classifiers) { bool bFound = false; - foreach( var c in classifiers.classifiers ) - if ( c.name.StartsWith( ClassifierName ) ) + foreach (var c in classifiers.classifiers) + if (c.name.ToLower().StartsWith(ClassifierName.ToLower())) { // now get the classifier details.. - bFound = Service.GetClassifier( c.classifier_id, GetClassifier ); + bFound = Service.GetClassifier(c.classifier_id, GetClassifier); break; } - if (! bFound ) - Callback( null ); + if (!bFound) + { + Log.Error("Natural Language Classifier", "Fail to find classifier {0}", ClassifierName); + Callback(null); + } } - private void GetClassifier( Classifier classifier ) + private void GetClassifier(Classifier classifier) { - if ( Callback != null ) - Callback( classifier ); + if (Callback != null) + Callback(classifier); } }; #endregion @@ -181,7 +183,7 @@ private void OnGetClassifiersResp(RESTConnector.Request req, RESTConnector.Respo } catch (Exception e) { - Log.Error("NLC", "GetClassifiers Exception: {0}", e.ToString()); + Log.Error("Natural Language Classifier", "GetClassifiers Exception: {0}", e.ToString()); resp.Success = false; } } @@ -205,7 +207,7 @@ public bool GetClassifier(string classifierId, OnGetClassifier callback) if (callback == null) throw new ArgumentNullException("callback"); - RESTConnector connector = RESTConnector.GetConnector(SERVICE_ID, "/v1/classifiers/" + classifierId ); + RESTConnector connector = RESTConnector.GetConnector(SERVICE_ID, "/v1/classifiers/" + classifierId); if (connector == null) return false; @@ -238,7 +240,7 @@ private void OnGetClassifierResp(RESTConnector.Request req, RESTConnector.Respon } catch (Exception e) { - Log.Error("NLC", "GetClassifiers Exception: {0}", e.ToString()); + Log.Error("Natural Language Classifier", "GetClassifiers Exception: {0}", e.ToString()); resp.Success = false; } } @@ -257,7 +259,7 @@ private void OnGetClassifierResp(RESTConnector.Request req, RESTConnector.Respon /// CSV training data. /// Callback to invoke with the results. /// Returns true if training data was submitted correctly. - public bool TrainClassifier( string classifierName, string language, string trainingData, OnTrainClassifier callback) + public bool TrainClassifier(string classifierName, string language, string trainingData, OnTrainClassifier callback) { if (string.IsNullOrEmpty(classifierName)) throw new ArgumentNullException("classifierId"); @@ -272,7 +274,7 @@ public bool TrainClassifier( string classifierName, string language, string trai if (connector == null) return false; - Dictionary trainingMetaData = new Dictionary(); + Dictionary trainingMetaData = new Dictionary(); trainingMetaData["language"] = language; trainingMetaData["name"] = classifierName; @@ -280,8 +282,8 @@ public bool TrainClassifier( string classifierName, string language, string trai req.Callback = callback; req.OnResponse = OnTrainClassifierResp; req.Forms = new Dictionary(); - req.Forms["training_metadata"] = new RESTConnector.Form( Encoding.UTF8.GetBytes( Json.Serialize( trainingMetaData ) ) ); - req.Forms["training_data"] = new RESTConnector.Form( Encoding.UTF8.GetBytes( trainingData ) ); + req.Forms["training_metadata"] = new RESTConnector.Form(Encoding.UTF8.GetBytes(Json.Serialize(trainingMetaData))); + req.Forms["training_data"] = new RESTConnector.Form(Encoding.UTF8.GetBytes(trainingData)); return connector.Send(req); } @@ -308,7 +310,7 @@ private void OnTrainClassifierResp(RESTConnector.Request req, RESTConnector.Resp } catch (Exception e) { - Log.Error("NLC", "GetClassifiers Exception: {0}", e.ToString()); + Log.Error("Natural Language Classifier", "GetClassifiers Exception: {0}", e.ToString()); resp.Success = false; } } @@ -325,14 +327,14 @@ private void OnTrainClassifierResp(RESTConnector.Request req, RESTConnector.Resp /// The ID of the classifier. /// The callback to invoke with the results. /// Returns false if we failed to submit a request. - public bool DeleteClassifer( string classifierId, OnDeleteClassifier callback ) + public bool DeleteClassifer(string classifierId, OnDeleteClassifier callback) { - if ( string.IsNullOrEmpty( classifierId ) ) - throw new ArgumentNullException( "classiferId" ); - if ( callback == null ) - throw new ArgumentNullException("callback" ); + if (string.IsNullOrEmpty(classifierId)) + throw new ArgumentNullException("classiferId"); + if (callback == null) + throw new ArgumentNullException("callback"); - RESTConnector connector = RESTConnector.GetConnector(SERVICE_ID, "/v1/classifiers/" + classifierId ); + RESTConnector connector = RESTConnector.GetConnector(SERVICE_ID, "/v1/classifiers/" + classifierId); if (connector == null) return false; @@ -359,17 +361,17 @@ private void OnDeleteClassifierResp(RESTConnector.Request req, RESTConnector.Res /// Flush all classifier caches or a specific cache. /// /// If not null or empty, then the specific cache will be flushed. - public void FlushClassifyCache(string classifierId = null ) + public void FlushClassifyCache(string classifierId = null) { - if (! string.IsNullOrEmpty( classifierId ) ) + if (!string.IsNullOrEmpty(classifierId)) { DataCache cache = null; - if ( m_ClassifyCache.TryGetValue( classifierId, out cache ) ) + if (m_ClassifyCache.TryGetValue(classifierId, out cache)) cache.Flush(); } else { - foreach( var kp in m_ClassifyCache ) + foreach (var kp in m_ClassifyCache) kp.Value.Flush(); } } @@ -381,7 +383,7 @@ public void FlushClassifyCache(string classifierId = null ) /// The text to classify. /// The callback to invoke with the results. /// Returns false if we failed to submit the request. - public bool Classify( string classifierId, string text, OnClassify callback) + public bool Classify(string classifierId, string text, OnClassify callback) { if (string.IsNullOrEmpty(classifierId)) throw new ArgumentNullException("classifierId"); @@ -390,23 +392,23 @@ public bool Classify( string classifierId, string text, OnClassify callback) if (callback == null) throw new ArgumentNullException("callback"); - string textId = Utility.GetMD5( text ); - if (! DisableCache ) + string textId = Utility.GetMD5(text); + if (!DisableCache) { DataCache cache = null; - if (! m_ClassifyCache.TryGetValue( classifierId, out cache ) ) + if (!m_ClassifyCache.TryGetValue(classifierId, out cache)) { - cache = new DataCache( "NLC_" + classifierId ); - m_ClassifyCache[ classifierId ] = cache; + cache = new DataCache("NaturalLanguageClassifier_" + classifierId); + m_ClassifyCache[classifierId] = cache; } - byte [] cached = cache.Find( textId ); - if ( cached != null ) + byte[] cached = cache.Find(textId); + if (cached != null) { - ClassifyResult res = ProcessClassifyResult( cached ); - if ( res != null ) + ClassifyResult res = ProcessClassifyResult(cached); + if (res != null) { - callback( res ); + callback(res); return true; } } @@ -424,9 +426,9 @@ public bool Classify( string classifierId, string text, OnClassify callback) req.Function = "/" + classifierId + "/classify"; req.Headers["Content-Type"] = "application/json"; - Dictionary body = new Dictionary(); + Dictionary body = new Dictionary(); body["text"] = text; - req.Send = Encoding.UTF8.GetBytes( Json.Serialize( body ) ); + req.Send = Encoding.UTF8.GetBytes(Json.Serialize(body)); return connector.Send(req); } @@ -442,12 +444,12 @@ private void OnClassifyResp(RESTConnector.Request req, RESTConnector.Response re ClassifyResult classify = null; if (resp.Success) { - classify = ProcessClassifyResult( resp.Data ); - if ( classify != null ) + classify = ProcessClassifyResult(resp.Data); + if (classify != null) { DataCache cache = null; - if ( m_ClassifyCache.TryGetValue( ((ClassifyReq)req).ClassiferId, out cache ) ) - cache.Save( ((ClassifyReq)req).TextId, resp.Data ); + if (m_ClassifyCache.TryGetValue(((ClassifyReq)req).ClassiferId, out cache)) + cache.Save(((ClassifyReq)req).TextId, resp.Data); } } @@ -455,7 +457,7 @@ private void OnClassifyResp(RESTConnector.Request req, RESTConnector.Response re ((ClassifyReq)req).Callback(classify); } - private ClassifyResult ProcessClassifyResult( byte [] json_data ) + private ClassifyResult ProcessClassifyResult(byte[] json_data) { ClassifyResult classify = null; try @@ -474,7 +476,7 @@ private ClassifyResult ProcessClassifyResult( byte [] json_data ) } catch (Exception e) { - Log.Error("NLC", "GetClassifiers Exception: {0}", e.ToString()); + Log.Error("Natural Language Classifier", "GetClassifiers Exception: {0}", e.ToString()); } return classify; @@ -492,31 +494,136 @@ public string GetServiceID() /// public void GetServiceStatus(ServiceStatus callback) { - if ( Config.Instance.FindCredentials( SERVICE_ID ) != null ) - new CheckServiceStatus( this, callback ); + if (Config.Instance.FindCredentials(SERVICE_ID) != null) + new CheckServiceStatus(this, callback); else - callback( SERVICE_ID, false ); + callback(SERVICE_ID, false); } private class CheckServiceStatus { private NaturalLanguageClassifier m_Service = null; private ServiceStatus m_Callback = null; + private int m_GetClassifierCount = 0; + private int m_ClassifyCount = 0; - public CheckServiceStatus( NaturalLanguageClassifier service, ServiceStatus callback ) + public CheckServiceStatus(NaturalLanguageClassifier service, ServiceStatus callback) { m_Service = service; m_Callback = callback; - if (! m_Service.GetClassifiers( OnCheckService ) ) - m_Callback( SERVICE_ID, false ); + string customClassifierID = Config.Instance.GetVariableValue(SERVICE_ID + "_ID"); + m_Service.DisableCache = true; + //If custom classifierID is defined then we are using it to check the service health + if (!string.IsNullOrEmpty(customClassifierID)) + { + + if (!m_Service.GetClassifier(customClassifierID, OnCheckService)) + { + OnFailure("Failed to call GetClassifier()"); + } + else + { + m_GetClassifierCount += 1; + } + } + else + { + if (!m_Service.GetClassifiers(OnCheckServices)) + OnFailure("Failed to call GetClassifiers()"); + } + + } + + private void OnCheckServices(Classifiers classifiers) + { + if (m_Callback != null) + { + if (classifiers.classifiers.Length > 0) + { + foreach (var classifier in classifiers.classifiers) + { + // check the status of one classifier, if it's listed as "Unavailable" then fail + if (!m_Service.GetClassifier(classifier.classifier_id, OnCheckService)) + { + OnFailure("Failed to call GetClassifier()"); + break; + } + else + m_GetClassifierCount += 1; + } + } + else + { + if (m_Callback != null && m_Callback.Target != null) + { + m_Callback(SERVICE_ID, true); // no classifiers to check, just return success then.. + } + } + } + else + { + if (m_Callback != null && m_Callback.Target != null) + { + m_Callback(SERVICE_ID, false); + } + } + } + + private void OnCheckService(Classifier classifier) + { + if (m_GetClassifierCount > 0) + { + m_GetClassifierCount -= 1; + if (classifier != null) + { + if (classifier.status == "Unavailable" || classifier.status == "Failed") + { + OnFailure(string.Format("Status of classifier {0} came back as {1}.", + classifier.classifier_id, classifier.status)); + } + else + { + // try to classify something with this classifier.. + if (!m_Service.Classify(classifier.classifier_id, "Hello World", OnClassify)) + OnFailure("Failed to invoke Classify"); + else + m_ClassifyCount += 1; + } + } + else + OnFailure("Failed to get classifier."); + } } - private void OnCheckService( Classifiers classifiers ) + private void OnClassify(ClassifyResult result) { - if ( m_Callback != null ) - m_Callback( SERVICE_ID, classifiers != null ); + if (m_ClassifyCount > 0) + { + m_ClassifyCount -= 1; + if (result != null) + { + // success! + if (m_ClassifyCount == 0 && m_Callback != null && m_Callback.Target != null) + { + m_Callback(SERVICE_ID, true); + } + } + else + OnFailure("Failed to classify."); + } } + + void OnFailure(string msg) + { + Log.Error("NaturalLanguageClassifier", msg); + if (m_Callback != null && m_Callback.Target != null) + { + m_Callback(SERVICE_ID, false); + } + m_GetClassifierCount = m_ClassifyCount = 0; + } + }; #endregion } diff --git a/Services/v1/NaturalLanguageClassifier.cs.meta b/Scripts/Services/NaturalLanguageClassifier/NaturalLanguageClassifier.cs.meta similarity index 100% rename from Services/v1/NaturalLanguageClassifier.cs.meta rename to Scripts/Services/NaturalLanguageClassifier/NaturalLanguageClassifier.cs.meta diff --git a/Scripts/Services/SpeechToText.meta b/Scripts/Services/SpeechToText.meta new file mode 100644 index 000000000..c45d763b4 --- /dev/null +++ b/Scripts/Services/SpeechToText.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5d8d8f88d603ab548924eb7b5d0eac16 +folderAsset: yes +timeCreated: 1455315453 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/Services/SpeechToText/DataModels.cs b/Scripts/Services/SpeechToText/DataModels.cs new file mode 100644 index 000000000..61ae17180 --- /dev/null +++ b/Scripts/Services/SpeechToText/DataModels.cs @@ -0,0 +1,159 @@ +/** +* Copyright 2015 IBM Corp. All Rights Reserved. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +*/ + + +using System; +using FullSerializer; + +namespace IBM.Watson.DeveloperCloud.Services.SpeechToText.v1 +{ + /// + /// This data class holds the data for a given speech model. + /// + [fsObject] + public class SpeechModel + { + /// + /// The name of the speech model. + /// + public string Name { get; set; } + /// + /// The optimal sample rate for this model. + /// + public long Rate { get; set; } + /// + /// The language ID for this model. (e.g. en) + /// + public string Language { get; set; } + /// + /// A description for this model. + /// + public string Description { get; set; } + /// + /// The URL for this model. + /// + public string URL { get; set; } + }; + /// + /// This data class holds the confidence value for a given recognized word. + /// + [fsObject] + public class WordConfidence + { + /// + /// The word as a string. + /// + public string Word { get; set; } + /// + /// The confidence value for this word. + /// + public double Confidence { get; set; } + }; + /// + /// This data class holds the start and stop times for a word. + /// + [fsObject] + public class TimeStamp + { + /// + /// The word. + /// + public string Word { get; set; } + /// + /// The start time. + /// + public double Start { get; set; } + /// + /// The stop time. + /// + public double End { get; set; } + }; + /// + /// This data class holds the actual transcript for the text generated from speech audio data. + /// + [fsObject] + public class SpeechAlt + { + /// + /// The transcript of what was understood. + /// + public string Transcript { get; set; } + /// + /// The confidence in this transcript of the audio data. + /// + public double Confidence { get; set; } + /// + /// A optional array of timestamps objects. + /// + public TimeStamp[] Timestamps { get; set; } + /// + /// A option array of word confidence values. + /// + public WordConfidence[] WordConfidence { get; set; } + }; + /// + /// A Result object that is returned by the Recognize() method. + /// + [fsObject] + public class SpeechResult + { + /// + /// If true, then this is the final result and no more results will be sent for the given audio data. + /// + public bool Final { get; set; } + /// + /// A array of alternatives speech to text results, this is controlled by the MaxAlternatives property. + /// + public SpeechAlt[] Alternatives { get; set; } + }; + /// + /// This data class holds a list of Result objects returned by the Recognize() method. + /// + [fsObject] + public class SpeechResultList + { + /// + /// The array of Result objects. + /// + public SpeechResult[] Results { get; set; } + + /// + public SpeechResultList(SpeechResult[] results) + { + Results = results; + } + + /// + /// Check if our result list has atleast one valid result. + /// + /// Returns true if a result is found. + public bool HasResult() + { + return Results != null && Results.Length > 0 + && Results[0].Alternatives != null && Results[0].Alternatives.Length > 0; + } + + /// + /// Returns true if we have a final result. + /// + /// + public bool HasFinalResult() + { + return HasResult() && Results[0].Final; + } + }; +} diff --git a/Scripts/Services/SpeechToText/DataModels.cs.meta b/Scripts/Services/SpeechToText/DataModels.cs.meta new file mode 100644 index 000000000..0ed1f432b --- /dev/null +++ b/Scripts/Services/SpeechToText/DataModels.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 75a3b788cdfbfc341a4225b6e6ddd32c +timeCreated: 1455315453 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Services/v1/SpeechToText.cs b/Scripts/Services/SpeechToText/SpeechToText.cs similarity index 94% rename from Services/v1/SpeechToText.cs rename to Scripts/Services/SpeechToText/SpeechToText.cs index d655f8f70..966620444 100644 --- a/Services/v1/SpeechToText.cs +++ b/Scripts/Services/SpeechToText/SpeechToText.cs @@ -18,7 +18,6 @@ #define ENABLE_DEBUGGING using IBM.Watson.DeveloperCloud.DataTypes; -using IBM.Watson.DeveloperCloud.DataModels; using IBM.Watson.DeveloperCloud.Logging; using IBM.Watson.DeveloperCloud.Connection; using IBM.Watson.DeveloperCloud.Utilities; @@ -29,7 +28,7 @@ using UnityEngine; using System.Text; -namespace IBM.Watson.DeveloperCloud.Services.v1 // Add DeveloperCloud +namespace IBM.Watson.DeveloperCloud.Services.SpeechToText.v1 { /// /// This class wraps the Watson SpeechToText service. @@ -114,9 +113,12 @@ public class SpeechToText : IWatsonService /// /// This property controls which recognize model we use when making recognize requests of the server. /// - public string RecognizeModel { get { return m_RecognizeModel; } - set { - if ( m_RecognizeModel != value ) + public string RecognizeModel + { + get { return m_RecognizeModel; } + set + { + if (m_RecognizeModel != value) { m_RecognizeModel = value; StopListening(); // close any active connection when our model is changed. @@ -192,7 +194,7 @@ public void OnListen(AudioData clip) { if (m_IsListening) { - if ( m_RecordingHZ < 0 ) + if (m_RecordingHZ < 0) { m_RecordingHZ = clip.Clip.frequency; SendStart(); @@ -214,7 +216,7 @@ public void OnListen(AudioData clip) // check the length of this queue and do something if it gets too full. if (m_ListenRecordings.Count > MAX_QUEUED_RECORDINGS) { - Log.Error("SpeechToText", "Recording queue is full." ); + Log.Error("SpeechToText", "Recording queue is full."); StopListening(); if (OnError != null) @@ -230,9 +232,9 @@ public void OnListen(AudioData clip) // After sending start, we should get into the listening state within the amount of time specified // by LISTEN_TIMEOUT. If not, then stop listening and record the error. - if ( !m_ListenActive && (DateTime.Now - m_LastStartSent).TotalSeconds > LISTEN_TIMEOUT ) + if (!m_ListenActive && (DateTime.Now - m_LastStartSent).TotalSeconds > LISTEN_TIMEOUT) { - Log.Error("SpeechToText", "Failed to enter listening state." ); + Log.Error("SpeechToText", "Failed to enter listening state."); StopListening(); if (OnError != null) @@ -331,19 +333,19 @@ private IEnumerator KeepAlive() { yield return null; - if ( (DateTime.Now - m_LastKeepAlive).TotalSeconds > WS_KEEP_ALIVE_TIME ) + if ((DateTime.Now - m_LastKeepAlive).TotalSeconds > WS_KEEP_ALIVE_TIME) { Dictionary nop = new Dictionary(); nop["action"] = "no-op"; #if ENABLE_DEBUGGING - Log.Debug( "SpeechToText", "Sending keep alive." ); + Log.Debug("SpeechToText", "Sending keep alive."); #endif m_ListenSocket.Send(new WSConnector.TextMessage(Json.Serialize(nop))); m_LastKeepAlive = DateTime.Now; } } - Log.Debug( "SpeechToText", "KeepAlive exited." ); + Log.Debug("SpeechToText", "KeepAlive exited."); } private void OnListenMessage(WSConnector.Message msg) @@ -362,7 +364,7 @@ private void OnListenMessage(WSConnector.Message msg) { // when we get results, start listening for the next block .. // if continuous is true, then we don't need to do this.. - if (! EnableContinousRecognition && results.HasFinalResult() ) + if (!EnableContinousRecognition && results.HasFinalResult()) SendStart(); if (m_ListenCallback != null) @@ -384,7 +386,7 @@ private void OnListenMessage(WSConnector.Message msg) { if (m_IsListening) { - if (! m_ListenActive ) + if (!m_ListenActive) { m_ListenActive = true; @@ -400,14 +402,14 @@ private void OnListenMessage(WSConnector.Message msg) } } - else if ( json.Contains("error") ) + else if (json.Contains("error")) { string error = (string)json["error"]; - Log.Error( "SpeechToText", "Error: {0}", error ); + Log.Error("SpeechToText", "Error: {0}", error); StopListening(); - if ( OnError != null ) - OnError( error ); + if (OnError != null) + OnError(error); } else { @@ -424,7 +426,7 @@ private void OnListenMessage(WSConnector.Message msg) private void OnListenClosed(WSConnector connector) { #if ENABLE_DEBUGGING - Log.Debug( "SpeechToText", "OnListenClosed(), State = {0}", connector.State.ToString() ); + Log.Debug("SpeechToText", "OnListenClosed(), State = {0}", connector.State.ToString()); #endif m_ListenActive = false; @@ -437,10 +439,9 @@ private void OnListenClosed(WSConnector connector) } } -#endregion - + #endregion -#region GetModels Functions + #region GetModels Functions /// /// This function retrieves all the language models that the user may use by setting the RecognizeModel /// public property. @@ -532,9 +533,9 @@ private SpeechModel[] ParseGetModelsResponse(byte[] data) return null; } -#endregion + #endregion -#region Recognize Functions + #region Recognize Functions /// /// This function POSTs the given audio clip the recognize function and convert speech into text. This function should be used /// only on AudioClips under 4MB once they have been converted into WAV format. Use the StartListening() for continuous @@ -727,10 +728,10 @@ public string GetServiceID() /// public void GetServiceStatus(ServiceStatus callback) { - if ( Config.Instance.FindCredentials( SERVICE_ID ) != null ) - new CheckServiceStatus( this, callback ); + if (Config.Instance.FindCredentials(SERVICE_ID) != null) + new CheckServiceStatus(this, callback); else - callback( SERVICE_ID, false ); + callback(SERVICE_ID, false); } private class CheckServiceStatus @@ -738,19 +739,19 @@ private class CheckServiceStatus private SpeechToText m_Service = null; private ServiceStatus m_Callback = null; - public CheckServiceStatus( SpeechToText service, ServiceStatus callback ) + public CheckServiceStatus(SpeechToText service, ServiceStatus callback) { m_Service = service; m_Callback = callback; - if (! m_Service.GetModels( OnCheckService ) ) - m_Callback( SERVICE_ID, false ); + if (!m_Service.GetModels(OnCheckService)) + m_Callback(SERVICE_ID, false); } - private void OnCheckService( SpeechModel [] models ) + private void OnCheckService(SpeechModel[] models) { - if ( m_Callback != null ) - m_Callback( SERVICE_ID, models != null ); + if (m_Callback != null && m_Callback.Target != null) + m_Callback(SERVICE_ID, models != null); } }; #endregion diff --git a/Services/v1/SpeechToText.cs.meta b/Scripts/Services/SpeechToText/SpeechToText.cs.meta similarity index 100% rename from Services/v1/SpeechToText.cs.meta rename to Scripts/Services/SpeechToText/SpeechToText.cs.meta diff --git a/Scripts/Services/TextToSpeech.meta b/Scripts/Services/TextToSpeech.meta new file mode 100644 index 000000000..77fca41d6 --- /dev/null +++ b/Scripts/Services/TextToSpeech.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c33a9b4badf5dfd4ca4b1b8dea53b8d7 +folderAsset: yes +timeCreated: 1455315453 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/Services/TextToSpeech/DataModels.cs b/Scripts/Services/TextToSpeech/DataModels.cs new file mode 100644 index 000000000..c4b645605 --- /dev/null +++ b/Scripts/Services/TextToSpeech/DataModels.cs @@ -0,0 +1,131 @@ +/** +* Copyright 2015 IBM Corp. All Rights Reserved. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +*/ + +using FullSerializer; + +namespace IBM.Watson.DeveloperCloud.Services.TextToSpeech.v1 +{ + /// + /// Audio format types that can be requested from the service. + /// + public enum AudioFormatType + { + /// + /// OGG Vorbis format + /// + OGG = 0, + /// + /// Linear PCM format. + /// + WAV, //Currently used + /// + /// FLAC audio format. + /// + FLAC + }; + + /// + /// The available voices for synthesized speech. + /// + public enum VoiceType + { + /// + /// US male voice. + /// + en_US_Michael = 0, + /// + /// US female voice. + /// + en_US_Lisa, + /// + /// US female voice. + /// + en_US_Allison, + /// + /// Great Britan female voice. + /// + en_GB_Kate, + /// + /// Spanish male voice. + /// + es_ES_Enrique, + /// + /// Spanish female voice. + /// + es_ES_Laura, + /// + /// US female voice. + /// + es_US_Sofia, + /// + /// German male voice. + /// + de_DE_Dieter, + /// + /// German female voice. + /// + de_DE_Birgit, + /// + /// French female voice. + /// + fr_FR_Renee, + /// + /// Italian female voice. + /// + it_IT_Francesca, + /// + /// Japanese female voice. + /// + ja_JP_Emi, + }; + + /// + /// A voice model object for TextToSpeech. + /// + [fsObject] + public class Voice + { + /// + /// The name of the voice model. + /// + public string name { get; set; } + /// + /// The language ID of this voice model. + /// + public string language { get; set; } + /// + /// The gender of the voice model. + /// + public string gender { get; set; } + /// + /// The URL of the voice model. + /// + public string url { get; set; } + }; + + /// + /// This object contains a list of voices. + /// + [fsObject] + public class Voices + { + /// + /// The array of Voice objects. + /// + public Voice[] voices { get; set; } + }; +} diff --git a/Scripts/Services/TextToSpeech/DataModels.cs.meta b/Scripts/Services/TextToSpeech/DataModels.cs.meta new file mode 100644 index 000000000..e1cdf372a --- /dev/null +++ b/Scripts/Services/TextToSpeech/DataModels.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6fc6f3a4799b87e4da56d86ccf05c2a1 +timeCreated: 1455315453 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Services/v1/TextToSpeech.cs b/Scripts/Services/TextToSpeech/TextToSpeech.cs similarity index 64% rename from Services/v1/TextToSpeech.cs rename to Scripts/Services/TextToSpeech/TextToSpeech.cs index dd39390cb..6aabe3206 100644 --- a/Services/v1/TextToSpeech.cs +++ b/Scripts/Services/TextToSpeech/TextToSpeech.cs @@ -17,7 +17,6 @@ using UnityEngine; using System.Collections.Generic; -using IBM.Watson.DeveloperCloud.DataModels; using IBM.Watson.DeveloperCloud.Connection; using IBM.Watson.DeveloperCloud.Utilities; using IBM.Watson.DeveloperCloud.Logging; @@ -26,7 +25,7 @@ using System; using FullSerializer; -namespace IBM.Watson.DeveloperCloud.Services.v1 +namespace IBM.Watson.DeveloperCloud.Services.TextToSpeech.v1 { /// /// This class wraps the TextToSpeech service. @@ -45,81 +44,8 @@ public class TextToSpeech : IWatsonService /// This callback is used by the GetVoices() function. /// /// The Voices object. - public delegate void GetVoicesCallback( Voices voices ); + public delegate void GetVoicesCallback(Voices voices); - /// - /// Audio format types that can be requested from the service. - /// - public enum AudioFormatType - { - /// - /// OGG Vorbis format - /// - OGG = 0, - /// - /// Linear PCM format. - /// - WAV, //Currently used - /// - /// FLAC audio format. - /// - FLAC - }; - - /// - /// The available voices for synthesized speech. - /// - public enum VoiceType - { - /// - /// US male voice. - /// - en_US_Michael = 0, - /// - /// US female voice. - /// - en_US_Lisa, - /// - /// US female voice. - /// - en_US_Allison, - /// - /// Great Britan female voice. - /// - en_GB_Kate, - /// - /// Spanish male voice. - /// - es_ES_Enrique, - /// - /// Spanish female voice. - /// - es_ES_Laura, - /// - /// US female voice. - /// - es_US_Sofia, - /// - /// German male voice. - /// - de_DE_Dieter, - /// - /// German female voice. - /// - de_DE_Birgit, - /// - /// French female voice. - /// - fr_FR_Renee, - /// - /// Italian female voice. - /// - it_IT_Francesca, - /// - /// Japanese female voice. - /// - ja_JP_Emi, - }; #endregion #region Private Data @@ -163,9 +89,12 @@ public enum VoiceType /// /// This property allows the user to specify the voice to use. /// - public VoiceType Voice { get { return m_Voice; } - set { - if ( m_Voice != value ) + public VoiceType Voice + { + get { return m_Voice; } + set + { + if (m_Voice != value) { m_Voice = value; m_SpeechCache = null; @@ -180,10 +109,10 @@ public enum VoiceType /// /// The callback to invoke with the list of available voices. /// Returns ture if the request was submitted. - public bool GetVoices( GetVoicesCallback callback ) + public bool GetVoices(GetVoicesCallback callback) { - if ( callback == null ) - throw new ArgumentNullException("callback" ); + if (callback == null) + throw new ArgumentNullException("callback"); RESTConnector connector = RESTConnector.GetConnector(SERVICE_ID, "/v1/voices"); if (connector == null) @@ -218,7 +147,7 @@ private void OnGetVoicesResp(RESTConnector.Request req, RESTConnector.Response r } catch (Exception e) { - Log.Error("NLC", "GetVoices Exception: {0}", e.ToString()); + Log.Error("Natural Language Classifier", "GetVoices Exception: {0}", e.ToString()); resp.Success = false; } } @@ -247,45 +176,45 @@ private class ToSpeechRequest : RESTConnector.Request /// The callback to invoke with the AudioClip. /// If true, then we use post instead of get, this allows for text that exceeds the 5k limit. /// Returns true if the request is sent. - public bool ToSpeech(string text, ToSpeechCallback callback, bool usePost = false ) + public bool ToSpeech(string text, ToSpeechCallback callback, bool usePost = false) { - if ( string.IsNullOrEmpty( text ) ) - throw new ArgumentNullException( "text" ); - if ( callback == null ) - throw new ArgumentNullException( "callback" ); + if (string.IsNullOrEmpty(text)) + throw new ArgumentNullException("text"); + if (callback == null) + throw new ArgumentNullException("callback"); - if ( !m_AudioFormats.ContainsKey(m_AudioFormat) ) + if (!m_AudioFormats.ContainsKey(m_AudioFormat)) { - Log.Error( "TextToSpeech", "Unsupported audio format: {0}", m_AudioFormat.ToString() ); + Log.Error("TextToSpeech", "Unsupported audio format: {0}", m_AudioFormat.ToString()); return false; } - if ( !m_VoiceTypes.ContainsKey(m_Voice) ) + if (!m_VoiceTypes.ContainsKey(m_Voice)) { - Log.Error( "TextToSpeech", "Unsupported voice: {0}", m_Voice.ToString() ); + Log.Error("TextToSpeech", "Unsupported voice: {0}", m_Voice.ToString()); return false; } - text = Utility.RemoveTags( text ); + text = Utility.RemoveTags(text); - string textId = Utility.GetMD5( text ); - if (! DisableCache ) + string textId = Utility.GetMD5(text); + if (!DisableCache) { - if ( m_SpeechCache == null ) - m_SpeechCache = new DataCache( "TTS_" + m_VoiceTypes[m_Voice] ); - - byte [] data = m_SpeechCache.Find( textId ); - if ( data != null ) + if (m_SpeechCache == null) + m_SpeechCache = new DataCache("TextToSpeech_" + m_VoiceTypes[m_Voice]); + + byte[] data = m_SpeechCache.Find(textId); + if (data != null) { - AudioClip clip = ProcessResponse( textId, data ); - callback( clip ); + AudioClip clip = ProcessResponse(textId, data); + callback(clip); return true; } } - RESTConnector connector = RESTConnector.GetConnector( SERVICE_ID, "/v1/synthesize" ); + RESTConnector connector = RESTConnector.GetConnector(SERVICE_ID, "/v1/synthesize"); if (connector == null) { - Log.Error( "TextToSpeech", "Failed to get connector." ); + Log.Error("TextToSpeech", "Failed to get connector."); return false; } @@ -297,17 +226,17 @@ public bool ToSpeech(string text, ToSpeechCallback callback, bool usePost = fals req.Parameters["voice"] = m_VoiceTypes[m_Voice]; req.OnResponse = ToSpeechResponse; - if (connector.UsingGateway || usePost ) + if (usePost) { - Dictionary upload = new Dictionary(); - upload["text"] = text; + Dictionary upload = new Dictionary(); + upload["text"] = "\"" + text + "\""; - req.Send = Encoding.UTF8.GetBytes( Json.Serialize( upload ) ); - req.Headers["Content-Type"] = "application/json"; + req.Send = Encoding.UTF8.GetBytes(Json.Serialize(upload)); + req.Headers["Content-Type"] = "application/json"; } else { - req.Parameters["text"] = text; + req.Parameters["text"] = "\"" + text + "\""; } return connector.Send(req); @@ -319,19 +248,19 @@ private void ToSpeechResponse(RESTConnector.Request req, RESTConnector.Response if (speechReq == null) throw new WatsonException("Wrong type of request object."); - Log.Debug( "TextToSpeech", "Request completed in {0} seconds.", resp.ElapsedTime ); + //Log.Debug( "TextToSpeech", "Request completed in {0} seconds.", resp.ElapsedTime ); - AudioClip clip = resp.Success ? ProcessResponse( speechReq.TextId, resp.Data ) : null; - if ( clip == null ) + AudioClip clip = resp.Success ? ProcessResponse(speechReq.TextId, resp.Data) : null; + if (clip == null) Log.Error("TextToSpeech", "Request Failed: {0}", resp.Error); - if ( m_SpeechCache != null && clip != null ) - m_SpeechCache.Save( speechReq.TextId, resp.Data ); + if (m_SpeechCache != null && clip != null) + m_SpeechCache.Save(speechReq.TextId, resp.Data); if (speechReq.Callback != null) speechReq.Callback(clip); } - private AudioClip ProcessResponse( string textId, byte [] data ) + private AudioClip ProcessResponse(string textId, byte[] data) { switch (m_AudioFormat) { @@ -356,10 +285,10 @@ public string GetServiceID() /// public void GetServiceStatus(ServiceStatus callback) { - if ( Config.Instance.FindCredentials( SERVICE_ID ) != null ) - new CheckServiceStatus( this, callback ); + if (Config.Instance.FindCredentials(SERVICE_ID) != null) + new CheckServiceStatus(this, callback); else - callback( SERVICE_ID, false ); + callback(SERVICE_ID, false); } private class CheckServiceStatus @@ -367,19 +296,19 @@ private class CheckServiceStatus private TextToSpeech m_Service = null; private ServiceStatus m_Callback = null; - public CheckServiceStatus( TextToSpeech service, ServiceStatus callback ) + public CheckServiceStatus(TextToSpeech service, ServiceStatus callback) { m_Service = service; m_Callback = callback; - if (! m_Service.GetVoices( OnCheckService ) ) - m_Callback( SERVICE_ID, false ); + if (!m_Service.GetVoices(OnCheckService)) + m_Callback(SERVICE_ID, false); } - private void OnCheckService( Voices voices ) + private void OnCheckService(Voices voices) { - if ( m_Callback != null ) - m_Callback( SERVICE_ID, voices != null ); + if (m_Callback != null && m_Callback.Target != null) + m_Callback(SERVICE_ID, voices != null); } }; #endregion diff --git a/Services/v1/TextToSpeech.cs.meta b/Scripts/Services/TextToSpeech/TextToSpeech.cs.meta similarity index 100% rename from Services/v1/TextToSpeech.cs.meta rename to Scripts/Services/TextToSpeech/TextToSpeech.cs.meta diff --git a/UnitTests.meta b/Scripts/UnitTests.meta similarity index 100% rename from UnitTests.meta rename to Scripts/UnitTests.meta diff --git a/Scripts/UnitTests/TestAlchemyAPI.cs b/Scripts/UnitTests/TestAlchemyAPI.cs new file mode 100644 index 000000000..6cadffc66 --- /dev/null +++ b/Scripts/UnitTests/TestAlchemyAPI.cs @@ -0,0 +1,73 @@ +/** +* Copyright 2015 IBM Corp. All Rights Reserved. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +*/ + +using System.Collections; +using IBM.Watson.DeveloperCloud.Services.AlchemyAPI.v1; +using IBM.Watson.DeveloperCloud.Logging; +using IBM.Watson.DeveloperCloud.Utilities; +using UnityEngine; + +namespace IBM.Watson.DeveloperCloud.UnitTests +{ + public class TestAlchemyAPI : UnitTest + { + + AlchemyAPI m_AlchemnyAPI = new AlchemyAPI(); + bool m_EntityExtractionTested = false; + int m_NumberOfTestEntityExtraction = -1; + + public override IEnumerator RunTest() + { + Log.Status("TestAlchemyAPI", "Test waiting to start"); + + + if (Config.Instance.FindCredentials(m_AlchemnyAPI.GetServiceID()) == null) + yield break; + + Log.Status("TestAlchemyAPI", "Test Started"); + + m_NumberOfTestEntityExtraction = 7; + m_AlchemnyAPI.GetCombinedCall(OnGetCombinedCall, "How are you Watson?"); + m_AlchemnyAPI.GetCombinedCall(OnGetCombinedCall, "How can Watson help patients?"); + m_AlchemnyAPI.GetCombinedCall(OnGetCombinedCall, "Where is Watson?"); //Name + m_AlchemnyAPI.GetCombinedCall(OnGetCombinedCall, "Where is Paris?"); //Location + m_AlchemnyAPI.GetCombinedCall(OnGetCombinedCall, "Which ships are close to Karratha"); //location with name + m_AlchemnyAPI.GetCombinedCall(OnGetCombinedCall, "Are you artifical intelligence?"); + m_AlchemnyAPI.GetCombinedCall(OnGetCombinedCall, "What happened in NewYork in december 1913 and February 1975"); + + while (!m_EntityExtractionTested) + yield return null; + + yield break; + } + + private void OnGetCombinedCall(CombinedCallData combinedCallData, string data) + { + m_NumberOfTestEntityExtraction--; + Log.Status("TestAlchemyAPI", "Remaining: {0}, original text:{1}, OnGetCombinedCall: {2}, OnLongResult: {3}", m_NumberOfTestEntityExtraction, data, combinedCallData.EntityCombinedCommaSeperated, combinedCallData.ToLongString()); + + if (m_NumberOfTestEntityExtraction <= 0) + { + Test(true); + m_EntityExtractionTested = true; + } + + } + + } +} + diff --git a/Scripts/UnitTests/TestAlchemyAPI.cs.meta b/Scripts/UnitTests/TestAlchemyAPI.cs.meta new file mode 100644 index 000000000..e394936d0 --- /dev/null +++ b/Scripts/UnitTests/TestAlchemyAPI.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6cc9c3563763e4cccab806c0ddd814af +timeCreated: 1456334008 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UnitTests/TestDialog.cs b/Scripts/UnitTests/TestDialog.cs similarity index 54% rename from UnitTests/TestDialog.cs rename to Scripts/UnitTests/TestDialog.cs index 026710963..275019fea 100644 --- a/UnitTests/TestDialog.cs +++ b/Scripts/UnitTests/TestDialog.cs @@ -16,9 +16,8 @@ */ using System.Collections; -using IBM.Watson.DeveloperCloud.Services.v1; +using IBM.Watson.DeveloperCloud.Services.Dialog.v1; using IBM.Watson.DeveloperCloud.Logging; -using IBM.Watson.DeveloperCloud.DataModels; using IBM.Watson.DeveloperCloud.Utilities; using UnityEngine; @@ -39,88 +38,89 @@ public class TestDialog : UnitTest public override IEnumerator RunTest() { - if ( Config.Instance.FindCredentials( m_Dialog.GetServiceID() ) == null ) + if (Config.Instance.FindCredentials(m_Dialog.GetServiceID()) == null) yield break; - m_Dialog.GetDialogs( OnGetDialogs ); - while(! m_GetDialogsTested ) + m_Dialog.GetDialogs(OnGetDialogs); + while (!m_GetDialogsTested) yield return null; - if (! m_UploadTested ) + if (!m_UploadTested) { - m_Dialog.UploadDialog( DIALOG_NAME, OnDialogUploaded, Application.dataPath + "/Watson/Editor/TestData/pizza_sample.xml" ); - while(! m_UploadTested ) + m_Dialog.UploadDialog(DIALOG_NAME, OnDialogUploaded, Application.dataPath + "/Watson/Scripts/Editor/TestData/pizza_sample.xml"); + while (!m_UploadTested) yield return null; } - if (! string.IsNullOrEmpty( m_DialogID ) ) + if (!string.IsNullOrEmpty(m_DialogID)) { - m_Dialog.Converse( m_DialogID, "Hello", OnConverse ); - while( !m_ConverseTested ) + m_Dialog.Converse(m_DialogID, "Hello", OnConverse); + while (!m_ConverseTested) yield return null; m_ConverseTested = false; - m_Dialog.Converse( m_DialogID, "What do you have?", OnConverse, - m_ConversationID, m_ClientID ); - while( !m_ConverseTested ) + m_Dialog.Converse(m_DialogID, "What do you have?", OnConverse, + m_ConversationID, m_ClientID); + while (!m_ConverseTested) yield return null; } - m_Dialog.DeleteDialog( m_DialogID, OnDialogDeleted ); - while(! m_DeleteTested ) + m_Dialog.DeleteDialog(m_DialogID, OnDialogDeleted); + + while (!m_DeleteTested) yield return null; yield break; } - private void OnDialogDeleted( bool success ) + private void OnDialogDeleted(bool success) { - Test( success ); + Test(success); m_DeleteTested = true; } - private void OnConverse( ConverseResponse resp ) + private void OnConverse(ConverseResponse resp) { - Test( resp != null ); - if ( resp != null ) + Test(resp != null); + if (resp != null) { m_ClientID = resp.client_id; m_ConversationID = resp.conversation_id; - foreach( var r in resp.response ) - Log.Debug( "TestDialog", "Response: {0}", r ); + foreach (var r in resp.response) + Log.Debug("TestDialog", "Response: {0}", r); } m_ConverseTested = true; } - private void OnDialogUploaded( string id ) + private void OnDialogUploaded(string id) { - Test( !string.IsNullOrEmpty( id ) ); - if (! string.IsNullOrEmpty( id ) ) + Test(!string.IsNullOrEmpty(id)); + if (!string.IsNullOrEmpty(id)) { - Log.Debug( "TestDialog", "Dialog ID: {0}", id ); + Log.Debug("TestDialog", "Dialog ID: {0}", id); m_DialogID = id; } m_UploadTested = true; } - private void OnGetDialogs( Dialogs dialogs ) + private void OnGetDialogs(Dialogs dialogs) { - Test( dialogs != null ); - if (dialogs != null && dialogs.dialogs != null ) + Test(dialogs != null); + if (dialogs != null && dialogs.dialogs != null) { - foreach( var d in dialogs.dialogs ) + foreach (var d in dialogs.dialogs) { - Log.Debug( "TestDialog", "Name: {0}, ID: {1}", d.name, d.dialog_id ); - if ( d.name == DIALOG_NAME ) + Log.Debug("TestDialog", "Name: {0}, ID: {1}", d.name, d.dialog_id); + if (d.name == DIALOG_NAME) { m_UploadTested = true; m_DialogID = d.dialog_id; } } } - m_GetDialogsTested = true; + m_GetDialogsTested = true; } } } diff --git a/UnitTests/TestDialog.cs.meta b/Scripts/UnitTests/TestDialog.cs.meta similarity index 100% rename from UnitTests/TestDialog.cs.meta rename to Scripts/UnitTests/TestDialog.cs.meta diff --git a/UnitTests/TestEventManager.cs b/Scripts/UnitTests/TestEventManager.cs similarity index 67% rename from UnitTests/TestEventManager.cs rename to Scripts/UnitTests/TestEventManager.cs index 6eb50ce7e..43f297867 100644 --- a/UnitTests/TestEventManager.cs +++ b/Scripts/UnitTests/TestEventManager.cs @@ -26,34 +26,33 @@ public class TestEventManager : UnitTest EventManager m_Manager = new EventManager(); bool m_SendTested = false; bool m_SendAsyncTested = false; - + public override IEnumerator RunTest() { - m_Manager.RegisterEventReceiver( "SendEvent", OnSendEvent ); - m_Manager.RegisterEventReceiver( "SendAsyncEvent", OnSendAsyncEvent ); + m_Manager.RegisterEventReceiver("SendEvent", OnSendEvent); + m_Manager.RegisterEventReceiver("SendAsyncEvent", OnSendAsyncEvent); - m_Manager.SendEvent( "SendEvent" ); - while(! m_SendTested ) + m_Manager.SendEvent("SendEvent"); + while (!m_SendTested) yield return null; - m_Manager.SendEventAsync( "SendAsyncEvent" ); - while(! m_SendAsyncTested ) + m_Manager.SendEventAsync("SendAsyncEvent"); + while (!m_SendAsyncTested) yield return null; yield break; } - private void OnSendEvent( object [] args ) + private void OnSendEvent(object[] args) { - Log.Status( "TestEventManager", "OnSendEvent()" ); + Log.Status("TestEventManager", "OnSendEvent()"); m_SendTested = true; } - private void OnSendAsyncEvent( object[] args ) + private void OnSendAsyncEvent(object[] args) { - Log.Status( "TestEventManager", "OnSendAsyncEvent()" ); + Log.Status("TestEventManager", "OnSendAsyncEvent()"); m_SendAsyncTested = true; } } } - diff --git a/UnitTests/TestEventManager.cs.meta b/Scripts/UnitTests/TestEventManager.cs.meta similarity index 100% rename from UnitTests/TestEventManager.cs.meta rename to Scripts/UnitTests/TestEventManager.cs.meta diff --git a/Scripts/UnitTests/TestLanguageTranslation.cs b/Scripts/UnitTests/TestLanguageTranslation.cs new file mode 100644 index 000000000..2820880e3 --- /dev/null +++ b/Scripts/UnitTests/TestLanguageTranslation.cs @@ -0,0 +1,116 @@ +/** +* Copyright 2015 IBM Corp. All Rights Reserved. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +*/ + + +using IBM.Watson.DeveloperCloud.Logging; +using IBM.Watson.DeveloperCloud.Services.LanguageTranslation.v1; +using IBM.Watson.DeveloperCloud.Utilities; +using System.Collections; + +namespace IBM.Watson.DeveloperCloud.UnitTests +{ + public class TestLanguageTranslation : UnitTest + { + private LanguageTranslation m_Translate = new LanguageTranslation(); + private bool m_GetModelTested = false; + private bool m_GetModelsTested = false; + private bool m_GetLanguagesTested = false; + private bool m_IdentifyTested = false; + private bool m_TranslateTested = false; + + public override IEnumerator RunTest() + { + if (Config.Instance.FindCredentials(m_Translate.GetServiceID()) == null) + yield break; + + m_Translate.GetModel("en-es", OnGetModel); + while (!m_GetModelTested) + yield return null; + + m_Translate.GetModels(OnGetModels); + while (!m_GetModelsTested) + yield return null; + + m_Translate.GetLanguages(OnGetLanguages); + while (!m_GetLanguagesTested) + yield return null; + + m_Translate.Identify("What does the fox say?", OnIdentify); + while (!m_IdentifyTested) + yield return null; + + m_Translate.GetTranslation("What does the fox say?", "en", "es", OnGetTranslation); + while (!m_TranslateTested) + yield return null; + + yield break; + } + + private void OnGetModel(TranslationModel model) + { + Test(model != null); + if (model != null) + { + Log.Status("TestTranslate", "ModelID: {0}, Source: {1}, Target: {2}, Domain: {3}", + model.model_id, model.source, model.target, model.domain); + } + m_GetModelTested = true; + } + + private void OnGetModels(TranslationModels models) + { + Test(models != null); + if (models != null) + { + foreach (var model in models.models) + { + Log.Status("TestTranslate", "ModelID: {0}, Source: {1}, Target: {2}, Domain: {3}", + model.model_id, model.source, model.target, model.domain); + } + } + m_GetModelsTested = true; + } + + private void OnGetTranslation(Translations translation) + { + Test(translation != null); + if (translation != null && translation.translations.Length > 0) + Log.Status("TestTranslate", "Translation: {0}", translation.translations[0].translation); + m_TranslateTested = true; + } + + private void OnIdentify(string lang) + { + Test(lang != null); + if (lang != null) + Log.Status("TestTranslate", "Identified Language as {0}", lang); + m_IdentifyTested = true; + } + + private void OnGetLanguages(Languages languages) + { + Test(languages != null); + if (languages != null) + { + foreach (var lang in languages.languages) + Log.Status("TestTranslate", "Language: {0}, Name: {1}", lang.language, lang.name); + } + + m_GetLanguagesTested = true; + } + } +} diff --git a/UnitTests/TestLanguageTranslation.cs.meta b/Scripts/UnitTests/TestLanguageTranslation.cs.meta similarity index 100% rename from UnitTests/TestLanguageTranslation.cs.meta rename to Scripts/UnitTests/TestLanguageTranslation.cs.meta diff --git a/UnitTests/TestNaturalLanguageClassifier.cs b/Scripts/UnitTests/TestNaturalLanguageClassifier.cs similarity index 52% rename from UnitTests/TestNaturalLanguageClassifier.cs rename to Scripts/UnitTests/TestNaturalLanguageClassifier.cs index cda1c2f3a..4e26045b5 100644 --- a/UnitTests/TestNaturalLanguageClassifier.cs +++ b/Scripts/UnitTests/TestNaturalLanguageClassifier.cs @@ -18,9 +18,8 @@ //#define TEST_DELETE using System.Collections; -using IBM.Watson.DeveloperCloud.Services.v1; +using IBM.Watson.DeveloperCloud.Services.NaturalLanguageClassifier.v1; using IBM.Watson.DeveloperCloud.Logging; -using IBM.Watson.DeveloperCloud.DataModels; using IBM.Watson.DeveloperCloud.Utilities; using System.IO; using UnityEngine; @@ -30,7 +29,7 @@ namespace IBM.Watson.DeveloperCloud.UnitTests { public class TestNaturalLanguageClassifier : UnitTest { - NaturalLanguageClassifier m_NLC = new NaturalLanguageClassifier(); + NaturalLanguageClassifier m_NaturalLanguageClassifier = new NaturalLanguageClassifier(); bool m_FindClassifierTested = false; bool m_TrainClasifierTested = false; bool m_TrainClassifier = false; @@ -42,32 +41,32 @@ public class TestNaturalLanguageClassifier : UnitTest public override IEnumerator RunTest() { - if ( Config.Instance.FindCredentials( m_NLC.GetServiceID() ) == null ) + if (Config.Instance.FindCredentials(m_NaturalLanguageClassifier.GetServiceID()) == null) yield break; - m_NLC.FindClassifier( "TestNLC/", OnFindClassifier ); - while(! m_FindClassifierTested ) + m_NaturalLanguageClassifier.FindClassifier("TestNaturalLanguageClassifier/", OnFindClassifier); + while (!m_FindClassifierTested) yield return null; - if ( m_TrainClassifier ) + if (m_TrainClassifier) { - string trainingData = File.ReadAllText( Application.dataPath + "/Watson/Editor/TestData/weather_data_train.csv" ); + string trainingData = File.ReadAllText(Application.dataPath + "/Watson/Scripts/Editor/TestData/weather_data_train.csv"); - Test( m_NLC.TrainClassifier( "TestNLC/" + DateTime.Now.ToString(), "en", trainingData, OnTrainClassifier ) ); - while( !m_TrainClasifierTested ) + Test(m_NaturalLanguageClassifier.TrainClassifier("TestNaturalLanguageClassifier/" + DateTime.Now.ToString(), "en", trainingData, OnTrainClassifier)); + while (!m_TrainClasifierTested) yield return null; } - else if ( !string.IsNullOrEmpty( m_ClassifierId ) ) + else if (!string.IsNullOrEmpty(m_ClassifierId)) { - Test( m_NLC.Classify( m_ClassifierId, "Is it hot outside", OnClassify ) ); - while(! m_ClassifyTested ) + Test(m_NaturalLanguageClassifier.Classify(m_ClassifierId, "Is it hot outside", OnClassify)); + while (!m_ClassifyTested) yield return null; } #if TEST_DELETE if ( !string.IsNullOrEmpty( m_ClassifierId ) ) { - Test( m_NLC.DeleteClassifer( m_ClassifierId, OnDeleteClassifier ) ); + Test( m_NaturalLanguageClassifier.DeleteClassifer( m_ClassifierId, OnDeleteClassifier ) ); while(! m_DeleteTested ) yield return null; } @@ -84,43 +83,42 @@ private void OnDeleteClassifier( bool success ) } #endif - private void OnFindClassifier( Classifier find ) + private void OnFindClassifier(Classifier find) { - if ( find != null ) + if (find != null) { - Log.Status( "TestNLC", "Find Result, Classifier ID: {0}, Status: {1}", find.classifier_id, find.status ); + Log.Status("TestNaturalLanguageClassifier", "Find Result, Classifier ID: {0}, Status: {1}", find.classifier_id, find.status); m_TrainClassifier = false; - if ( find.status == "Available" ) + if (find.status == "Available") m_ClassifierId = find.classifier_id; - } + } else { m_TrainClassifier = true; } - m_FindClassifierTested = true; + m_FindClassifierTested = true; } - private void OnClassify( ClassifyResult result ) + private void OnClassify(ClassifyResult result) { - Test( result != null ); - if ( result != null ) + Test(result != null); + if (result != null) { - Log.Status( "TestNLC", "Classify Result: {0}", result.top_class ); - Test( result.top_class == "temperature" ); + Log.Status("TestNaturalLanguageClassifier", "Classify Result: {0}", result.top_class); + Test(result.top_class == "temperature"); } m_ClassifyTested = true; } - private void OnTrainClassifier( Classifier classifier ) + private void OnTrainClassifier(Classifier classifier) { - Test( classifier != null ); - if ( classifier != null ) - Log.Status( "TestNLC", "Classifier ID: {0}, Status: {1}", classifier.classifier_id, classifier.status ); + Test(classifier != null); + if (classifier != null) + Log.Status("TestNaturalLanguageClassifier", "Classifier ID: {0}, Status: {1}", classifier.classifier_id, classifier.status); m_TrainClasifierTested = true; } - } } diff --git a/UnitTests/TestNaturalLanguageClassifier.cs.meta b/Scripts/UnitTests/TestNaturalLanguageClassifier.cs.meta similarity index 100% rename from UnitTests/TestNaturalLanguageClassifier.cs.meta rename to Scripts/UnitTests/TestNaturalLanguageClassifier.cs.meta diff --git a/UnitTests/TestRunnable.cs b/Scripts/UnitTests/TestRunnable.cs similarity index 100% rename from UnitTests/TestRunnable.cs rename to Scripts/UnitTests/TestRunnable.cs diff --git a/UnitTests/TestRunnable.cs.meta b/Scripts/UnitTests/TestRunnable.cs.meta similarity index 100% rename from UnitTests/TestRunnable.cs.meta rename to Scripts/UnitTests/TestRunnable.cs.meta diff --git a/UnitTests/TestSpeechToText.cs b/Scripts/UnitTests/TestSpeechToText.cs similarity index 66% rename from UnitTests/TestSpeechToText.cs rename to Scripts/UnitTests/TestSpeechToText.cs index 9ba934c62..01b922461 100644 --- a/UnitTests/TestSpeechToText.cs +++ b/Scripts/UnitTests/TestSpeechToText.cs @@ -16,9 +16,8 @@ */ -using IBM.Watson.DeveloperCloud.DataModels; using IBM.Watson.DeveloperCloud.Logging; -using IBM.Watson.DeveloperCloud.Services.v1; +using IBM.Watson.DeveloperCloud.Services.SpeechToText.v1; using IBM.Watson.DeveloperCloud.Utilities; using System.Collections; @@ -26,27 +25,27 @@ namespace IBM.Watson.DeveloperCloud.UnitTests { public class TestSpeechToText : UnitTest { - private SpeechToText m_STT = new SpeechToText(); + private SpeechToText m_SpeechToText = new SpeechToText(); private bool m_GetModelsTested = false; public override IEnumerator RunTest() { - if ( Config.Instance.FindCredentials( m_STT.GetServiceID() ) == null ) + if (Config.Instance.FindCredentials(m_SpeechToText.GetServiceID()) == null) yield break; - m_STT.GetModels( OnGetModels ); + m_SpeechToText.GetModels(OnGetModels); - while(! m_GetModelsTested ) + while (!m_GetModelsTested) yield return null; yield break; } - private void OnGetModels( SpeechModel [] models ) + private void OnGetModels(SpeechModel[] models) { - Test( models != null ); - if ( models != null ) - Log.Status( "TestSpeechToText", "GetModels() returned {0} models.", models.Length ); + Test(models != null); + if (models != null) + Log.Status("TestSpeechToText", "GetModels() returned {0} models.", models.Length); m_GetModelsTested = true; } diff --git a/UnitTests/TestSpeechToText.cs.meta b/Scripts/UnitTests/TestSpeechToText.cs.meta similarity index 100% rename from UnitTests/TestSpeechToText.cs.meta rename to Scripts/UnitTests/TestSpeechToText.cs.meta diff --git a/UnitTests/TestTextToSpeech.cs b/Scripts/UnitTests/TestTextToSpeech.cs similarity index 62% rename from UnitTests/TestTextToSpeech.cs rename to Scripts/UnitTests/TestTextToSpeech.cs index 5998007f3..5a5723907 100644 --- a/UnitTests/TestTextToSpeech.cs +++ b/Scripts/UnitTests/TestTextToSpeech.cs @@ -17,7 +17,7 @@ using UnityEngine; using System.Collections; -using IBM.Watson.DeveloperCloud.Services.v1; +using IBM.Watson.DeveloperCloud.Services.TextToSpeech.v1; using IBM.Watson.DeveloperCloud.Logging; using IBM.Watson.DeveloperCloud.Utilities; @@ -25,52 +25,51 @@ namespace IBM.Watson.DeveloperCloud.UnitTests { public class TestTextToSpeech : UnitTest { - private TextToSpeech m_TTS = new TextToSpeech(); + private TextToSpeech m_TextToSpeech = new TextToSpeech(); private bool m_GetTested = false; private bool m_PostTested = false; - + public override IEnumerator RunTest() { - if ( Config.Instance.FindCredentials( m_TTS.GetServiceID() ) == null ) + if (Config.Instance.FindCredentials(m_TextToSpeech.GetServiceID()) == null) yield break; - m_TTS.ToSpeech( "Hello World using GET", OnSpeechGET ); // Test GET + m_TextToSpeech.ToSpeech("Hello World using GET", OnSpeechGET); // Test GET while (!m_GetTested) yield return null; - m_TTS.ToSpeech( "Hello World using POST", OnSpeechPOST, true ); // Test POST + m_TextToSpeech.ToSpeech("Hello World using POST", OnSpeechPOST, true); // Test POST while (!m_PostTested) yield return null; yield break; } - private void OnSpeechGET( AudioClip clip ) + private void OnSpeechGET(AudioClip clip) { - Log.Debug( "TestTestToSpeech", "OnSpeechGET invoked." ); + Log.Debug("TestTestToSpeech", "OnSpeechGET invoked."); - Test( clip != null ); + Test(clip != null); m_GetTested = true; - PlayClip( clip ); - + PlayClip(clip); } - private void OnSpeechPOST( AudioClip clip ) + private void OnSpeechPOST(AudioClip clip) { - Log.Debug( "TestTestToSpeech", "OnSpechPOST invoked." ); + Log.Debug("TestTestToSpeech", "OnSpechPOST invoked."); - Test( clip != null ); + Test(clip != null); m_PostTested = true; - PlayClip( clip ); + PlayClip(clip); } - private void PlayClip( AudioClip clip ) + private void PlayClip(AudioClip clip) { - if ( Application.isPlaying && clip != null ) + if (Application.isPlaying && clip != null) { - GameObject audioObject = new GameObject( "AudioObject" ); + GameObject audioObject = new GameObject("AudioObject"); AudioSource source = audioObject.AddComponent(); source.spatialBlend = 0.0f; // 2D sound source.loop = false; // do not loop @@ -78,9 +77,8 @@ private void PlayClip( AudioClip clip ) source.Play(); // automatically destroy the object after the sound has played.. - GameObject.Destroy( audioObject, clip.length ); + GameObject.Destroy(audioObject, clip.length); } } - } } diff --git a/UnitTests/TestTextToSpeech.cs.meta b/Scripts/UnitTests/TestTextToSpeech.cs.meta similarity index 100% rename from UnitTests/TestTextToSpeech.cs.meta rename to Scripts/UnitTests/TestTextToSpeech.cs.meta diff --git a/UnitTests/UnitTest.cs b/Scripts/UnitTests/UnitTest.cs similarity index 83% rename from UnitTests/UnitTest.cs rename to Scripts/UnitTests/UnitTest.cs index 83f265583..ec198de6a 100644 --- a/UnitTests/UnitTest.cs +++ b/Scripts/UnitTests/UnitTest.cs @@ -19,8 +19,8 @@ using System.Collections; using UnityEngine; -namespace IBM.Watson.DeveloperCloud.UnitTests { - +namespace IBM.Watson.DeveloperCloud.UnitTests +{ /// /// This is the base class for all UnitTest classes. Derive from this class and implement the RunTest() function. /// @@ -34,11 +34,11 @@ public abstract class UnitTest /// Utility function that fails this test if false. /// /// If false then the test is failed and the failure is logged. - public void Test( bool condition ) + public void Test(bool condition) { - if (! condition ) + if (!condition) { - Log.Error( "UnitTest", "UnitTest {0} has failed, Stack:\n{1}", GetType().Name, StackTraceUtility.ExtractStackTrace () ); + Log.Error("UnitTest", "UnitTest {0} has failed, Stack:\n{1}", GetType().Name, StackTraceUtility.ExtractStackTrace()); TestFailed = true; } } diff --git a/UnitTests/UnitTest.cs.meta b/Scripts/UnitTests/UnitTest.cs.meta similarity index 100% rename from UnitTests/UnitTest.cs.meta rename to Scripts/UnitTests/UnitTest.cs.meta diff --git a/UnitTests/UnitTestManager.cs b/Scripts/UnitTests/UnitTestManager.cs similarity index 91% rename from UnitTests/UnitTestManager.cs rename to Scripts/UnitTests/UnitTestManager.cs index 9d7746b79..dcae3f0c5 100644 --- a/UnitTests/UnitTestManager.cs +++ b/Scripts/UnitTests/UnitTestManager.cs @@ -114,22 +114,23 @@ private IEnumerator RunTestsCR() // wait for the test to complete.. bool bTestException = true; DateTime startTime = DateTime.Now; - try { + try + { IEnumerator e = m_ActiveTest.RunTest(); while (e.MoveNext()) { - if ( m_ActiveTest.TestFailed ) + if (m_ActiveTest.TestFailed) break; yield return null; - if ( (DateTime.Now - startTime).TotalSeconds > TEST_TIMEOUT ) + if ((DateTime.Now - startTime).TotalSeconds > TEST_TIMEOUT) { Log.Error("UnitTestManager", "UnitTest {0} has timed out.", testType.Name); m_ActiveTest.TestFailed = true; break; } } - + bTestException = false; if (m_ActiveTest.TestFailed) { @@ -142,11 +143,11 @@ private IEnumerator RunTestsCR() TestsComplete += 1; } } - finally {} + finally { } - if ( bTestException ) + if (bTestException) { - Log.Error("UnitTestManager", "... UnitTest {0} threw exception.", testType.Name ); + Log.Error("UnitTestManager", "... UnitTest {0} threw exception.", testType.Name); TestsFailed += 1; } } @@ -180,23 +181,22 @@ private void OnGUI() if (m_TestsAvailable != null) { - GUILayout.BeginArea(new Rect(Screen.width * 0.3f, Screen.height * 0.15f, Screen.width * 0.4f, Screen.height * 0.85f)); + GUILayout.BeginArea(new Rect(Screen.width * 0.3f, Screen.height * 0.15f, Screen.width * 0.4f, Screen.height * 0.85f)); foreach (var t in m_TestsAvailable) { string sButtonLabel = "Run " + t.Name; - if (GUILayout.Button(sButtonLabel,GUILayout.MinWidth(Screen.width * 0.4f), GUILayout.MinHeight(Screen.height * 0.04f))) + if (GUILayout.Button(sButtonLabel, GUILayout.MinWidth(Screen.width * 0.4f), GUILayout.MinHeight(Screen.height * 0.04f))) { QueueTest(t, true); } } - GUILayout.EndArea(); + GUILayout.EndArea(); } } #endregion } } - /// /// This static class is for menu items and invoking a function from the command line, since it doesn't like namespaces. /// @@ -207,7 +207,6 @@ public static class RunUnitTest /// static public void All() { - LogSystem.InstallDefaultReactors(); #if UNITY_EDITOR Runnable.EnableRunnableInEditor(); #endif @@ -222,10 +221,9 @@ static public void All() /// /// Menu item handler for running all unit tests. /// - [MenuItem("Watson/Run All UnitTests",false, 50)] + [MenuItem("Watson/Run All UnitTests", false, 50)] static public void AllNoQuit() { - LogSystem.InstallDefaultReactors(); Runnable.EnableRunnableInEditor(); IBM.Watson.DeveloperCloud.Editor.UnitTestManager instance = IBM.Watson.DeveloperCloud.Editor.UnitTestManager.Instance; @@ -235,6 +233,6 @@ static public void AllNoQuit() #endif static void OnTestsComplete() - {} + { } } diff --git a/UnitTests/UnitTestManager.cs.meta b/Scripts/UnitTests/UnitTestManager.cs.meta similarity index 100% rename from UnitTests/UnitTestManager.cs.meta rename to Scripts/UnitTests/UnitTestManager.cs.meta diff --git a/Scripts/Utilities/AppController.cs b/Scripts/Utilities/AppController.cs deleted file mode 100644 index 162caaee6..000000000 --- a/Scripts/Utilities/AppController.cs +++ /dev/null @@ -1,208 +0,0 @@ -/** -* Copyright 2015 IBM Corp. All Rights Reserved. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -using IBM.Watson.DeveloperCloud.Logging; -using UnityEngine; - - -namespace IBM.Watson.DeveloperCloud.Utilities -{ - /// - /// General application related event handlers and some configurations - /// - public class AppController : MonoBehaviour { - - #region Private Members - private static AppController mp_instance = null; - private bool m_isAnimationPaused = false; - - //Client Related variables - private string m_ClientName; - private Texture m_ClientLogoTexture; - #endregion - - #region Public Members - - public static AppController instance - { - get{ - if (mp_instance == null) { - Log.Error ("AppController", "There is no instance for AppController so creating one."); - GameObject gameObject = new GameObject (); - gameObject.name = "_AppController"; - mp_instance = gameObject.AddComponent (); - } - - return mp_instance; - } - } - - /// - /// Gets the name of the client. - /// - /// The name of the client. - public string ClientName{ - get{ - if (Config.Instance.ConfigLoaded) { - if(string.IsNullOrEmpty(m_ClientName)) - m_ClientName = Config.Instance.GetVariableValue (Constants.String.KEY_CONFIG_CLIENT_NAME); - - return m_ClientName; - } - else - return null; - } - } - - /// - /// Gets a value indicating is custom client. - /// - /// true if is custom client; otherwise, false. - public static bool IsCustomClient{ - get{ - return !string.IsNullOrEmpty (instance.ClientName); - } - } - - /// - /// Gets the client logo texture. - /// - /// The client logo texture. - public Texture ClientLogoTexture{ - get{ - if (m_ClientLogoTexture == null) { - if (IsCustomClient) { - m_ClientLogoTexture = Resources.Load( string.Format(Constants.String.CLIENT_TEXTURE_LOGO, ClientName)) as Texture; - } else { - Log.Warning ("AppController", "Requested client logo texture but there is no custom client"); - } - } - return m_ClientLogoTexture; - } - } - - #endregion - - #region Start - - void Awake(){ - mp_instance = this; - } - - // Use this for initialization - void Start () { - Screen.sleepTimeout = SleepTimeout.NeverSleep; - } - - #endregion - - #region Input / Output Related - - /// - /// Shows the virtual keyboard. - /// - /// Arguments. - public void ShowVirtualKeyboard(System.Object[] args) - { - #if UNITY_STANDALONE_WIN || UNITY_EDITOR_WIN - try - { - System.Diagnostics.Process.Start("TabTip.exe"); - } - catch (System.Exception e) - { - Log.Error("WatsonCamera", "ShowVirtualKeyboard has exception: {0}", e.Message); - } - #elif UNITY_IOS || UNITY_ANDROID - TouchScreenKeyboard.Open("",TouchScreenKeyboardType.Default, false, false, false,false,""); - #endif - } - - - #endregion - - #region Animation Related General Methods - - /// - /// Event firing to speed up animation in entire app - /// - public void AnimationSpeedUp() - { - EventManager.Instance.SendEvent(Constants.Event.ON_ANIMATION_SPEED_UP); - } - - /// - /// Event firing to speed down animation in entire app - /// - public void AnimationSpeedDown() - { - EventManager.Instance.SendEvent(Constants.Event.ON_ANIMATION_SPEED_DOWN); - } - - /// - /// Event firing to speed set default animation in entire app - /// - public void AnimationSpeedDefault() - { - EventManager.Instance.SendEvent(Constants.Event.ON_ANIMATION_SPEED_DEFAULT); - } - - /// - /// Event firing to pause all animations - /// - public void AnimationPause() - { - EventManager.Instance.SendEvent(Constants.Event.ON_ANIMATION_PAUSE); - } - - /// - /// Event firing to resume all animations paused - /// - public void AnimationResume() - { - EventManager.Instance.SendEvent(Constants.Event.ON_ANIMATION_RESUME); - } - - /// - /// Event firing to pause / resume all animations paused - /// - public void AnimationPauseResume() - { - m_isAnimationPaused = !m_isAnimationPaused; - - if (m_isAnimationPaused) - AnimationPause(); - else - AnimationResume(); - } - - #endregion - - #region Application General - - /// - /// Event handler to application quit - /// - /// Arguments. - public void ApplicationQuit(System.Object[] args = null) - { - Application.Quit(); - } - - #endregion - } -} diff --git a/Scripts/Utilities/AudioClipUtil.cs b/Scripts/Utilities/AudioClipUtil.cs index b4f8fae03..d4e6505bf 100644 --- a/Scripts/Utilities/AudioClipUtil.cs +++ b/Scripts/Utilities/AudioClipUtil.cs @@ -48,12 +48,12 @@ public static AudioClip Combine(params AudioClip[] clips) if (clips[i] == null) continue; - if ( firstClip != null ) + if (firstClip != null) { - if ( firstClip.channels != clips[i].channels - || firstClip.frequency != clips[i].frequency ) + if (firstClip.channels != clips[i].channels + || firstClip.frequency != clips[i].frequency) { - Log.Error( "AudioClipUtil", "Combine() requires clips to have the sample number of channels and same frequency." ); + Log.Error("AudioClipUtil", "Combine() requires clips to have the sample number of channels and same frequency."); return null; } } @@ -79,7 +79,7 @@ public static AudioClip Combine(params AudioClip[] clips) if (length == 0) return null; - AudioClip result = AudioClip.Create( firstClip.name, length / firstClip.channels, firstClip.channels, firstClip.frequency, false ); + AudioClip result = AudioClip.Create(firstClip.name, length / firstClip.channels, firstClip.channels, firstClip.frequency, false); result.SetData(data, 0); return result; @@ -107,70 +107,5 @@ public static byte[] GetL16(AudioClip clip) return data; } - - private static Queue sm_DestroyQueue = new Queue(); - private static int sm_DestroyQueueID = 0; - - /// - /// Returns the state of the AudioClip destroy queue. - /// - /// Returns true if the destoy queue processor is active. - public static bool IsDestroyQueueActive() - { - return sm_DestroyQueueID != 0; - } - - /// - /// Start up the AudioClip destroy queue processor. - /// - public static void StartDestroyQueue() - { - if ( sm_DestroyQueueID == 0 ) - sm_DestroyQueueID = Runnable.Run( ProcessDestroyQueue() ); - } - - /// - /// Stop the AudioClip destroy processor. - /// - public static void StopDestroyQueue() - { - if ( sm_DestroyQueueID != 0 ) - { - Runnable.Stop( sm_DestroyQueueID ); - sm_DestroyQueueID = 0; - } - } - - /// - /// Queue an AudioClip for destruction on the main thread. This function is thread-safe. - /// - /// The AudioClip to destroy. - public static void DestroyAudioClip( AudioClip clip ) - { - if ( sm_DestroyQueueID == 0 ) - throw new WatsonException( "AudioClip destroy queue not started." ); - - lock( sm_DestroyQueue ) - sm_DestroyQueue.Enqueue( clip ); - } - - private static IEnumerator ProcessDestroyQueue() - { - yield return null; - - while( sm_DestroyQueueID != 0 ) - { - yield return new WaitForSeconds( 1.0f ); - - lock( sm_DestroyQueue ) - { - while( sm_DestroyQueue.Count > 0 ) - { - AudioClip clip = sm_DestroyQueue.Dequeue(); - UnityEngine.Object.DestroyImmediate( clip, true ); - } - } - } - } } } diff --git a/Scripts/Utilities/Config.cs b/Scripts/Utilities/Config.cs index e08b52738..8ec3f3391 100644 --- a/Scripts/Utilities/Config.cs +++ b/Scripts/Utilities/Config.cs @@ -84,10 +84,11 @@ public string MakeJSON() /// /// The JSON data to parse. /// Returns true on success. - public bool ParseJSON( string json ) + public bool ParseJSON(string json) { - try { - IDictionary iParse = Json.Deserialize( json ) as IDictionary; + try + { + IDictionary iParse = Json.Deserialize(json) as IDictionary; IDictionary iCredentials = iParse["credentials"] as IDictionary; m_URL = (string)iCredentials["url"]; m_User = (string)iCredentials["username"]; @@ -95,9 +96,9 @@ public bool ParseJSON( string json ) return true; } - catch( Exception e ) + catch (Exception e) { - Log.Error( "Config", "Caught Exception: {0}", e.ToString() ); + Log.Error("Config", "Caught Exception: {0}", e.ToString()); } return false; @@ -106,16 +107,12 @@ public bool ParseJSON( string json ) #region Private Data [fsProperty] + private string m_ClassifierDirectory = "Watson/Scripts/Editor/Classifiers/"; + [fsProperty] private float m_TimeOut = 30.0f; [fsProperty] private int m_MaxRestConnections = 5; [fsProperty] - private bool m_EnableGateway = false; - [fsProperty] - private string m_GatewayURL = ""; //"https://9.53.162.55:9443/webApp"; - [fsProperty] - private string m_ProductKey = null; - [fsProperty] private List m_Credentials = new List(); [fsProperty] private List m_Variables = new List(); @@ -134,6 +131,10 @@ public bool ParseJSON( string json ) /// public static Config Instance { get { return Singleton.Instance; } } /// + /// Returns the location of the classifiers + /// + public string ClassifierDirectory { get { return m_ClassifierDirectory; } set { m_ClassifierDirectory = value; } } + /// /// Returns the Timeout for requests made to the server. /// public float TimeOut { get { return m_TimeOut; } set { m_TimeOut = value; } } @@ -149,19 +150,6 @@ public bool ParseJSON( string json ) /// Returns a list of variables which can hold key/value data. /// public List Variables { get { return m_Variables; } set { m_Variables = value; } } - /// - /// Enable the gateway usage. - /// - public bool EnableGateway { get { return m_EnableGateway; } set { m_EnableGateway = value; } } - /// - /// The URL of the gateway to use. - /// - public string GatewayURL { get { return m_GatewayURL; } set { m_GatewayURL = value; } } - /// - /// The product key used to communicate with the gateway. - /// - public string ProductKey { get { return m_ProductKey; } set { m_ProductKey = value; } } - #endregion /// @@ -177,10 +165,10 @@ public Config() /// /// The ID of the service to find. /// Returns null if the credentials cannot be found. - public CredentialInfo FindCredentials( string serviceID ) + public CredentialInfo FindCredentials(string serviceID) { - foreach( var info in m_Credentials ) - if ( info.m_ServiceID == serviceID ) + foreach (var info in m_Credentials) + if (info.m_ServiceID == serviceID) return info; return null; } @@ -192,13 +180,18 @@ public CredentialInfo FindCredentials( string serviceID ) public void LoadConfig() { #if !UNITY_ANDROID || UNITY_EDITOR - try { - if (! Directory.Exists( Application.streamingAssetsPath ) ) - Directory.CreateDirectory( Application.streamingAssetsPath ); - LoadConfig( System.IO.File.ReadAllText( Application.streamingAssetsPath + Constants.Path.CONFIG_FILE ) ); + try + { + if (!Directory.Exists(Application.streamingAssetsPath)) + Directory.CreateDirectory(Application.streamingAssetsPath); + LoadConfig(System.IO.File.ReadAllText(Application.streamingAssetsPath + Constants.Path.CONFIG_FILE)); + } + catch (System.IO.FileNotFoundException) + { + // mark as loaded anyway, so we don't keep retrying.. + Log.Error("Config", "Failed to load config file."); + ConfigLoaded = true; } - catch( System.IO.FileNotFoundException ) - {} #else Runnable.Run(LoadConfigCR()); #endif @@ -211,24 +204,34 @@ public void LoadConfig() /// public bool LoadConfig(string json) { - fsData data = null; - fsResult r = fsJsonParser.Parse(json, out data); - if (!r.Succeeded) + try { - Log.Error("Config", "Failed to parse Config.json: {0}", r.ToString()); - return false; - } + fsData data = null; + fsResult r = fsJsonParser.Parse(json, out data); + if (!r.Succeeded) + { + Log.Error("Config", "Failed to parse Config.json: {0}", r.ToString()); + return false; + } + + object obj = this; + r = sm_Serializer.TryDeserialize(data, GetType(), ref obj); + if (!r.Succeeded) + { + Log.Error("Config", "Failed to parse Config.json: {0}", r.ToString()); + return false; + } - object obj = this; - r = sm_Serializer.TryDeserialize(data, GetType(), ref obj); - if (!r.Succeeded) + ConfigLoaded = true; + return true; + } + catch (Exception e) { - Log.Error("Config", "Failed to parse Config.json: {0}", r.ToString()); - return false; + Log.Error("Config", "Failed to load config: {0}", e.ToString()); } ConfigLoaded = true; - return true; + return false; } /// @@ -255,52 +258,81 @@ public string SaveConfig(bool pretty = true) /// /// The name of the variable to find. /// Returns the Variable object or null if not found. - public Variable GetVariable( string key ) + public Variable GetVariable(string key) { - foreach( var var in m_Variables ) - if ( var.Key == key ) + foreach (var var in m_Variables) + if (var.Key == key) return var; return null; } - /// - /// Gets the variable value. - /// - /// The variable value. - /// Key. - public string GetVariableValue(string key) - { - Variable v = GetVariable (key); - if (v != null) - return v.Value; - - return null; - } + /// + /// Gets the variable value. + /// + /// The variable value. + /// Key. + public string GetVariableValue(string key) + { + Variable v = GetVariable(key); + if (v != null) + return v.Value; + + return null; + } + + /// + /// Sets the variable value. + /// + /// true, if variable value was set, false otherwise. + /// Key. + /// Value. + public bool SetVariableValue(string key, string value, bool bAdd = false) + { + Variable v = GetVariable(key); + if (v == null) + { + if (!bAdd) + return false; + + v = new Variable(); + v.Key = key; + m_Variables.Add(v); + } + + v.Value = value; + return true; + } /// /// Resolves any variables found in the input string and returns the variable values in the returned string. /// /// A string containing variables. /// Returns the string with all variables resolved to their actual values. Any missing variables are removed from the string. - public string ResolveVariables( string input ) + public string ResolveVariables(string input, bool recursive = true) { string output = input; - foreach( var var in m_Variables ) - output = output.Replace( "${" + var.Key + "}", var.Value ); + foreach (var var in m_Variables) + { + string value = var.Value; + if (recursive && value.Contains("${")) + value = ResolveVariables(value, false); + + output = output.Replace("${" + var.Key + "}", value); + } // remove any variables still in the string.. - int variableIndex = output.IndexOf( "${" ); - while( variableIndex >= 0 ) + int variableIndex = output.IndexOf("${"); + while (variableIndex >= 0) { - int endVariable = output.IndexOf( "}", variableIndex ); - if ( endVariable < 0 ) + int endVariable = output.IndexOf("}", variableIndex); + if (endVariable < 0) break; // end not found.. - output = output.Remove( variableIndex, (endVariable - variableIndex) + 1 ); + output = output.Remove(variableIndex, (endVariable - variableIndex) + 1); // next.. - variableIndex = output.IndexOf( "${" ); + variableIndex = output.IndexOf("${"); } return output; @@ -316,8 +348,5 @@ private IEnumerator LoadConfigCR() LoadConfig(request.text); yield break; } - - - } } diff --git a/Scripts/Utilities/Constants.cs b/Scripts/Utilities/Constants.cs index 706a8d5c8..9ce031e98 100644 --- a/Scripts/Utilities/Constants.cs +++ b/Scripts/Utilities/Constants.cs @@ -26,346 +26,6 @@ namespace IBM.Watson.DeveloperCloud.Utilities /// public static class Constants { - - /// - /// All constant event names used in SDK and Applications listed here. - /// - public enum Event - { - /// - /// Invalid event type. - /// - NONE = -1, - - #region Debug - /// - /// Send a debug command. - /// - ON_DEBUG_COMMAND = 0, - /// - /// TOggle the debug console on or off. - /// - ON_DEBUG_TOGGLE, - /// - /// BEgin editing a command in the debug console. - /// - ON_DEBUG_BEGIN_COMMAND, - /// - /// Event to send debug message - /// - ON_DEBUG_MESSAGE, - /// - /// Event to change quality settings - /// - ON_CHANGE_QUALITY, - /// - /// Event after Quality Settings change - /// - ON_CHANGE_QUALITY_FINISH, - /// - /// Event to close the application - /// - ON_APPLICATION_QUIT, - /// - /// Event to make application idle - /// - ON_APPLICATION_TO_BECOME_IDLE, - /// - /// Event after appliation became idle - /// - ON_APPLICATION_BECAME_IDLE, - #endregion - - #region Avatar - /// - /// Event to change Avatar mood - /// - ON_CHANGE_AVATAR_MOOD = 100, - /// - /// Event after Avatar mood change - /// - ON_CHANGE_AVATAR_MOOD_FINISH, - /// - /// Event to change Avatar state - /// - ON_CHANGE_AVATAR_STATE, - /// - /// Event after Avatar state change - /// - ON_CHANGE_AVATAR_STATE_FINISH, - /// - /// Event to avatar move down - /// - ON_AVATAR_MOVE_DOWN, - /// - /// The event to move the avatar initial position - /// - ON_AVATAR_MOVE_DEFAULT, - /// - /// Event to stop avatar move up / down - /// - ON_AVATAR_STOP_MOVE, - /// - /// The event to stop avatar rotation - /// - ON_AVATAR_STOP_ROTATIOM, - /// - /// Event when avatar is speaking. - /// - ON_AVATAR_SPEAKING, - #endregion - - #region Question - /// - /// Event on Question Cube state change - /// - ON_CHANGE_STATE_QUESTIONCUBE_ANIMATION = 200, - /// - /// Event on Question tap inside question cube - /// - ON_QUESTIONCUBE_TAP_INSIDE, - /// - /// Event on Question tap outside question cube - /// - ON_QUESTIONCUBE_TAP_OUTSIDE, - /// - /// Event on Question cube drag via fullscreen - /// - ON_QUESTIONCUBE_DRAG_ONE_FINGER_FULLSCREEN, - /// - /// Event on Question cube drag via object dragging - /// - ON_QUESTIONCUBE_DRAG_ONE_FINGER_OBJECT, - /// - /// Event sent when a question is asked from a given location. - /// - ON_QUESTION_LOCATION, - /// - /// Event sent when a question is being answered, this is sent after the QuestionCube has been instanced - /// - ON_QUESTION, - /// - /// Event sent containing the answer results. - /// - ON_QUESTION_ANSWERS, - /// - /// Event sent containing the parse results. - /// - ON_QUESTION_PARSE, - /// - /// Event sent with the pipeline after question has been asked. - /// - ON_QUESTION_PIPELINE, - /// - /// Event sent to cancel the current question. - /// - ON_QUESTION_CANCEL, - #endregion - - #region Animation / Camera - /// - /// Event to Stop the all animations - /// - ON_ANIMATION_STOP = 300, - /// - /// Event to pause the all animations playing - /// - ON_ANIMATION_PAUSE, - /// - /// Event to resume the paused animations - /// - ON_ANIMATION_RESUME, - /// - /// Event to speed-up the animations - /// - ON_ANIMATION_SPEED_UP, - /// - /// Event to speed-down the animations - /// - ON_ANIMATION_SPEED_DOWN, - /// - /// Event to set the default speed on animations - /// - ON_ANIMATION_SPEED_DEFAULT, - /// - /// Event to drag camera with two finger to zoom and pan - /// - ON_CAMERA_DRAG_TWO_FINGER, - /// - /// Event to zoom-in camera - /// - ON_CAMERA_ZOOM_IN, - /// - /// Event to zoom-out camera - /// - ON_CAMERA_ZOOM_OUT, - /// - /// Event to move the camera left - /// - ON_CAMERA_MOVE_LEFT, - /// - /// Event to move the camera right - /// - ON_CAMERA_MOVE_RIGHT, - /// - /// Event to move the camera up - /// - ON_CAMERA_MOVE_UP, - /// - /// Event to move the camera down - /// - ON_CAMERA_MOVE_DOWN, - - #endregion - - #region NLC - - /// - /// - /// - ON_CLASSIFY_FAILURE = 400, - /// - /// - /// - ON_CLASSIFY_QUESTION, - /// - /// - /// - ON_CLASSIFY_DIALOG, - /// - /// - /// - ON_COMMAND_WAKEUP, - /// - /// - /// - ON_COMMAND_SLEEP, - /// - /// - /// - ON_COMMAND_DEBUGON, - /// - /// - /// - ON_COMMAND_DEBUGOFF, - /// - /// - /// - ON_COMMAND_FOLD, - /// - /// - /// - ON_COMMAND_UNFOLD, - /// - /// - /// - ON_COMMAND_ANSWERS, - /// - /// - /// - ON_COMMAND_EVIDENCE, - /// - /// - /// - ON_COMMAND_CHAT, - /// - /// - /// - ON_COMMAND_PARSE, - /// - /// - /// - ON_COMMAND_LOCATION, - /// - /// Sent when any classify result is made. - /// - ON_CLASSIFY_RESULT, - /// - /// Show next item , it depends on context - /// - ON_COMMAND_NEXT, - /// - /// Show previous item - it depends on context - /// - ON_COMMAND_PREVIOUS, - /// - /// To scroll up - /// - ON_COMMAND_SCROLL_UP, - /// - /// To scroll down - /// - ON_COMMAND_SCROLL_DOWN, - /// - /// To repeat last action (ex. more zoom-in) - /// - ON_COMMAND_REPEAT_LAST_ACTION, - #endregion - - #region Input - Touch - /// - /// Event if there is touch on fullscreen pressed - It is called for each touch - /// - ON_TOUCH_PRESSED_FULLSCREEN = 500, - /// - /// Event if - /// - ON_TOUCH_RELEASED_FULLSCREEN, - /// - /// Five finger tap event - /// - ON_TOUCH_FIVE_FINGER, - /// - /// Event while user is speaking - /// - ON_USER_SPEAKING, - /// - /// Event fired after any keyboard down - /// - ON_KEYBOARD_ANYKEY_DOWN, - /// - /// Event fired after user is tapping three times - used for some hot keys like open / close debug info etc. - /// - ON_TAP_THREETIMES, - /// - /// Event fired after three tap on bottom left - hot corner - /// - ON_TAP_THREETIMES_BOTTOM_LEFT, - /// - /// Event fired after three tap on bottom right - hot corner - /// - ON_TAP_THREETIMES_BOTTOM_RIGHT, - /// - /// Event fired after three tap on top left - hot corner - /// - ON_TAP_THREETIMES_TOP_LEFT, - /// - /// Event fired after three tap on top right - hot corner - /// - ON_TAP_THREETIMES_TOP_RIGHT, - /// - /// Event fired to open virtual keyboard - /// - ON_VIRTUAL_KEYBOARD_TOGGLE, - /// - /// Event fired after three tap on middle left - hot corner - /// - ON_TAP_THREETIMES_MIDDLE_LEFT, - /// - /// Event fired after three tap on middle right - hot corner - /// - ON_TAP_THREETIMES_MIDDLE_RIGHT, - /// - /// Event fired after three tap on middle bottom - hot corner - /// - ON_TAP_THREETIMES_MIDDLE_BOTTOM, - /// - /// Event fired after three tap on middle top - hot corner - /// - ON_TAP_THREETIMES_MIDDLE_TOP, - #endregion - } - /// /// All constant path variables liste here. Exp. Configuration file /// @@ -375,6 +35,14 @@ public static class Path /// Configuration file name. /// public const string CONFIG_FILE = "/Config.json"; + /// + /// Cache folder to customize a parent folder for cache directory + /// + public static string CACHE_FOLDER = ""; //It needs to start with / + /// + /// Log folder to customize a parent folder for logs + /// + public static string LOG_FOLDER = ""; //It needs to start with / } /// @@ -385,11 +53,11 @@ public static class Resources /// /// Watson icon. /// - public const string WATSON_ICON = "WatsonSpriteIcon_32x32"; + public const string WATSON_ICON = "watsonSpriteIcon-32x32"; /// /// Watson logo. /// - public const string WATSON_LOGO = "WatsonSpriteLogo_506x506"; + public const string WATSON_LOGO = "watsonSpriteLogo-506x506"; } /// @@ -398,16 +66,9 @@ public static class Resources public static class String { /// - public const string DEBUG_DISPLAY_QUALITY = "Quality: {0}"; + public const string VERSION = "watson-developer-cloud-unity-sdk-0.2.0"; /// - public const string DEBUG_DISPLAY_AVATAR_MOOD = "Behavior:{0} Mood: {1}"; - /// - public const string KEY_CONFIG_CLIENT_NAME = "CLIENT_NAME"; - public const string CLIENT_TEXTURE_LOGO = "{0}/Logo/{0}_LOGO"; + public const string DEBUG_DISPLAY_QUALITY = "Quality: {0}"; } - - } } - - diff --git a/Scripts/Utilities/Credentials.cs b/Scripts/Utilities/Credentials.cs index bffbfbff5..58c1ceedf 100644 --- a/Scripts/Utilities/Credentials.cs +++ b/Scripts/Utilities/Credentials.cs @@ -35,7 +35,7 @@ public Credentials() /// /// The string containing the user name. /// A string containing the password. - public Credentials( string user, string password ) + public Credentials(string user, string password) { User = user; Password = password; diff --git a/Scripts/Utilities/DataCache.cs b/Scripts/Utilities/DataCache.cs index c9c2a0515..ff08685ca 100644 --- a/Scripts/Utilities/DataCache.cs +++ b/Scripts/Utilities/DataCache.cs @@ -41,9 +41,9 @@ private class CacheItem public string Path { get; set; } public string Id { get; set; } public DateTime Time { get; set; } - public byte [] Data { get; set; } + public byte[] Data { get; set; } }; - private Dictionary m_Cache = new Dictionary(); + private Dictionary m_Cache = new Dictionary(); #endregion /// @@ -52,9 +52,9 @@ private class CacheItem /// The name of the cache. /// Maximum cache size in bytes. /// Maximum age of a cache item in hours. - public DataCache(string cacheName, long maxCacheSize = 1024 * 1024 * 50, double maxCacheAge = 24 * 7 ) + public DataCache(string cacheName, long maxCacheSize = 1024 * 1024 * 50, double maxCacheAge = 24 * 7) { - Initialize(cacheName,maxCacheSize,maxCacheAge); + Initialize(cacheName, maxCacheSize, maxCacheAge); } /// @@ -63,7 +63,7 @@ public DataCache(string cacheName, long maxCacheSize = 1024 * 1024 * 50, double /// The name of the cache. /// Maximum cache size in bytes. /// Maximum age of a cache item in hours. - public void Initialize(string cacheName, long maxCacheSize, double maxCacheAge ) + public void Initialize(string cacheName, long maxCacheSize, double maxCacheAge) { if (string.IsNullOrEmpty(cacheName)) throw new ArgumentNullException("cacheName"); @@ -72,7 +72,7 @@ public void Initialize(string cacheName, long maxCacheSize, double maxCacheAge ) m_MaxCacheSize = maxCacheSize; m_MaxCacheAge = maxCacheAge; - m_CachePath = Application.persistentDataPath + "/" + cacheName + "/"; + m_CachePath = Application.persistentDataPath + Constants.Path.CACHE_FOLDER + "/" + cacheName + "/"; if (!Directory.Exists(m_CachePath)) Directory.CreateDirectory(m_CachePath); @@ -80,23 +80,21 @@ public void Initialize(string cacheName, long maxCacheSize, double maxCacheAge ) { DateTime lastWrite = File.GetLastAccessTime(f); double age = (DateTime.Now - lastWrite).TotalHours; - if ( age < m_MaxCacheAge ) + if (age < m_MaxCacheAge) { CacheItem item = new CacheItem(); item.Path = f; item.Id = Path.GetFileNameWithoutExtension(f); item.Time = lastWrite; - item.Data = File.ReadAllBytes(f); - if ( item.Data == null ) - continue; + item.Data = null; m_Cache[item.Id] = item; - m_CurrentCacheSize += item.Data.Length; + m_CurrentCacheSize += (new FileInfo(f)).Length; } else { - Log.Debug( "DataCache", "Removing aged cache item {0}", f ); - File.Delete( f ); + Log.Debug("DataCache", "Removing aged cache item {0}", f); + File.Delete(f); } } } @@ -108,20 +106,47 @@ public void Initialize(string cacheName, long maxCacheSize, double maxCacheAge ) /// The cached data, or null if not found. public byte[] Find(string id) { - id = id.Replace('/', '_'); - - CacheItem item = null; - if (m_Cache.TryGetValue(id, out item)) + if (!string.IsNullOrEmpty(id)) { - item.Time = DateTime.Now; - File.SetLastWriteTime( item.Path, item.Time ); + id = id.Replace('/', '_'); + + CacheItem item = null; + if (m_Cache.TryGetValue(id, out item)) + { + item.Time = DateTime.Now; + + File.SetLastWriteTime(item.Path, item.Time); + + if (item.Data == null) + { + item.Data = File.ReadAllBytes(item.Path); + } - return item.Data; + return item.Data; + } } return null; } + public bool IsCached(string id) + { + bool isCached = false; + + if (!string.IsNullOrEmpty(id)) + { + id = id.Replace('/', '_'); + + CacheItem item = null; + if (m_Cache.TryGetValue(id, out item)) + { + isCached = File.Exists(item.Path); + } + } + + return isCached; + } + /// /// Save data into the cache by ID. /// @@ -129,43 +154,57 @@ public byte[] Find(string id) /// The data of the object to save. public void Save(string id, byte[] data) { - id = id.Replace('/', '_'); + if (data != null && data.Length > 0) + { + id = id.Replace('/', '_'); - if ( m_Cache.ContainsKey( id ) ) - Flush( id ); + if (m_Cache.ContainsKey(id)) + { + Log.Debug("DataCache", "Has same key in the cache. Flushing old one: {0}", id); + Flush(id); + } - CacheItem item = new CacheItem(); - item.Path = m_CachePath + id + ".bytes"; - item.Id = id; - item.Time = DateTime.Now; - item.Data = data; + CacheItem item = new CacheItem(); + item.Path = m_CachePath + id + ".bytes"; + item.Id = id; + item.Time = DateTime.Now; + item.Data = data; - File.WriteAllBytes( item.Path, data); - m_CurrentCacheSize += item.Data.Length; + File.WriteAllBytes(item.Path, data); + m_CurrentCacheSize += item.Data.Length; - m_Cache[id] = item; + m_Cache[id] = item; - while( m_CurrentCacheSize > m_MaxCacheSize ) - FlushOldest(); + while (m_CurrentCacheSize > m_MaxCacheSize) + FlushOldest(); + } + else + { + Log.Error("DataCache", "Empty data came to the cache, couldn't cache any null data"); + } } /// /// Flush a specific item from the cache. /// /// The ID of the object to flush. - public void Flush( string id ) + public void Flush(string id) { id = id.Replace('/', '_'); CacheItem item = null; - if ( m_Cache.TryGetValue( id, out item ) ) + if (m_Cache.TryGetValue(id, out item)) { - Log.Debug( "DataCache", "Flushing {0} from cache.", item.Path ); + Log.Debug("DataCache", "Flushing {0} from cache.", item.Path); + + if (item.Data != null) + m_CurrentCacheSize -= item.Data.Length; + else + m_CurrentCacheSize -= (new FileInfo(item.Path)).Length; - m_CurrentCacheSize -= item.Data.Length; - File.Delete( item.Path ); + File.Delete(item.Path); - m_Cache.Remove( id ); + m_Cache.Remove(id); } } @@ -175,15 +214,15 @@ public void Flush( string id ) public void FlushAged() { List flush = new List(); - foreach( var kp in m_Cache ) + foreach (var kp in m_Cache) { double age = (DateTime.Now - kp.Value.Time).TotalHours; - if ( age > m_MaxCacheAge ) - flush.Add( kp.Value ); + if (age > m_MaxCacheAge) + flush.Add(kp.Value); } - foreach( var item in flush ) - Flush( item.Id ); + foreach (var item in flush) + Flush(item.Id); } /// @@ -192,14 +231,16 @@ public void FlushAged() public void FlushOldest() { CacheItem oldest = null; - foreach( var kp in m_Cache ) + foreach (var kp in m_Cache) { - if (oldest == null || kp.Value.Time < oldest.Time ) + if (oldest == null || kp.Value.Time < oldest.Time) oldest = kp.Value; } - if ( oldest != null ) - Flush( oldest.Id ); + if (oldest != null) + { + Flush(oldest.Id); + } } /// @@ -207,10 +248,9 @@ public void FlushOldest() /// public void Flush() { - foreach( var kp in m_Cache ) - File.Delete( kp.Value.Path ); + foreach (var kp in m_Cache) + File.Delete(kp.Value.Path); m_Cache.Clear(); } - } } diff --git a/Scripts/Utilities/EventManager.cs b/Scripts/Utilities/EventManager.cs index 5a54c40f9..d116648a9 100644 --- a/Scripts/Utilities/EventManager.cs +++ b/Scripts/Utilities/EventManager.cs @@ -57,18 +57,6 @@ public void RegisterEventReceiver(string eventName, OnReceiveEvent callback) m_EventMap[eventName].Add(callback); } - /// - /// Register an event receiver with this EventManager. - /// - /// Event type defined in Constants - /// The event receiver function. - public void RegisterEventReceiver(Constants.Event eventType, OnReceiveEvent callback) - { - if (m_EventTypeName.Count == 0) - InitializeEventTypeNames(); - RegisterEventReceiver(m_EventTypeName[eventType], callback); - } - /// /// Unregisters all event receivers. /// @@ -97,19 +85,6 @@ public void UnregisterEventReceiver(string eventName, OnReceiveEvent callback) m_EventMap[eventName].Remove(callback); } - /// - /// Unregister a specific receiver. - /// - /// Event type defined in Constants - /// The event handler. - public void UnregisterEventReceiver(Constants.Event eventType, OnReceiveEvent callback) - { - if (m_EventTypeName.Count == 0) - InitializeEventTypeNames(); - UnregisterEventReceiver(m_EventTypeName[eventType], callback); - } - - /// /// Send an event to all registered receivers. /// @@ -132,30 +107,20 @@ public bool SendEvent(string eventName, params object[] args) receivers.RemoveAt(i--); continue; } - receivers[i](args); + try + { + receivers[i](args); + } + catch (Exception ex) + { + Log.Error("EventManager", "Event Receiver Exception: {0}", ex.ToString()); + } } return true; } return false; } - /// - /// Send an event to all registered receivers. - /// - /// Event type defined in Constants - /// Arguments to send to the event receiver. - /// Returns true if a event receiver was found for the event. - public bool SendEvent(Constants.Event eventType, params object[] args) - { - if (m_EventTypeName.Count == 0) - InitializeEventTypeNames(); - - if (eventType != Constants.Event.NONE) - return SendEvent(m_EventTypeName[eventType], args); - else - return false; - } - /// /// Queues an event to be sent, returns immediately. /// @@ -170,7 +135,7 @@ public void SendEventAsync(string eventName, params object[] args) #endregion #region Private Data - private Dictionary m_EventTypeName = new Dictionary(); + private Dictionary> m_EventTypeName = new Dictionary>(); private Dictionary> m_EventMap = new Dictionary>(); private class AsyncEvent @@ -196,13 +161,11 @@ private IEnumerator ProcessAsyncEvents() } #endregion - private void InitializeEventTypeNames() + private void InitializeEventTypeNames(Type enumType) { - foreach (var en in Enum.GetNames(typeof(Constants.Event))) - m_EventTypeName[(Constants.Event)Enum.Parse(typeof(Constants.Event), en)] = en; - + m_EventTypeName[enumType] = new Dictionary(); + foreach (var en in Enum.GetNames(enumType)) + m_EventTypeName[enumType][Enum.Parse(enumType, en)] = en; } - } - } diff --git a/Scripts/Utilities/FrameRateCounter.cs b/Scripts/Utilities/FrameRateCounter.cs index 256be67bb..577692d91 100644 --- a/Scripts/Utilities/FrameRateCounter.cs +++ b/Scripts/Utilities/FrameRateCounter.cs @@ -43,7 +43,7 @@ private void Update() m_FpsAccumulator++; if (Time.realtimeSinceStartup > m_FpsNextPeriod) { - m_CurrentFps = (int) (m_FpsAccumulator/FPS_INTERVAL); + m_CurrentFps = (int)(m_FpsAccumulator / FPS_INTERVAL); m_FpsAccumulator = 0; m_FpsNextPeriod += FPS_INTERVAL; m_Text.text = string.Format(DISPLAY, m_CurrentFps); diff --git a/Scripts/Utilities/KeyEventManager.cs b/Scripts/Utilities/KeyEventManager.cs index c0d36db36..32c718853 100644 --- a/Scripts/Utilities/KeyEventManager.cs +++ b/Scripts/Utilities/KeyEventManager.cs @@ -57,7 +57,7 @@ public class KeyEventManager : MonoBehaviour #region Private Data private bool m_Active = true; private bool m_UpdateActivate = true; - private Dictionary m_KeyEvents = new Dictionary(); + private Dictionary m_KeyEvents = new Dictionary(); #endregion #region Public Properties @@ -71,6 +71,24 @@ public class KeyEventManager : MonoBehaviour public static KeyEventManager Instance { get { return Singleton.Instance; } } #endregion + #region OnEnable / OnDisable - Initial keys to capture + private void OnEnable() + { + KeyEventManager.Instance.RegisterKeyEvent(KeyCode.Tab, KeyModifiers.NONE, "OnKeyboardTab" ); + KeyEventManager.Instance.RegisterKeyEvent(KeyCode.Return, KeyModifiers.NONE, "OnKeyboardReturn"); + KeyEventManager.Instance.RegisterKeyEvent(KeyCode.Escape, KeyModifiers.NONE, "OnKeyboardEscape"); + KeyEventManager.Instance.RegisterKeyEvent(KeyCode.BackQuote, KeyModifiers.NONE, "OnKeyboardBackquote"); + } + + private void OnDisable() + { + KeyEventManager.Instance.UnregisterKeyEvent(KeyCode.Tab, KeyModifiers.NONE, "OnKeyboardTab" ); + KeyEventManager.Instance.UnregisterKeyEvent(KeyCode.Return, KeyModifiers.NONE, "OnKeyboardReturn"); + KeyEventManager.Instance.UnregisterKeyEvent(KeyCode.Escape, KeyModifiers.NONE, "OnKeyboardEscape"); + KeyEventManager.Instance.UnregisterKeyEvent(KeyCode.BackQuote, KeyModifiers.NONE, "OnKeyboardBackquote"); + } + #endregion + #region Public Functions /// /// Register a key event. @@ -79,7 +97,7 @@ public class KeyEventManager : MonoBehaviour /// KeyCode modifiers /// The event to send. /// True is returned on success. - public bool RegisterKeyEvent(KeyCode key, KeyModifiers modifiers, Constants.Event eventType) + public bool RegisterKeyEvent(KeyCode key, KeyModifiers modifiers, string eventType) { int code = ((int)key) | (((int)modifiers) << MODIFIER_SHIFT_BITS); m_KeyEvents[code] = eventType; @@ -92,10 +110,10 @@ public bool RegisterKeyEvent(KeyCode key, KeyModifiers modifiers, Constants.Even /// Additional keys that must be down as well to fire the event. /// If provided, then the key will be unregistered only the event matches the existing registration. /// True is returned on success. - public bool UnregisterKeyEvent(KeyCode key, KeyModifiers modifiers = KeyModifiers.NONE, Constants.Event eventType = Constants.Event.NONE ) + public bool UnregisterKeyEvent(KeyCode key, KeyModifiers modifiers = KeyModifiers.NONE, string eventType = "" ) { int code = ((int)key) | (((int)modifiers) << MODIFIER_SHIFT_BITS); - if ( eventType != Constants.Event.NONE && m_KeyEvents.ContainsKey(code) && m_KeyEvents[code] == eventType ) + if ( eventType != "" && m_KeyEvents.ContainsKey(code) && m_KeyEvents[code] == eventType ) return m_KeyEvents.Remove( code ); return m_KeyEvents.Remove(code); @@ -107,7 +125,7 @@ private void Update() { if (m_Active) { - List fire = new List(); + List fire = new List(); foreach (var kp in m_KeyEvents) { KeyCode key = (KeyCode)(kp.Key & KEYCODE_MASK); @@ -140,8 +158,9 @@ private void Update() fire.Add(kp.Value); } - if(Input.anyKeyDown){ - EventManager.Instance.SendEvent(Constants.Event.ON_KEYBOARD_ANYKEY_DOWN); + if(Input.anyKeyDown && !string.IsNullOrEmpty(Input.inputString)) + { + EventManager.Instance.SendEvent("OnKeyboardAnyKeyDown", Input.inputString); } } diff --git a/Scripts/Utilities/NestedPrefabs.cs b/Scripts/Utilities/NestedPrefabs.cs index 10c623c8c..01801e9b4 100644 --- a/Scripts/Utilities/NestedPrefabs.cs +++ b/Scripts/Utilities/NestedPrefabs.cs @@ -24,17 +24,43 @@ class NestedPrefabs : MonoBehaviour { [SerializeField] private List m_Prefabs = new List(); + private List m_GameObjectCreated = new List(); + [SerializeField] + private bool m_SetParent = true; private void Awake() { - foreach( GameObject prefab in m_Prefabs ) + foreach (GameObject prefab in m_Prefabs) + { + if (prefab == null) + continue; + + GameObject instance = Instantiate(prefab); + if (m_SetParent) + instance.transform.SetParent(transform, false); + + m_GameObjectCreated.Add(instance); + } + } + + #region Destroy objects + + /// + /// It destroys the created object to set the initial state + /// + public void DestroyCreatedObject() + { + foreach (GameObject gameObject in m_GameObjectCreated) { - if ( prefab == null ) + if (gameObject == null) continue; - GameObject instance = Instantiate( prefab ); - instance.transform.SetParent( transform, false ); + gameObject.SendMessage("DestroyCreatedObject", SendMessageOptions.DontRequireReceiver); + Destroy(gameObject); } + m_GameObjectCreated.Clear(); + Destroy(this.gameObject); } + #endregion } } diff --git a/Scripts/Utilities/Runnable.cs b/Scripts/Utilities/Runnable.cs index 67f696c8b..475c2816b 100644 --- a/Scripts/Utilities/Runnable.cs +++ b/Scripts/Utilities/Runnable.cs @@ -59,6 +59,16 @@ public static void Stop(int ID) r.Stop = true; } + /// + /// Check if a routine is still running. + /// + /// The ID returned by Run(). + /// Returns true if the routine is still active. + static public bool IsRunning(int id) + { + return Instance.m_Routines.ContainsKey(id); + } + #if UNITY_EDITOR private static bool sm_EditorRunnable = false; @@ -67,7 +77,7 @@ public static void Stop(int ID) /// public static void EnableRunnableInEditor() { - if (! sm_EditorRunnable ) + if (!sm_EditorRunnable) { sm_EditorRunnable = true; UnityEditor.EditorApplication.update += UpdateRunnable; @@ -75,9 +85,10 @@ public static void EnableRunnableInEditor() } static void UpdateRunnable() { - if (! Application.isPlaying ) + if (!Application.isPlaying) Instance.UpdateRoutines(); } + #endif #endregion @@ -144,14 +155,14 @@ public bool MoveNext() /// public void UpdateRoutines() { - if ( m_Routines.Count > 0 ) + if (m_Routines.Count > 0) { // we are not in play mode, so we must manually update our co-routines ourselves List routines = new List(); - foreach( var kp in m_Routines ) - routines.Add( kp.Value ); + foreach (var kp in m_Routines) + routines.Add(kp.Value); - foreach( var r in routines ) + foreach (var r in routines) r.MoveNext(); } } diff --git a/Scripts/Utilities/SerializedDelegate.cs b/Scripts/Utilities/SerializedDelegate.cs index df394cd6f..a0c409d5e 100644 --- a/Scripts/Utilities/SerializedDelegate.cs +++ b/Scripts/Utilities/SerializedDelegate.cs @@ -33,7 +33,7 @@ public class SerializedDelegate /// Default constructor. /// /// The delegate type. - public SerializedDelegate( Type delegateType ) + public SerializedDelegate(Type delegateType) { DelegateType = delegateType; } @@ -61,16 +61,16 @@ public SerializedDelegate( Type delegateType ) /// Returns a delegate or null if the delegate can't be resolved. public Delegate ResolveDelegate() { - if ( m_Target == null ) + if (m_Target == null) return null; Component component = m_Target.GetComponent(m_Component); - if ( component == null ) + if (component == null) return null; MethodInfo info = component.GetType().GetMethod(m_Method, BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.InvokeMethod); - if ( info == null ) + if (info == null) return null; - return Delegate.CreateDelegate( DelegateType, component, info ); + return Delegate.CreateDelegate(DelegateType, component, info); } } } diff --git a/Scripts/Utilities/Singleton.cs b/Scripts/Utilities/Singleton.cs index 43fc4c0f4..92dd95c53 100644 --- a/Scripts/Utilities/Singleton.cs +++ b/Scripts/Utilities/Singleton.cs @@ -14,7 +14,7 @@ * limitations under the License. * */ - + #define SINGLETONS_VISIBLE using UnityEngine; @@ -27,7 +27,7 @@ namespace IBM.Watson.DeveloperCloud.Utilities /// make a containing GameObject. /// /// The typename of the class to create as a singleton object. - public class Singleton where T:class + public class Singleton where T : class { #region Private Data static private T sm_Instance = null; @@ -39,8 +39,9 @@ public class Singleton where T:class /// public static T Instance { - get { - if ( sm_Instance == null ) + get + { + if (sm_Instance == null) CreateInstance(); return sm_Instance; } @@ -53,29 +54,29 @@ public static T Instance /// private static void CreateInstance() { - if ( typeof(MonoBehaviour).IsAssignableFrom( typeof(T) ) ) + if (typeof(MonoBehaviour).IsAssignableFrom(typeof(T))) { string singletonName = "_" + typeof(T).Name; - GameObject singletonObject = GameObject.Find( singletonName ); - if ( singletonObject == null ) - singletonObject = new GameObject( singletonName ); + GameObject singletonObject = GameObject.Find(singletonName); + if (singletonObject == null) + singletonObject = new GameObject(singletonName); #if SINGLETONS_VISIBLE singletonObject.hideFlags = HideFlags.DontSave; #else singletonObject.hideFlags = HideFlags.HideAndDontSave; #endif sm_Instance = singletonObject.GetComponent(); - if ( sm_Instance == null ) - sm_Instance = singletonObject.AddComponent( typeof(T) ) as T; + if (sm_Instance == null) + sm_Instance = singletonObject.AddComponent(typeof(T)) as T; } else { - sm_Instance = Activator.CreateInstance( typeof(T) ) as T; + sm_Instance = Activator.CreateInstance(typeof(T)) as T; } - if ( sm_Instance == null ) - throw new WatsonException( "Failed to create instance " + typeof(T).Name ); + if (sm_Instance == null) + throw new WatsonException("Failed to create instance " + typeof(T).Name); } #endregion } diff --git a/Scripts/Utilities/TimedDestroy.cs b/Scripts/Utilities/TimedDestroy.cs index d0f14e9b2..171867ea7 100644 --- a/Scripts/Utilities/TimedDestroy.cs +++ b/Scripts/Utilities/TimedDestroy.cs @@ -27,33 +27,83 @@ public class TimedDestroy : MonoBehaviour { [SerializeField, Tooltip("How many seconds until this component destroy's it's parent object.")] private float m_DestroyTime = 5.0f; + private float m_ElapsedTime = 0.0f; + private bool m_TimeReachedToDestroy = false; [SerializeField] private bool m_AlphaFade = true; [SerializeField] + private bool m_AlphaFadeOnAwake = false; + [SerializeField] private float m_FadeTime = 1.0f; [SerializeField] + private float m_FadeTimeOnAwake = 1.0f; + [SerializeField] private Graphic m_AlphaTarget = null; private bool m_Fading = false; private float m_FadeStart = 0.0f; + private Color m_InitialColor = Color.white; + private float m_FadeAwakeRatio = 0.0f; private void Start() { - Invoke("OnTimeExpired", m_DestroyTime); + m_ElapsedTime = 0.0f; + + if (m_AlphaFade && m_AlphaTarget != null) + { + m_InitialColor = m_AlphaTarget.color; + + if (m_AlphaFadeOnAwake) + { + m_AlphaTarget.color = new Color(m_InitialColor.r, m_InitialColor.g, m_InitialColor.b, 0.0f); + } + } } private void Update() { - if ( m_Fading ) + + if (m_AlphaFadeOnAwake) + { + m_FadeAwakeRatio += (Time.deltaTime / m_FadeTimeOnAwake); + m_AlphaTarget.color = new Color(m_InitialColor.r, m_InitialColor.g, m_InitialColor.b, Mathf.Clamp01(m_FadeAwakeRatio)); + if (m_FadeAwakeRatio > 1.0f) + m_AlphaFadeOnAwake = false; + } + + if (!m_TimeReachedToDestroy) + { + m_ElapsedTime += Time.deltaTime; + if (m_ElapsedTime > m_DestroyTime) + { + m_TimeReachedToDestroy = true; + OnTimeExpired(); + } + } + + if (m_Fading) { float fElapsed = Time.time - m_FadeStart; - if ( fElapsed < m_FadeTime && m_AlphaTarget != null ) + if (fElapsed < m_FadeTime && m_AlphaTarget != null) { Color c = m_AlphaTarget.color; c.a = 1.0f - fElapsed / m_FadeTime; m_AlphaTarget.color = c; } else - Destroy( gameObject ); + Destroy(gameObject); + } + } + + public void ResetTimer() + { + m_ElapsedTime = 0.0f; + m_Fading = false; + m_TimeReachedToDestroy = false; + + if (m_AlphaFade && m_AlphaTarget != null) + { + m_AlphaTarget.color = m_InitialColor; + } } @@ -67,6 +117,5 @@ private void OnTimeExpired() else Destroy(gameObject); } - } } diff --git a/Scripts/Utilities/TouchEventManager.cs b/Scripts/Utilities/TouchEventManager.cs index 6f18a1cfd..f6cef1093 100644 --- a/Scripts/Utilities/TouchEventManager.cs +++ b/Scripts/Utilities/TouchEventManager.cs @@ -15,8 +15,11 @@ * */ +// uncomment to enable debugging +//#define ENABLE_DEBUGGING using UnityEngine; +using System; using System.Collections.Generic; using TouchScript.Gestures; using IBM.Watson.DeveloperCloud.Logging; @@ -27,26 +30,24 @@ namespace IBM.Watson.DeveloperCloud.Utilities /// Touch Event Manager for all touch events. /// Each element can register their touch related functions using this manager. /// - [RequireComponent (typeof (TapGesture))] - public class TouchEventManager : MonoBehaviour { - -// #region Public Types -// public delegate void TapEventDelegate(TapGesture tapGesture, Transform hitTransform); -// public delegate void DragEventDelegate(ScreenTransformGesture transformGesture); -// #endregion + [RequireComponent(typeof(TapGesture))] + public class TouchEventManager : MonoBehaviour + { /// /// Touch Event Data holds all touch related event data for registering and unregistering events via Touch Event Manager. /// public class TouchEventData - { - private Collider m_Collider; - private Collider[] m_ColliderList; - private GameObject m_GameObject; - private Constants.Event m_tapEventCallback; - private Constants.Event m_dragEventCallback; - private bool m_isInside; - private int m_SortingLayer; + { + private Collider m_Collider; + private Collider2D m_Collider2D; + private Collider[] m_ColliderList; + private Collider2D[] m_Collider2DList; + private GameObject m_GameObject; + private string m_tapEventCallback; + private string m_dragEventCallback; + private bool m_isInside; + private int m_SortingLayer; /// /// Game Object related with touch event @@ -57,30 +58,38 @@ public class TouchEventData /// public Collider Collider { get { return m_Collider; } } /// + /// If it is tap event (or one time action event) we are returning the collider of the event. + /// + public Collider2D Collider2D { get { return m_Collider2D; } } + /// + /// If there is a drag event (or continues action) we are holding game object and all colliders inside that object + /// + public Collider[] ColliderList { get { if (m_ColliderList == null && m_Collider != null) m_ColliderList = new Collider[] { m_Collider }; return m_ColliderList; } } + /// /// If there is a drag event (or continues action) we are holding game object and all colliders inside that object /// - public Collider[] ColliderList { get { if(m_ColliderList == null && m_Collider != null) m_ColliderList = new Collider[]{m_Collider}; return m_ColliderList; } } + public Collider2D[] ColliderList2D { get { if (m_Collider2DList == null && m_Collider2D != null) m_Collider2DList = new Collider2D[] { m_Collider2D }; return m_Collider2DList; } } /// /// If the touch event has happened inside of that object (collider) we will fire that event. Otherwise, it is considered as outside /// - public bool IsInside{ get { return m_isInside; } } + public bool IsInside { get { return m_isInside; } } /// /// Tap Delegate to call /// - public Constants.Event TapCallback{ get { return m_tapEventCallback; } } + public string TapCallback { get { return m_tapEventCallback; } } /// /// Drag Delegate to call /// - public Constants.Event DragCallback{ get { return m_dragEventCallback; } } + public string DragCallback { get { return m_dragEventCallback; } } /// /// Greater sorting layer is higher importance level. /// - public int SortingLayer{ get { return m_SortingLayer; } } - /// - /// Gets a value indicating whether this instance can drag object. - /// - /// true if this instance can drag object; otherwise, false. - public bool CanDragObject{ get { return GameObjectAttached != null && ColliderList != null && ColliderList.Length > 0; } } + public int SortingLayer { get { return m_SortingLayer; } } + /// + /// Gets a value indicating whether this instance can drag object. + /// + /// true if this instance can drag object; otherwise, false. + public bool CanDragObject { get { return GameObjectAttached != null && ((ColliderList != null && ColliderList.Length > 0) || (ColliderList2D != null && ColliderList2D.Length > 0)); } } /// /// Touch event constructor for Tap Event registration. @@ -89,13 +98,16 @@ public class TouchEventData /// Callback for Tap Event. After tapped, callback will be invoked /// Sorting level in order to sort the event listeners /// Whether the tap is inside the object or not - public TouchEventData(Collider collider, Constants.Event callback, int sortingLayer, bool isInside){ - m_Collider = collider; - m_ColliderList = null; - m_tapEventCallback = callback; - m_SortingLayer = sortingLayer; - m_isInside = isInside; - } + public TouchEventData(Collider collider, string callback, int sortingLayer, bool isInside) + { + m_Collider = collider; + m_Collider2D = null; + m_ColliderList = null; + m_Collider2DList = null; + m_tapEventCallback = callback; + m_SortingLayer = sortingLayer; + m_isInside = isInside; + } /// /// Touch event constructor for Drag Event registration. @@ -104,62 +116,82 @@ public TouchEventData(Collider collider, Constants.Event callback, int sortingLa /// Callback for Drag event. After dragging started, callback will be invoked until drag will be finished /// Sorting level in order to sort the event listeners /// - public TouchEventData(GameObject gameObject, Constants.Event callback, int sortingLayer, bool isInside){ - m_GameObject = gameObject; - m_ColliderList = null; - if(gameObject != null) - m_ColliderList = gameObject.GetComponentsInChildren(); - m_dragEventCallback = callback; - m_SortingLayer = sortingLayer; - m_isInside = isInside; - } - - /// - /// Determines whether this instance has touched on the specified hitTransform. - /// - /// true if this instance has touched on the specified hitTransform; otherwise, false. - /// Hit transform. - public bool HasTouchedOn(Transform hitTransform){ - bool hasTouchedOn = false; - if (ColliderList != null) - { - foreach (Collider itemCollider in ColliderList) { - if(itemCollider.transform == hitTransform){ - hasTouchedOn = true; - break; - } - } - - } - return hasTouchedOn; - } + public TouchEventData(GameObject gameObject, string callback, int sortingLayer, bool isInside) + { + m_GameObject = gameObject; + m_ColliderList = null; + if (gameObject != null) + { + m_ColliderList = gameObject.GetComponentsInChildren(); + m_Collider2DList = gameObject.GetComponentsInChildren(); + } + m_dragEventCallback = callback; + m_SortingLayer = sortingLayer; + m_isInside = isInside; + } + + /// + /// Determines whether this instance has touched on the specified hitTransform. + /// + /// true if this instance has touched on the specified hitTransform; otherwise, false. + /// Hit transform. + public bool HasTouchedOn(Transform hitTransform) + { + bool hasTouchedOn = false; + if (ColliderList != null) + { + foreach (Collider itemCollider in ColliderList) + { + if (itemCollider.transform == hitTransform) + { + hasTouchedOn = true; + break; + } + } + } + + if (!hasTouchedOn && ColliderList2D != null) + { + foreach (Collider2D itemCollider in ColliderList2D) + { + if (itemCollider.transform == hitTransform) + { + hasTouchedOn = true; + break; + } + } + + } + return hasTouchedOn; + } /// /// To check equality of the same Touch Event Data /// /// Object to check equality /// True if objects are equal - public override bool Equals (object obj) - { - bool isEqual = false; - TouchEventData touchEventData = obj as TouchEventData; - if (touchEventData != null) - { - isEqual = + public override bool Equals(object obj) + { + bool isEqual = false; + TouchEventData touchEventData = obj as TouchEventData; + if (touchEventData != null) + { + isEqual = (touchEventData.Collider == this.Collider && + touchEventData.Collider2D == this.Collider2D && touchEventData.GameObjectAttached == this.GameObjectAttached && - touchEventData.IsInside == this.IsInside && - touchEventData.SortingLayer == this.SortingLayer && - touchEventData.DragCallback == this.DragCallback && - touchEventData.TapCallback == this.TapCallback); - } - else - { - isEqual = base.Equals (obj); - } - - return isEqual; - } + touchEventData.IsInside == this.IsInside && + touchEventData.SortingLayer == this.SortingLayer && + touchEventData.DragCallback == this.DragCallback && + touchEventData.TapCallback == this.TapCallback); + } + else + { + isEqual = base.Equals(obj); + } + + return isEqual; + } /// /// Returns the hash code @@ -172,27 +204,32 @@ public override int GetHashCode() } - #region Private Data - private UnityEngine.Camera m_mainCamera; - - private bool m_Active = true; - private Dictionary> m_TapEvents = new Dictionary>(); - private Dictionary> m_DragEvents = new Dictionary>(); - #endregion - - #region Serialized Private - [SerializeField] - private TapGesture m_TapGesture; - [SerializeField] - private TapGesture m_ThreeTapGesture; - [SerializeField] - private ScreenTransformGesture m_OneFingerMoveGesture; - [SerializeField] - private ScreenTransformGesture m_TwoFingerMoveGesture; + #region Private Data + private UnityEngine.Camera m_mainCamera; + + private bool m_Active = true; + private Dictionary> m_TapEvents = new Dictionary>(); + private Dictionary> m_DoubleTapEvents = new Dictionary>(); + private Dictionary> m_DragEvents = new Dictionary>(); + #endregion + + #region Serialized Private + [SerializeField] + private TapGesture m_TapGesture; + [SerializeField] + private TapGesture m_DoubleTapGesture; + [SerializeField] + private TapGesture m_ThreeTapGesture; + [SerializeField] + private ScreenTransformGesture m_OneFingerMoveGesture; + [SerializeField] + private ScreenTransformGesture m_TwoFingerMoveGesture; [SerializeField] private PressGesture m_PressGesture; [SerializeField] private ReleaseGesture m_ReleaseGesture; + [SerializeField] + private LongPressGesture m_LongPressGesture; #endregion @@ -202,53 +239,78 @@ public override int GetHashCode() /// public bool Active { get { return m_Active; } set { m_Active = value; } } - private static TouchEventManager sm_Instance = null; - /// - /// The current instance of the TouchEventManager. - /// - public static TouchEventManager Instance { get { return sm_Instance; } } - #endregion - - #region Awake / OnEnable / OnDisable + private static TouchEventManager sm_Instance = null; + /// + /// The current instance of the TouchEventManager. + /// + public static TouchEventManager Instance { get { return sm_Instance; } } + #endregion - void Awake(){ - sm_Instance = this; - } + #region Awake / OnEnable / OnDisable - private void OnEnable() - { - m_mainCamera = UnityEngine.Camera.main; - m_TapGesture.Tapped += TapGesture_Tapped; - m_ThreeTapGesture.Tapped += ThreeTapGesture_Tapped; + void Awake() + { + sm_Instance = this; + } - m_OneFingerMoveGesture.Transformed += OneFingerTransformedHandler; - m_TwoFingerMoveGesture.Transformed += TwoFingerTransformedHandler; + private void OnEnable() + { + m_mainCamera = UnityEngine.Camera.main; + if (m_TapGesture != null) + m_TapGesture.Tapped += TapGesture_Tapped; + if (m_DoubleTapGesture != null) + m_DoubleTapGesture.Tapped += DoubleTapGesture_Tapped; + if (m_ThreeTapGesture != null) + m_ThreeTapGesture.Tapped += ThreeTapGesture_Tapped; + if (m_OneFingerMoveGesture != null) + m_OneFingerMoveGesture.Transformed += OneFingerTransformedHandler; + if (m_TwoFingerMoveGesture != null) + m_TwoFingerMoveGesture.Transformed += TwoFingerTransformedHandler; + if (m_PressGesture != null) + m_PressGesture.Pressed += PressGesturePressed; + if (m_ReleaseGesture != null) + m_ReleaseGesture.Released += ReleaseGestureReleased; + if (m_LongPressGesture != null) + m_LongPressGesture.LongPressed += LongPressGesturePressed; - m_PressGesture.Pressed += PressGesturePressed; - m_ReleaseGesture.Released += ReleaseGestureReleased; } private void OnDisable() - { - m_TapGesture.Tapped -= TapGesture_Tapped; - m_ThreeTapGesture.Tapped -= ThreeTapGesture_Tapped; - - m_OneFingerMoveGesture.Transformed -= OneFingerTransformedHandler; - m_TwoFingerMoveGesture.Transformed -= TwoFingerTransformedHandler; - - m_PressGesture.Pressed -= PressGesturePressed; - m_ReleaseGesture.Released -= ReleaseGestureReleased; + { + if (m_TapGesture != null) + m_TapGesture.Tapped -= TapGesture_Tapped; + if (m_DoubleTapGesture != null) + m_DoubleTapGesture.Tapped -= DoubleTapGesture_Tapped; + if (m_ThreeTapGesture != null) + m_ThreeTapGesture.Tapped -= ThreeTapGesture_Tapped; + if (m_OneFingerMoveGesture != null) + m_OneFingerMoveGesture.Transformed -= OneFingerTransformedHandler; + if (m_TwoFingerMoveGesture != null) + m_TwoFingerMoveGesture.Transformed -= TwoFingerTransformedHandler; + if (m_PressGesture != null) + m_PressGesture.Pressed -= PressGesturePressed; + if (m_ReleaseGesture != null) + m_ReleaseGesture.Released -= ReleaseGestureReleased; + if (m_LongPressGesture != null) + m_LongPressGesture.LongPressed -= LongPressGesturePressed; + + if (m_DragEvents != null) + m_DragEvents.Clear(); + if (m_TapEvents != null) + m_TapEvents.Clear(); + if (m_DoubleTapEvents != null) + m_DoubleTapEvents.Clear(); } - /// - /// Gets the main camera. - /// - /// The main camera. + /// + /// Gets the main camera. + /// + /// The main camera. public UnityEngine.Camera MainCamera { get { - if(m_mainCamera == null) + if (m_mainCamera == null) m_mainCamera = UnityEngine.Camera.main; return m_mainCamera; @@ -256,349 +318,740 @@ public UnityEngine.Camera MainCamera } - #endregion - - #region OneFinger Events - Register / UnRegister / Call + #endregion + #region OneFinger Events - Register / UnRegister / Call /// - /// Register Drag Event to given call back with given parameters + /// Registers the drag event. /// - /// GameObject to drag - /// Callback to invoke while the object is dragging - /// Number of fingers working on dragging - /// Sorting layer to determine the corresponding drag event listener - /// Not Applicable - /// Success result about registration - public bool RegisterDragEvent(GameObject gameObjectToDrag, Constants.Event callback, int numberOfFinger = 1, int SortingLayer = 0, bool isDragInside = true) - { - if (m_DragEvents.ContainsKey (numberOfFinger)) - { - m_DragEvents[numberOfFinger].Add( new TouchEventData(gameObjectToDrag, callback, SortingLayer, isDragInside)); - } - else - { - m_DragEvents[numberOfFinger] = new List() { new TouchEventData(gameObjectToDrag, callback, SortingLayer, isDragInside) }; - } - - return true; - } + /// true, if drag event was registered, false otherwise. + /// Game object to drag. If it is null then fullscreen drag is registered. + /// Callback. + /// Number of finger. + /// Sorting layer. + /// If set to true is drag inside. + public bool RegisterDragEvent(GameObject gameObjectToDrag, string callback, int numberOfFinger = 1, int SortingLayer = 0, bool isDragInside = true) + { + bool success = false; + + if (!string.IsNullOrEmpty(callback)) + { + if (m_DragEvents.ContainsKey(numberOfFinger)) + { + m_DragEvents[numberOfFinger].Add(new TouchEventData(gameObjectToDrag, callback, SortingLayer, isDragInside)); + } + else + { + m_DragEvents[numberOfFinger] = new List() { new TouchEventData(gameObjectToDrag, callback, SortingLayer, isDragInside) }; + } + + success = true; + } + else + { + Log.Warning("TouchEventManager", "There is no callback for drag event registration"); + } + + return success; + } /// - /// Unregister Drag Event to given call back with given parameters + /// Unregisters the drag event. /// - /// GameObject to drag - /// Callback to invoke while the object is dragging - /// Number of fingers working on dragging - /// Sorting layer to determine the corresponding drag event listener - /// Not Applicable - /// Success result about unregistration - public bool UnregisterDragEvent(GameObject gameObjectToDrag, Constants.Event callback, int numberOfFinger = 1, int SortingLayer = 0, bool isDragInside = true) - { - bool success = false; - - if (m_DragEvents.ContainsKey (numberOfFinger)) - { - success = m_DragEvents[numberOfFinger].Remove( new TouchEventData(gameObjectToDrag, callback, SortingLayer, isDragInside) ); - } - - return success; - } - - private void OneFingerTransformedHandler(object sender, System.EventArgs e) - { - //Log.Status ("TouchEventManager", "oneFingerManipulationTransformedHandler: {0}", m_OneFingerMoveGesture.DeltaPosition); - if (m_Active) { - TouchEventData dragEventToFire = null; - - Ray rayForDrag = MainCamera.ScreenPointToRay(m_OneFingerMoveGesture.ScreenPosition); - RaycastHit hit; - - - foreach (var kp in m_DragEvents) { - if (kp.Key == 1) { - - for (int i = 0; i < kp.Value.Count; ++i) { - TouchEventData dragEventData = kp.Value [i]; - - if (dragEventData.DragCallback == Constants.Event.NONE) { - Log.Warning ("TouchEventManager", "Removing invalid event receiver from OneFingerDrag"); - kp.Value.RemoveAt (i--); - continue; - } - - bool hasDragOnObject = false; - //If we can drag the object, we should check that whether there is a raycast or not! - if(dragEventData.CanDragObject){ - bool isHitOnLayer = Physics.Raycast(rayForDrag, out hit, Mathf.Infinity, 1 << dragEventData.GameObjectAttached.layer); - - if(isHitOnLayer && dragEventData.HasTouchedOn(hit.transform) && dragEventData.IsInside){ - hasDragOnObject = true; - } + /// true, if drag event was unregistered, false otherwise. + /// Game object to drag. + /// Callback. + /// Number of finger. + /// Sorting layer. + /// If set to true is drag inside. + public bool UnregisterDragEvent(GameObject gameObjectToDrag, string callback, int numberOfFinger = 1, int SortingLayer = 0, bool isDragInside = true) + { + bool success = false; + + if (gameObjectToDrag != null) + { + if (!string.IsNullOrEmpty(callback)) + { + + if (m_DragEvents.ContainsKey(numberOfFinger)) + { + bool itemRemovedSuccess = m_DragEvents[numberOfFinger].Remove(new TouchEventData(gameObjectToDrag, callback, SortingLayer, isDragInside)); + + if (!itemRemovedSuccess) + { + +#if ENABLE_DEBUGGING + Log.Debug("TouchEventManager", "UnregisterDragEvent couldn't remove touch event. Now, searching one by one. "); +#endif + + for (int i = 0; i < m_DragEvents[numberOfFinger].Count; i++) + { + if (m_DragEvents[numberOfFinger][i].GameObjectAttached == gameObjectToDrag + && (m_DragEvents[numberOfFinger][i].DragCallback).CompareTo(callback) == 0 + && m_DragEvents[numberOfFinger][i].SortingLayer == SortingLayer + && m_DragEvents[numberOfFinger][i].IsInside == isDragInside) + { + m_DragEvents[numberOfFinger].RemoveAt(i); + itemRemovedSuccess = true; + break; + } + + } + } + + success &= itemRemovedSuccess; + } + } + else + { + Log.Warning("TouchEventManager", "There is no callback for drag event unregistration"); + } + } + else + { + Log.Warning("TouchEventManager", "There is no gameobject for drag event unregistration"); + } + + return success; + } + + + private void OneFingerTransformedHandler(object sender, System.EventArgs e) + { + RaycastHit hit = default(RaycastHit); + RaycastHit2D hit2D = default(RaycastHit2D); + //Log.Status ("TouchEventManager", "oneFingerManipulationTransformedHandler: {0}", m_OneFingerMoveGesture.DeltaPosition); + if (m_Active) + { + TouchEventData dragEventToFire = null; + + Ray rayForDrag = MainCamera.ScreenPointToRay(m_OneFingerMoveGesture.ScreenPosition); + + foreach (var kp in m_DragEvents) + { + if (kp.Key == 1) + { + + for (int i = 0; i < kp.Value.Count; ++i) + { + TouchEventData dragEventData = kp.Value[i]; + + if (string.IsNullOrEmpty(dragEventData.DragCallback)) + { + Log.Warning("TouchEventManager", "Removing invalid event receiver from OneFingerDrag"); + kp.Value.RemoveAt(i--); + continue; + } + + bool hasDragOnObject = false; + //If we can drag the object, we should check that whether there is a raycast or not! + if (dragEventData.CanDragObject) + { + bool isHitOnLayer = Physics.Raycast(rayForDrag, out hit, Mathf.Infinity, 1 << dragEventData.GameObjectAttached.layer); + Transform hitTransform = null; + + if (isHitOnLayer) + { + hitTransform = hit.transform; + } + else + { + hit2D = Physics2D.Raycast(rayForDrag.origin, rayForDrag.direction, Mathf.Infinity, 1 << dragEventData.GameObjectAttached.layer); + if (hit2D.collider != null) + { + isHitOnLayer = true; + hitTransform = hit2D.transform; + } + } + + + if (isHitOnLayer && dragEventData.HasTouchedOn(hitTransform) && dragEventData.IsInside) + { + hasDragOnObject = true; + } else if (!isHitOnLayer && !dragEventData.IsInside) { hasDragOnObject = true; } else { - //do nothing - we were checking that draggable object that we touched! - } - - } - - if( hasDragOnObject || !dragEventData.CanDragObject){ - //They are all fullscreen drags! - if (dragEventToFire == null) - { - dragEventToFire = dragEventData; - } - else - { - if (dragEventData.SortingLayer > dragEventToFire.SortingLayer || (dragEventToFire.SortingLayer == dragEventData.SortingLayer && !dragEventToFire.IsInside)) { - dragEventToFire = dragEventData; - } else { - //do nothing - } - } - } - - - } - } - - } - - if(dragEventToFire != null && dragEventToFire.DragCallback != Constants.Event.NONE) - EventManager.Instance.SendEvent(dragEventToFire.DragCallback, m_OneFingerMoveGesture); - //dragEventToFire.DragCallback(m_OneFingerManipulationGesture); - - } - - } - - private void TwoFingerTransformedHandler(object sender, System.EventArgs e) - { - //Log.Status ("TouchEventManager", "TwoFingerTransformedHandler: {0}", m_TwoFingerMoveGesture.DeltaPosition); - if (m_Active) { - TouchEventData dragEventToFire = null; - - foreach (var kp in m_DragEvents) { - if (kp.Key == 2) { - - for (int i = 0; i < kp.Value.Count; ++i) { - TouchEventData dragEventData = kp.Value [i]; - - if (dragEventData.DragCallback == Constants.Event.NONE) { - Log.Warning ("TouchEventManager", "Removing invalid event receiver from TwoFingerDrag"); - kp.Value.RemoveAt (i--); - continue; - } - - if (dragEventToFire == null) { - dragEventToFire = dragEventData; - } else { - if (dragEventData.SortingLayer > dragEventToFire.SortingLayer || - (dragEventToFire.SortingLayer == dragEventData.SortingLayer && !dragEventToFire.IsInside)) { - - dragEventToFire = dragEventData; - } else { - //do nothing - } - } - } - } - - } - - if(dragEventToFire != null && dragEventToFire.DragCallback != Constants.Event.NONE) - EventManager.Instance.SendEvent(dragEventToFire.DragCallback, m_TwoFingerMoveGesture); - //dragEventToFire.DragCallback(m_TwoFingerMoveGesture); - - } - } - - - #endregion - - #region TapEvents - Register / UnRegister / Call + //do nothing - we were checking that draggable object that we touched! + } + + } + if (hasDragOnObject || !dragEventData.CanDragObject) + { + //They are all fullscreen drags! + if (dragEventToFire == null) + { + dragEventToFire = dragEventData; + } + else + { + if (dragEventData.SortingLayer > dragEventToFire.SortingLayer || (dragEventToFire.SortingLayer == dragEventData.SortingLayer && !dragEventToFire.IsInside)) + { + dragEventToFire = dragEventData; + } + else + { + //do nothing + } + } + } + } + } + } + + if (dragEventToFire != null) + EventManager.Instance.SendEvent(dragEventToFire.DragCallback, m_OneFingerMoveGesture, hit, hit2D); + + EventManager.Instance.SendEvent("OnDragOneFingerFullscreen", m_OneFingerMoveGesture); + } + } + + private void TwoFingerTransformedHandler(object sender, System.EventArgs e) + { + //Log.Status ("TouchEventManager", "TwoFingerTransformedHandler: {0}", m_TwoFingerMoveGesture.DeltaPosition); + if (m_Active) + { + TouchEventData dragEventToFire = null; + + foreach (var kp in m_DragEvents) + { + if (kp.Key == 2) + { + + for (int i = 0; i < kp.Value.Count; ++i) + { + TouchEventData dragEventData = kp.Value[i]; + + if (string.IsNullOrEmpty(dragEventData.DragCallback)) + { + Log.Warning("TouchEventManager", "Removing invalid event receiver from TwoFingerDrag"); + kp.Value.RemoveAt(i--); + continue; + } + + if (dragEventToFire == null) + { + dragEventToFire = dragEventData; + } + else + { + if (dragEventData.SortingLayer > dragEventToFire.SortingLayer || + (dragEventToFire.SortingLayer == dragEventData.SortingLayer && !dragEventToFire.IsInside)) + { + dragEventToFire = dragEventData; + } + else + { + //do nothing + } + } + } + } + } + + if (dragEventToFire != null) + EventManager.Instance.SendEvent(dragEventToFire.DragCallback, m_TwoFingerMoveGesture); + + EventManager.Instance.SendEvent("OnDragTwoFingerFullscreen", m_TwoFingerMoveGesture); + } + } + #endregion + + #region TapEvents - Register / UnRegister / Call /// - /// Register tap event to given callback + /// Registers the tap event. /// - /// Game object to tap on - /// Callback to call after tapped on object (or outside of the object) - /// Sorting layer to determine the corresponding tap object - /// Whether to tap on object or outside the object - /// Layer mask to tap. Default is the gameObjectToTouch's layer - /// - public bool RegisterTapEvent(GameObject gameObjectToTouch, Constants.Event callback, int SortingLayer = 0, bool isTapInside = true, LayerMask layerMask = default(LayerMask)) - { - Collider[] colliderList = gameObjectToTouch.GetComponentsInChildren(); - - if(colliderList != null){ - foreach (Collider itemCollider in colliderList) - { - int layerMaskAsKey = (layerMask != default(LayerMask))? layerMask.value : (1 << gameObjectToTouch.layer); - - if (m_TapEvents.ContainsKey (layerMaskAsKey)) - { - m_TapEvents[layerMaskAsKey].Add( new TouchEventData(itemCollider, callback, SortingLayer, isTapInside)); - } - else - { - m_TapEvents[layerMaskAsKey] = new List() { new TouchEventData(itemCollider, callback, SortingLayer, isTapInside) }; - } - } - } - else{ - Log.Warning("TouchEventManager","There is no collider of given gameobjectToTouch"); - } - - - return true; - } + /// true, if tap event was registered, false otherwise. + /// Game object to touch. + /// Callback. + /// Sorting layer. + /// If set to true is tap inside. + /// Layer mask. + public bool RegisterTapEvent(GameObject gameObjectToTouch, string callback, int SortingLayer = 0, bool isTapInside = true, LayerMask layerMask = default(LayerMask)) + { + bool success = false; + + if (gameObjectToTouch != null) + { + if (!string.IsNullOrEmpty(callback)) + { + Collider[] colliderList = gameObjectToTouch.GetComponentsInChildren(); + + if (colliderList != null) + { + foreach (Collider itemCollider in colliderList) + { + int layerMaskAsKey = (layerMask != default(LayerMask)) ? layerMask.value : (1 << gameObjectToTouch.layer); + + if (m_TapEvents.ContainsKey(layerMaskAsKey)) + { + m_TapEvents[layerMaskAsKey].Add(new TouchEventData(itemCollider, callback, SortingLayer, isTapInside)); + } + else + { + m_TapEvents[layerMaskAsKey] = new List() { new TouchEventData(itemCollider, callback, SortingLayer, isTapInside) }; + } + } + + success = true; + } + else + { + Log.Warning("TouchEventManager", "There is no collider of given gameobjectToTouch"); + } + } + else + { + Log.Warning("TouchEventManager", "There is no callback for tap event registration"); + } + } + else + { + Log.Warning("TouchEventManager", "There is no gameobject for tap event registration"); + } + + return success; + } + + /// + /// Unregisters the tap event. + /// + /// true, if tap event was unregistered, false otherwise. + /// Game object to touch. + /// Callback. + /// Sorting layer. + /// If set to true is tap inside. + /// Layer mask. + public bool UnregisterTapEvent(GameObject gameObjectToTouch, string callback, int SortingLayer = 0, bool isTapInside = true, LayerMask layerMask = default(LayerMask)) + { + bool success = false; + + if (gameObjectToTouch != null) + { + if (!string.IsNullOrEmpty(callback)) + { + int layerMaskAsKey = (layerMask != default(LayerMask)) ? layerMask.value : (1 << gameObjectToTouch.layer); + + if (m_TapEvents.ContainsKey(layerMaskAsKey)) + { + success = true; + Collider[] colliderList = gameObjectToTouch.GetComponentsInChildren(includeInactive: true); + foreach (Collider itemCollider in colliderList) + { + bool itemRemovedSuccess = m_TapEvents[layerMaskAsKey].Remove(new TouchEventData(itemCollider, callback, SortingLayer, isTapInside)); + + + if (!itemRemovedSuccess) + { + +#if ENABLE_DEBUGGING + Log.Debug("TouchEventManager", "UnregisterTapEvent couldn't remove touch event. Now, searching one by one. "); +#endif + + for (int i = 0; i < m_TapEvents[layerMaskAsKey].Count; i++) + { + if (m_TapEvents[layerMaskAsKey][i].Collider == itemCollider + && (m_TapEvents[layerMaskAsKey][i].TapCallback).CompareTo(callback) == 0 + && m_TapEvents[layerMaskAsKey][i].SortingLayer == SortingLayer + && m_TapEvents[layerMaskAsKey][i].IsInside == isTapInside) + { + m_TapEvents[layerMaskAsKey].RemoveAt(i); + itemRemovedSuccess = true; + break; + } + + } + } + + success &= itemRemovedSuccess; + } + } + } + else + { + Log.Warning("TouchEventManager", "There is no callback for tap event unregistration"); + } + } + else + { + Log.Warning("TouchEventManager", "There is no gameobject for tap event unregistration"); + } + + return success; + } + + private void TapGesture_Tapped(object sender, System.EventArgs e) + { + if (m_Active) + { +#if ENABLE_DEBUGGING + Log.Debug("TouchEventManager", "TapGesture_Tapped: {0} - {1}", m_TapGesture.ScreenPosition, m_TapGesture.NumTouches); +#endif + + TouchEventData tapEventToFire = null; + RaycastHit hit = default(RaycastHit); + RaycastHit hitToFire = default(RaycastHit); + + foreach (var kp in m_TapEvents) + { + Ray rayForTab = MainCamera.ScreenPointToRay(m_TapGesture.ScreenPosition); + + bool isHitOnLayer = Physics.Raycast(rayForTab, out hit, Mathf.Infinity, kp.Key); + + for (int i = 0; i < kp.Value.Count; ++i) + { + TouchEventData tapEventData = kp.Value[i]; + + if (kp.Value[i].Collider == null) + { + Log.Warning("TouchEventManager", "Removing invalid collider event receiver from TapEventList"); + kp.Value.RemoveAt(i--); + continue; + } + + if (string.IsNullOrEmpty(tapEventData.TapCallback)) + { + Log.Warning("TouchEventManager", "Removing invalid event receiver from TapEventList"); + kp.Value.RemoveAt(i--); + continue; + } + + if (isHitOnLayer && hit.collider.transform == tapEventData.Collider.transform && tapEventData.IsInside) + { + //Tapped inside the object + if (tapEventToFire == null) + { + tapEventToFire = tapEventData; + hitToFire = hit; + } + else + { + if (tapEventData.SortingLayer > tapEventToFire.SortingLayer || + (tapEventToFire.SortingLayer == tapEventData.SortingLayer && !tapEventToFire.IsInside)) + { + tapEventToFire = tapEventData; + hitToFire = hit; + } + else + { + //do nothing + } + } + + } + else if ((!isHitOnLayer || hit.collider.transform != tapEventData.Collider.transform) && !tapEventData.IsInside) + { + //Tapped outside the object + if (tapEventToFire == null) + { + tapEventToFire = tapEventData; + hitToFire = hit; + } + else + { + if (tapEventData.SortingLayer > tapEventToFire.SortingLayer) + { + tapEventToFire = tapEventData; + hitToFire = hit; + } + else + { + //do nothing + } + } + } + else + { + //do nothing + } + } + } + + if (tapEventToFire != null) + EventManager.Instance.SendEvent(tapEventToFire.TapCallback, m_TapGesture, hitToFire); + + EventManager.Instance.SendEvent("OnSingleTap", m_TapGesture); + } + } + #endregion + + #region Double TapEvents - Register / UnRegister / Call + /// + /// Registers the double tap event. + /// + /// true, if double tap event was registered, false otherwise. + /// Game object to touch. + /// Callback. + /// Sorting layer. + /// If set to true is double tap inside. + /// Layer mask. + public bool RegisterDoubleTapEvent(GameObject gameObjectToTouch, string callback, int SortingLayer = 0, bool isDoubleTapInside = true, LayerMask layerMask = default(LayerMask)) + { + bool success = false; + + if (gameObjectToTouch != null) + { + if (!string.IsNullOrEmpty(callback)) + { + Collider[] colliderList = gameObjectToTouch.GetComponentsInChildren(); + + if (colliderList != null) + { + foreach (Collider itemCollider in colliderList) + { + int layerMaskAsKey = (layerMask != default(LayerMask)) ? layerMask.value : (1 << gameObjectToTouch.layer); + + if (m_DoubleTapEvents.ContainsKey(layerMaskAsKey)) + { + m_DoubleTapEvents[layerMaskAsKey].Add(new TouchEventData(itemCollider, callback, SortingLayer, isDoubleTapInside)); + } + else + { + m_DoubleTapEvents[layerMaskAsKey] = new List() { new TouchEventData(itemCollider, callback, SortingLayer, isDoubleTapInside) }; + } + } + + success = true; + } + else + { + Log.Warning("TouchEventManager", "There is no collider of given gameobjectToTouch"); + } + } + else + { + Log.Warning("TouchEventManager", "There is no callback for double-tap event registration"); + } + } + else + { + Log.Warning("TouchEventManager", "There is no gameobject for double-tap event registration"); + } + + return success; + } /// - /// Unregister tap event to given callback + /// Unregisters the double tap event. /// - /// Game object to tap on - /// Callback to call after tapped on object (or outside of the object) - /// Sorting layer to determine the corresponding tap object - /// Whether to tap on object or outside the object - /// Layer mask to tap. Default is the gameObjectToTouch's layer - /// - public bool UnregisterTapEvent(GameObject gameObjectToTouch, Constants.Event callback, int SortingLayer = 0, bool isTapInside = true, LayerMask layerMask = default(LayerMask)) - { - bool success = false; - - int layerMaskAsKey = (layerMask != default(LayerMask))? layerMask.value : (1 << gameObjectToTouch.layer); - - if (m_TapEvents.ContainsKey (layerMaskAsKey)) - { - success = true; - Collider[] colliderList = gameObjectToTouch.GetComponentsInChildren(); - foreach (Collider itemCollider in colliderList) - { - success &= m_TapEvents[layerMaskAsKey].Remove( new TouchEventData(itemCollider, callback, SortingLayer, isTapInside) ); - } - } - - return success; - } - - - private void TapGesture_Tapped(object sender, System.EventArgs e) - { + /// true, if double tap event was unregistered, false otherwise. + /// Game object to touch. + /// Callback. + /// Sorting layer. + /// If set to true is double tap inside. + /// Layer mask. + public bool UnregisterDoubleTapEvent(GameObject gameObjectToTouch, string callback, int SortingLayer = 0, bool isDoubleTapInside = true, LayerMask layerMask = default(LayerMask)) + { + bool success = false; + + if (gameObjectToTouch != null) + { + if (!string.IsNullOrEmpty(callback)) + { + int layerMaskAsKey = (layerMask != default(LayerMask)) ? layerMask.value : (1 << gameObjectToTouch.layer); + + if (m_DoubleTapEvents.ContainsKey(layerMaskAsKey)) + { + success = true; + Collider[] colliderList = gameObjectToTouch.GetComponentsInChildren(); + foreach (Collider itemCollider in colliderList) + { + bool itemRemovedSuccess = m_DoubleTapEvents[layerMaskAsKey].Remove(new TouchEventData(itemCollider, callback, SortingLayer, isDoubleTapInside)); + + if (!itemRemovedSuccess) + { + +#if ENABLE_DEBUGGING + Log.Debug("TouchEventManager", "UnregisterDoubleTapEvent couldn't remove touch event. Now, searching one by one. "); +#endif + + for (int i = 0; i < m_DoubleTapEvents[layerMaskAsKey].Count; i++) + { + if (m_DoubleTapEvents[layerMaskAsKey][i].Collider == itemCollider + && (m_DoubleTapEvents[layerMaskAsKey][i].TapCallback).CompareTo(callback) == 0 + && m_DoubleTapEvents[layerMaskAsKey][i].SortingLayer == SortingLayer + && m_DoubleTapEvents[layerMaskAsKey][i].IsInside == isDoubleTapInside) + { + m_DoubleTapEvents[layerMaskAsKey].RemoveAt(i); + itemRemovedSuccess = true; + break; + } + } + } + + success &= itemRemovedSuccess; + } + } + } + else + { + Log.Warning("TouchEventManager", "There is no callback for double-tap event unregistration"); + } + } + else + { + Log.Warning("TouchEventManager", "There is no gameobject for double-tap event unregistration"); + } + + return success; + } + + + private void DoubleTapGesture_Tapped(object sender, System.EventArgs e) + { if (m_Active) - { - //Log.Status("TouchEventManager", "TapGesture_Tapped: {0}", m_TapGesture.ScreenPosition); + { +#if ENABLE_DEBUGGING + Log.Debug("TouchEventManager", "DoubleTapGesture_Tapped: {0} - {1}", m_DoubleTapGesture.ScreenPosition, m_DoubleTapGesture.NumTouches); +#endif TouchEventData tapEventToFire = null; - RaycastHit hit = default(RaycastHit); - - foreach (var kp in m_TapEvents) - { - - Ray rayForTab = MainCamera.ScreenPointToRay(m_TapGesture.ScreenPosition); - - bool isHitOnLayer = Physics.Raycast(rayForTab, out hit, Mathf.Infinity, kp.Key); - - for (int i = 0; i < kp.Value.Count; ++i) - { - TouchEventData tapEventData = kp.Value[i]; - - if (tapEventData.TapCallback == Constants.Event.NONE) - { - Log.Warning("TouchEventManager", "Removing invalid event receiver from TapEventList"); - kp.Value.RemoveAt(i--); - continue; - } - - if(isHitOnLayer && hit.collider.transform == tapEventData.Collider.transform && tapEventData.IsInside){ - //Tapped inside the object - if(tapEventToFire == null) - { - tapEventToFire = tapEventData; - } - else - { - if(tapEventData.SortingLayer > tapEventToFire.SortingLayer || - (tapEventToFire.SortingLayer == tapEventData.SortingLayer && !tapEventToFire.IsInside)) - { - tapEventToFire = tapEventData; - } - else - { - //do nothing - } - } - - } - else if( (!isHitOnLayer || hit.collider.transform != tapEventData.Collider.transform) && !tapEventData.IsInside){ - //Tapped outside the object - if(tapEventToFire == null) - { - tapEventToFire = tapEventData; - } - else - { - if(tapEventData.SortingLayer > tapEventToFire.SortingLayer) - { - tapEventToFire = tapEventData; - } - else - { - //do nothing - } - } - } - else{ - //do nothing - } - } - - } - - if(tapEventToFire != null && tapEventToFire.TapCallback != Constants.Event.NONE) - EventManager.Instance.SendEvent(tapEventToFire.TapCallback, m_TapGesture, hit); - //tapEventToFire.TapCallback(m_TapGesture, tapEventToFire.Collider.transform); - - } - - } + RaycastHit hit = default(RaycastHit); + RaycastHit hitToFire = default(RaycastHit); + + foreach (var kp in m_DoubleTapEvents) + { + + Ray rayForTab = MainCamera.ScreenPointToRay(m_DoubleTapGesture.ScreenPosition); + + bool isHitOnLayer = Physics.Raycast(rayForTab, out hit, Mathf.Infinity, kp.Key); + + for (int i = 0; i < kp.Value.Count; ++i) + { + TouchEventData tapEventData = kp.Value[i]; + + if (kp.Value[i].Collider == null) + { + Log.Warning("TouchEventManager", "DoubleTapGesture_Tapped: Removing invalid collider event receiver from TapEventList"); + kp.Value.RemoveAt(i--); + continue; + } + + if (string.IsNullOrEmpty(tapEventData.TapCallback)) + { + Log.Warning("TouchEventManager", "Removing invalid event receiver from TapEventList"); + kp.Value.RemoveAt(i--); + continue; + } + + if (isHitOnLayer && hit.collider.transform == tapEventData.Collider.transform && tapEventData.IsInside) + { + //Tapped inside the object + if (tapEventToFire == null) + { + tapEventToFire = tapEventData; + hitToFire = hit; + } + else + { + if (tapEventData.SortingLayer > tapEventToFire.SortingLayer || + (tapEventToFire.SortingLayer == tapEventData.SortingLayer && !tapEventToFire.IsInside)) + { + tapEventToFire = tapEventData; + hitToFire = hit; + } + else + { + //do nothing + } + } + + } + else if ((!isHitOnLayer || hit.collider.transform != tapEventData.Collider.transform) && !tapEventData.IsInside) + { + //Tapped outside the object + if (tapEventToFire == null) + { + tapEventToFire = tapEventData; + hitToFire = hit; + } + else + { + if (tapEventData.SortingLayer > tapEventToFire.SortingLayer) + { + tapEventToFire = tapEventData; + hitToFire = hit; + } + else + { + //do nothing + } + } + } + else + { + //do nothing + } + } + + } + + if (tapEventToFire != null) + EventManager.Instance.SendEvent(tapEventToFire.TapCallback, m_DoubleTapGesture, hitToFire); + + EventManager.Instance.SendEvent("OnDoubleTap", m_DoubleTapGesture); + } + + } #endregion - #region Three Tap Gesture Call - private void ThreeTapGesture_Tapped(object sender, System.EventArgs e) - { - if (m_Active) - { - //Log.Status("TouchEventManager", "ThreeTapGesture_Tapped: {0} - {1}", m_ThreeTapGesture.ScreenPosition, m_ThreeTapGesture.NumTouches); - EventManager.Instance.SendEvent(Constants.Event.ON_TAP_THREETIMES, m_ThreeTapGesture); - } - } + #region Three Tap Gesture Call - #endregion + private void ThreeTapGesture_Tapped(object sender, System.EventArgs e) + { + if (m_Active) + { +#if ENABLE_DEBUGGING + Log.Debug("TouchEventManager", "ThreeTapGesture_Tapped: {0} - {1}", m_ThreeTapGesture.ScreenPosition, m_ThreeTapGesture.NumTouches); +#endif + EventManager.Instance.SendEvent("OnTripleTap", m_ThreeTapGesture); + } + } + + #endregion #region PressGesture Events - Call - There is no registration is sends automatically the press event - + private void PressGesturePressed(object sender, System.EventArgs e) { - EventManager.Instance.SendEvent(Constants.Event.ON_TOUCH_PRESSED_FULLSCREEN, m_PressGesture); +#if ENABLE_DEBUGGING + Log.Debug("TouchEventManager", "PressGesturePressed: {0} - {1}", m_PressGesture.ScreenPosition, m_PressGesture.NumTouches); +#endif + + EventManager.Instance.SendEvent("OnTouchPressedFullscreen", m_PressGesture); } - + #endregion - #region ReleaseGesture Events - Call - There is no registration is sends automatically the release event - - private void ReleaseGestureReleased(object sender, System.EventArgs e) + #region Long Press Gesture Events + + private void LongPressGesturePressed(object sender, System.EventArgs e) { - EventManager.Instance.SendEvent(Constants.Event.ON_TOUCH_RELEASED_FULLSCREEN, m_ReleaseGesture); +#if ENABLE_DEBUGGING + Log.Debug("TouchEventManager", "LongPressGesturePressed: {0} - {1}", m_LongPressGesture.ScreenPosition, m_LongPressGesture.NumTouches); +#endif + + EventManager.Instance.SendEvent("OnLongPressOneFinger", m_LongPressGesture); } - + #endregion + #region ReleaseGesture Events - Call - There is no registration is sends automatically the release event + + private void ReleaseGestureReleased(object sender, System.EventArgs e) + { +#if ENABLE_DEBUGGING + Log.Debug("TouchEventManager", "ReleaseGestureReleased: {0} - {1}", m_ReleaseGesture.ScreenPosition, m_ReleaseGesture.NumTouches); +#endif + + EventManager.Instance.SendEvent("OnTouchReleasedFullscreen", m_ReleaseGesture); + } #endregion } diff --git a/Scripts/Utilities/UnityObjectUtil.cs b/Scripts/Utilities/UnityObjectUtil.cs new file mode 100644 index 000000000..1443d551b --- /dev/null +++ b/Scripts/Utilities/UnityObjectUtil.cs @@ -0,0 +1,97 @@ +/** +* Copyright 2015 IBM Corp. All Rights Reserved. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +*/ + +using IBM.Watson.DeveloperCloud.Logging; +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using UnityEngine; + +namespace IBM.Watson.DeveloperCloud.Utilities +{ + /// + /// AudioClip helper functions. + /// + public static class UnityObjectUtil + { + private static Queue sm_DestroyQueue = new Queue(); + private static int sm_DestroyQueueID = 0; + + /// + /// Returns the state of the AudioClip destroy queue. + /// + /// Returns true if the destoy queue processor is active. + public static bool IsDestroyQueueActive() + { + return sm_DestroyQueueID != 0; + } + + /// + /// Start up the AudioClip destroy queue processor. + /// + public static void StartDestroyQueue() + { + if (sm_DestroyQueueID == 0) + sm_DestroyQueueID = Runnable.Run(ProcessDestroyQueue()); + } + + /// + /// Stop the AudioClip destroy processor. + /// + public static void StopDestroyQueue() + { + if (sm_DestroyQueueID != 0) + { + Runnable.Stop(sm_DestroyQueueID); + sm_DestroyQueueID = 0; + } + } + + /// + /// Queue an AudioClip for destruction on the main thread. This function is thread-safe. + /// + /// The AudioClip to destroy. + public static void DestroyUnityObject(UnityEngine.Object obj) + { + if (sm_DestroyQueueID == 0) + throw new WatsonException("Destroy queue not started."); + + lock (sm_DestroyQueue) + sm_DestroyQueue.Enqueue(obj); + } + + private static IEnumerator ProcessDestroyQueue() + { + yield return null; + + while (sm_DestroyQueueID != 0) + { + yield return new WaitForSeconds(1.0f); + + lock (sm_DestroyQueue) + { + while (sm_DestroyQueue.Count > 0) + { + UnityEngine.Object obj = sm_DestroyQueue.Dequeue(); + UnityEngine.Object.DestroyImmediate(obj, true); + } + } + } + } + } +} diff --git a/Scripts/Utilities/UnityObjectUtil.cs.meta b/Scripts/Utilities/UnityObjectUtil.cs.meta new file mode 100644 index 000000000..a75dc913a --- /dev/null +++ b/Scripts/Utilities/UnityObjectUtil.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2c9f59f6e9ed6d94088ffddc0bf21ce8 +timeCreated: 1454970010 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/Utilities/Utility.cs b/Scripts/Utilities/Utility.cs index 0db14859c..eed54de30 100644 --- a/Scripts/Utilities/Utility.cs +++ b/Scripts/Utilities/Utility.cs @@ -15,12 +15,16 @@ * */ + +using FullSerializer; +using IBM.Watson.DeveloperCloud.Logging; using System; using System.Collections.Generic; using System.Security.Cryptography; using System.Text; using UnityEngine; + namespace IBM.Watson.DeveloperCloud.Utilities { /// @@ -28,6 +32,8 @@ namespace IBM.Watson.DeveloperCloud.Utilities /// static public class Utility { + private static fsSerializer sm_Serializer = new fsSerializer(); + /// /// This helper functions returns all Type's that inherit from the given type. /// @@ -50,6 +56,17 @@ public static Type[] FindAllDerivedTypes(Type type) return types.ToArray(); } + /// + /// Approximately the specified a, b and tolerance. + /// + /// The first component. + /// The second component. + /// Tolerance. + public static bool Approximately(double a, double b, double tolerance = 0.0001) + { + return (System.Math.Abs(a - b) < tolerance); + } + /// /// Approximately the specified a, b and tolerance. /// @@ -133,7 +150,7 @@ public static GameObject FindObject(GameObject parent, string nameChild) /// Name child. /// Check string contains the name instead of equality. /// If true, children will be returned sorted by their name. - public static T[] FindObjects(GameObject parent, string nameChild, bool isContains = false, bool sortByName = false) where T : Component + public static T[] FindObjects(GameObject parent, string nameChild, bool isContains = false, bool sortByName = false, bool includeInactive = true) where T : Component { T[] childObjects = null; List listGameObject = new List(); @@ -143,7 +160,7 @@ public static T[] FindObjects(GameObject parent, string nameChild, bool isCon for (int i = 0; i < childPath.Length; i++) { string childTransformName = childPath[i]; - T[] childerenTransform = parent.GetComponentsInChildren(includeInactive: true); + T[] childerenTransform = parent.GetComponentsInChildren(includeInactive: includeInactive); if (childerenTransform != null) { foreach (T item in childerenTransform) @@ -201,14 +218,14 @@ public static string GetMD5(string s) /// /// /// - public static string RemoveTags(string s) + public static string RemoveTags(string s, char tagStartChar = '<', char tagEndChar = '>' ) { if (!string.IsNullOrEmpty(s)) { - int tagStart = s.IndexOf('<'); + int tagStart = s.IndexOf(tagStartChar); while (tagStart >= 0) { - int tagEnd = s.IndexOf('>', tagStart); + int tagEnd = s.IndexOf(tagEndChar, tagStart); if (tagEnd < 0) break; @@ -216,14 +233,125 @@ public static string RemoveTags(string s) string post = tagEnd < s.Length ? s.Substring(tagEnd + 1) : string.Empty; s = pre + post; - tagStart = s.IndexOf('<'); + tagStart = s.IndexOf(tagStartChar); } } return s; } - } + /// + /// Gets the on off string. + /// + /// The on off string. + /// If set to true b. + public static string GetOnOffString(bool b) + { + return b?"ON": "OFF"; + } + + + /// + /// Strips the prepending ! statment from string. + /// + /// The string. + /// S. + public static string StripString(string s) + { + string[] delimiter = new string[] {"!", "! "}; + string[] newString = s.Split(delimiter, System.StringSplitOptions.None); + if(newString.Length > 1) + { + return newString[1]; + } + else + { + return s; + } + + } + #region Cache Generic Deserialization + + public static void SaveToCache(Dictionary dictionaryCache, string cacheDirectoryId, string cacheId, T objectToCache, string prefix="", long maxCacheSize = 1024 * 1024 * 50, double maxCacheAge = 24 * 7) where T : class, new() + { + if (objectToCache != null) + { + DataCache cache = null; + + if (!dictionaryCache.TryGetValue(cacheDirectoryId, out cache)) + { + cache = new DataCache( prefix + cacheDirectoryId, maxCacheSize: maxCacheSize, maxCacheAge: double.MaxValue); //We will store the values as max time + dictionaryCache[ cacheDirectoryId ] = cache; + } + + fsData data = null; + fsResult r = sm_Serializer.TrySerialize(objectToCache.GetType(), objectToCache, out data); + if (!r.Succeeded) + throw new WatsonException(r.FormattedMessages); + + cache.Save(cacheId, Encoding.UTF8.GetBytes(fsJsonPrinter.PrettyJson(data))); + } + } + + public static T GetFromCache(Dictionary dictionaryCache, string cacheDirectoryId, string cacheId, string prefix="") where T : class, new() + { + T cachedObject = null; + + DataCache cache = null; + if (! dictionaryCache.TryGetValue( cacheDirectoryId, out cache ) ) + { + cache = new DataCache( prefix + cacheDirectoryId ); + dictionaryCache[ cacheDirectoryId ] = cache; + } + + byte [] cached = cache.Find( cacheId ); + if ( cached != null ) + { + cachedObject = DeserializeResponse( cached ); + if ( cachedObject != null) + { + return cachedObject; + } + } + + return cachedObject; + } + + /// + /// Deserializes the response. + /// + /// The response. + /// Resp. + /// Object. + /// The 1st type parameter. + public static T DeserializeResponse( byte [] resp, object obj = null ) where T : class, new() + { + string json = Encoding.UTF8.GetString( resp ); + try + { + fsData data = null; + fsResult r = fsJsonParser.Parse(json, out data); + if (!r.Succeeded) + throw new WatsonException(r.FormattedMessages); + + if ( obj == null ) + obj = new T(); + + r = sm_Serializer.TryDeserialize(data, obj.GetType(), ref obj); + if (!r.Succeeded) + throw new WatsonException(r.FormattedMessages); + + return (T)obj; + } + catch (Exception e) + { + Log.Error("Utility", "DeserializeResponse Exception: {0}", e.ToString()); + } + + return null; + } + #endregion + } } diff --git a/Scripts/Utilities/WatsonException.cs b/Scripts/Utilities/WatsonException.cs index a10b659b9..3fcc81285 100644 --- a/Scripts/Utilities/WatsonException.cs +++ b/Scripts/Utilities/WatsonException.cs @@ -15,7 +15,7 @@ * */ -using IBM.Watson.DeveloperCloud.Logging; +using IBM.Watson.DeveloperCloud.Logging; namespace IBM.Watson.DeveloperCloud.Utilities { @@ -26,11 +26,11 @@ class WatsonException : System.Exception { public WatsonException(string message) : base(message) { - Log.Critical( "Exception", "Exception: {0}", message ); + Log.Critical("Exception", "Exception: {0}", message); } - public WatsonException(string message, WatsonException innerException ) : base(message, innerException ) + public WatsonException(string message, WatsonException innerException) : base(message, innerException) { - Log.Critical( "Exception", "Exception: {0}", message ); + Log.Critical("Exception", "Exception: {0}", message); } } } diff --git a/Scripts/Widgets/ActivateWidget.cs b/Scripts/Widgets/ActivateWidget.cs index 9af509730..4eca6d0ef 100644 --- a/Scripts/Widgets/ActivateWidget.cs +++ b/Scripts/Widgets/ActivateWidget.cs @@ -25,6 +25,16 @@ namespace IBM.Watson.DeveloperCloud.Widgets /// public class ActivateWidget : Widget { + #region Outputs + [SerializeField] + private Output m_ActivateOutput = new Output(typeof(BooleanData), true); + #endregion + + #region Private Data + [SerializeField] + private bool m_SendValue = true; + #endregion + #region Widget interface /// protected override string GetName() @@ -33,17 +43,14 @@ protected override string GetName() } #endregion + #region Event Handlers /// /// Button event handler. /// public void OnButton() { - m_ActivateOutput.SendData( new BooleanData(m_SendValue) ); + m_ActivateOutput.SendData(new BooleanData(m_SendValue)); } - - [SerializeField] - private Output m_ActivateOutput = new Output( typeof(BooleanData) ); - [SerializeField] - private bool m_SendValue = true; + #endregion } } diff --git a/Scripts/Widgets/ClassDisplayWidget.cs b/Scripts/Widgets/ClassDisplayWidget.cs index acbd85bea..f2b38feaf 100644 --- a/Scripts/Widgets/ClassDisplayWidget.cs +++ b/Scripts/Widgets/ClassDisplayWidget.cs @@ -25,10 +25,15 @@ namespace IBM.Watson.DeveloperCloud.Widgets { /// - /// Simple widget for displaying the NLC classification in the UI. + /// Simple widget for displaying the Natural Language Classification in the UI. /// public class ClassDisplayWidget : Widget { + #region Inputs + [SerializeField] + private Input m_ClassInput = new Input("ClassInput", typeof(ClassifyResultData), "OnClassInput"); + #endregion + #region Widget interface /// protected override string GetName() @@ -40,18 +45,18 @@ protected override string GetName() #region Private Data [SerializeField] private Text m_ClassDisplay = null; - [SerializeField] - private Input m_ClassInput = new Input( "ClassInput", typeof(ClassifyResultData), "OnClassInput" ); #endregion - private void OnClassInput( Data data ) + #region Event Handlers + private void OnClassInput(Data data) { ClassifyResultData results = (ClassifyResultData)data; - if ( m_ClassDisplay != null ) + if (m_ClassDisplay != null) { - m_ClassDisplay.text = string.Format( "Top class: {0} ({1:0.00})", - results.Result.top_class, results.Result.topConfidence ); + m_ClassDisplay.text = string.Format("Top class: {0} ({1:0.00})", + results.Result.top_class, results.Result.topConfidence); } } + #endregion } } diff --git a/Scripts/Widgets/ClassifierWidget.cs b/Scripts/Widgets/ClassifierWidget.cs index 45c492ace..fe70ab6a1 100644 --- a/Scripts/Widgets/ClassifierWidget.cs +++ b/Scripts/Widgets/ClassifierWidget.cs @@ -16,7 +16,7 @@ */ -using IBM.Watson.DeveloperCloud.DataModels; +using IBM.Watson.DeveloperCloud.Services.NaturalLanguageClassifier.v1; using IBM.Watson.DeveloperCloud.DataTypes; using IBM.Watson.DeveloperCloud.Utilities; using System; @@ -28,11 +28,19 @@ namespace IBM.Watson.DeveloperCloud.Widgets { /// - /// This widget class maps NLC classifier results to a SerializedDelegate. + /// This widget class maps Natural Language Classifier results to a SerializedDelegate. /// public class ClassifierWidget : Widget { - private delegate void OnClassifierResult( ClassifyResult result ); + #region Inputs + [SerializeField] + private Input m_ClassifyInput = new Input("Classified", typeof(ClassifyResultData), "OnClassifyInput"); + #endregion + + #region Outputs + [SerializeField] + private Output m_ClassifyOutput = new Output(typeof(ClassifyResultData)); + #endregion #region Widget interface /// @@ -43,6 +51,8 @@ protected override string GetName() #endregion #region Private Data + private delegate void OnClassifierResult(ClassifyResult result); + [Serializable] private class Mapping { @@ -53,27 +63,23 @@ private class Mapping [SerializeField] private List m_Mappings = new List(); - [SerializeField] - private Input m_ClassifyInput = new Input( "Classified", typeof(ClassifyResultData), "OnClassifyInput" ); - [SerializeField] - private Output m_ClassifyOutput = new Output( typeof(ClassifyResultData) ); #endregion - #region Input Handler - private void OnClassifyInput( Data data ) + #region Event Handlers + private void OnClassifyInput(Data data) { ClassifyResultData input = (ClassifyResultData)data; bool bPassthrough = true; foreach (var mapping in m_Mappings) { - if ( mapping.m_Class == input.Result.top_class ) + if (mapping.m_Class == input.Result.top_class) { OnClassifierResult callback = mapping.m_Callback.ResolveDelegate() as OnClassifierResult; - if ( callback != null ) + if (callback != null) { - callback( input.Result ); - if ( mapping.m_Exclusive ) + callback(input.Result); + if (mapping.m_Exclusive) { bPassthrough = false; break; @@ -82,8 +88,8 @@ private void OnClassifyInput( Data data ) } } - if ( bPassthrough ) - m_ClassifyOutput.SendData( data ); + if (bPassthrough) + m_ClassifyOutput.SendData(data); } #endregion } diff --git a/Scripts/Data/DataTypes.cs b/Scripts/Widgets/DataTypes.cs similarity index 75% rename from Scripts/Data/DataTypes.cs rename to Scripts/Widgets/DataTypes.cs index 46596b816..2ed40ad5d 100644 --- a/Scripts/Data/DataTypes.cs +++ b/Scripts/Widgets/DataTypes.cs @@ -15,13 +15,12 @@ * */ - -using IBM.Watson.DeveloperCloud.DataModels; -using IBM.Watson.DeveloperCloud.Services.v1; +using IBM.Watson.DeveloperCloud.Services.TextToSpeech.v1; +using IBM.Watson.DeveloperCloud.Services.SpeechToText.v1; +using IBM.Watson.DeveloperCloud.Services.NaturalLanguageClassifier.v1; using IBM.Watson.DeveloperCloud.Utilities; using IBM.Watson.DeveloperCloud.Widgets; using UnityEngine; -using System; namespace IBM.Watson.DeveloperCloud.DataTypes { @@ -104,7 +103,7 @@ public VoiceData() /// Constructor which takes the voice type enumeration. /// /// The voice to select. - public VoiceData( TextToSpeech.VoiceType voice ) + public VoiceData( VoiceType voice ) { Voice = voice; } @@ -118,7 +117,7 @@ public override string GetName() /// /// The enumeration of the voice to select. /// - public TextToSpeech.VoiceType Voice { get; set; } + public VoiceType Voice { get; set; } }; /// @@ -135,7 +134,7 @@ public AudioData() /// ~AudioData() { - AudioClipUtil.DestroyAudioClip( Clip ); + UnityObjectUtil.DestroyUnityObject( Clip ); } /// @@ -266,6 +265,39 @@ public override string GetName() public bool Boolean { get; set; } } + /// + /// Boolean state for disabling the CloseCaption output. + /// + public class DisableCloseCaptionData : Widget.Data + { + /// + /// Default constructor. + /// + public DisableCloseCaptionData() + { } + /// + /// Data constructor. + /// + /// Disable DisableCloseCaptionData state. + public DisableCloseCaptionData( bool b ) + { + Boolean = b; + } + /// + /// Name of this data type. + /// + /// The readable name. + public override string GetName() + { + return "DisableCloseCaptionData"; + } + /// + /// Disable DisableCloseCaptionData state, true for disabled, false for not. + /// + public bool Boolean { get; set; } + } + + /// /// This class is for audio level data. /// @@ -280,9 +312,10 @@ public LevelData() /// Data constructor. /// /// The level data. - public LevelData( float f ) + public LevelData( float f , float m = 1.0f) { Float = f; + Modifier = m; } /// /// Name of this data type. @@ -296,6 +329,14 @@ public override string GetName() /// The level data. /// public float Float { get; set; } + + /// + /// Modifier of Level data. Default is 1.0 + /// + /// The modifier. + public float Modifier { get; set; } + + public float NormalizedFloat { get{ if(Modifier == 0.0f) Modifier = 1.0f; return Float / Modifier;}} }; /// @@ -328,10 +369,52 @@ public override string GetName() /// The Result object. /// public SpeechResultList Results { get; set; } + + /// + /// Gets a value indicating whether the result text is final. + /// + /// true if the result text is final; otherwise, false. + public bool IsFinal + { + get{ + bool isFinal = false; + if (Results != null && Results.Results.Length > 0) + { + isFinal = Results.Results[0].Final; + } + + return isFinal; + } + } + + public string _Text = null; + /// + /// Gets the highest confident text. + /// + /// The text with highest confidence or final text + public string Text + { + get{ + if (string.IsNullOrEmpty(_Text)) + { + if (Results != null && Results.Results.Length > 0) + { + SpeechResult speechResult = Results.Results[0]; + if (speechResult.Alternatives != null && speechResult.Alternatives.Length > 0) + { + _Text = speechResult.Alternatives[0].Transcript; + } + } + } + return _Text; + + } + + } }; /// - /// This class is for NLC classify results. + /// This class is for Natural Language Classify results. /// public class ClassifyResultData : Widget.Data { diff --git a/Scripts/Data/DataTypes.cs.meta b/Scripts/Widgets/DataTypes.cs.meta similarity index 100% rename from Scripts/Data/DataTypes.cs.meta rename to Scripts/Widgets/DataTypes.cs.meta diff --git a/Scripts/Widgets/DialogWidget.cs b/Scripts/Widgets/DialogWidget.cs index e1b141ecc..7369cfda4 100644 --- a/Scripts/Widgets/DialogWidget.cs +++ b/Scripts/Widgets/DialogWidget.cs @@ -22,11 +22,10 @@ using UnityEngine.UI; using IBM.Watson.DeveloperCloud.Logging; using IBM.Watson.DeveloperCloud.Utilities; -using IBM.Watson.DeveloperCloud.DataModels; -using IBM.Watson.DeveloperCloud.Services.v1; +using IBM.Watson.DeveloperCloud.Services.Dialog.v1; +using IBM.Watson.DeveloperCloud.Services.SpeechToText.v1; using IBM.Watson.DeveloperCloud.DataTypes; - namespace IBM.Watson.DeveloperCloud.Widgets { /// @@ -34,20 +33,26 @@ namespace IBM.Watson.DeveloperCloud.Widgets /// public class DialogWidget : Widget { + #region Inputs + [SerializeField] + private Input m_SpeechInput = new Input("SpeechInput", typeof(SpeechToTextData), "OnSpeechInput"); + #endregion + + #region Outputs + [SerializeField] + private Output m_ResultOutput = new Output(typeof(TextToSpeechData)); + #endregion + #region Private Data - [SerializeField, Tooltip( "The name prefix of the dialog to use." ) ] - private string m_DialogName = Guid.NewGuid().ToString().Replace( "-", "" ).Substring( 0, 24 ); // NOTE: the limit of a dialog name is 24 characters, plus it has to be globally unique! - [SerializeField, Tooltip( "If no dialog is found by name, then this dialog will automatically be uploaded. (Editor Only)") ] + [SerializeField, Tooltip("The name prefix of the dialog to use.")] + private string m_DialogName = Guid.NewGuid().ToString().Replace("-", "").Substring(0, 24); // NOTE: the limit of a dialog name is 24 characters, plus it has to be globally unique! + [SerializeField, Tooltip("If no dialog is found by name, then this dialog will automatically be uploaded. (Editor Only)")] private string m_AutoUploadDialog = "/Watson/Editor/TestData/pizza_sample.xml"; [SerializeField] private VerticalLayoutGroup m_DialogLayout = null; [SerializeField] private ScrollRect m_ScrollRect = null; [SerializeField] - private Input m_SpeechInput = new Input("SpeechInput", typeof(SpeechToTextData), "OnSpeechInput"); - [SerializeField] - private Output m_ResultOutput = new Output(typeof(TextToSpeechData)); - [SerializeField] private GameObject m_QuestionPrefab = null; [SerializeField] private GameObject m_AnswerPrefab = null; @@ -69,12 +74,7 @@ protected override string GetName() #endregion - - private void OnEnable() - { - m_Dialog.GetDialogs(OnGetDialogs); - } - + #region Public Functions /// /// Converse with the dialog system. /// @@ -84,7 +84,14 @@ public void Converse(string dialog) if (!string.IsNullOrEmpty(m_DialogID)) m_Dialog.Converse(m_DialogID, dialog, OnConverse, m_ConversationID, m_ClientID); else - Log.Warning( "DialogWidget", "m_DialogID is null." ); + Log.Warning("DialogWidget", "m_DialogID is null."); + } + #endregion + + #region Event Handlers + private void OnEnable() + { + m_Dialog.GetDialogs(OnGetDialogs); } private void OnConverse(ConverseResponse resp) @@ -99,7 +106,7 @@ private void OnConverse(ConverseResponse resp) Log.Debug("DialogWidget", "Response: {0}", r); AddDialog(r, m_AnswerPrefab); - if ( m_ResultOutput.IsConnected ) + if (m_ResultOutput.IsConnected) m_ResultOutput.SendData(new TextToSpeechData(r)); } } @@ -121,16 +128,16 @@ private void OnGetDialogs(Dialogs dialogs) foreach (var d in dialogs.dialogs) { Log.Debug("DialogDisplayWidget", "Name: {0}, ID: {1}", d.name, d.dialog_id); - if (d.name == m_DialogName ) + if (d.name == m_DialogName) m_DialogID = d.dialog_id; } } #if UNITY_EDITOR - if ( string.IsNullOrEmpty( m_DialogID ) ) + if (string.IsNullOrEmpty(m_DialogID)) { m_Dialog.UploadDialog(m_DialogName, OnDialogUploaded, - Application.dataPath + m_AutoUploadDialog ); + Application.dataPath + m_AutoUploadDialog); } #endif } @@ -138,7 +145,7 @@ private void OnGetDialogs(Dialogs dialogs) private void OnSpeechInput(Data data) { SpeechResultList result = ((SpeechToTextData)data).Results; - if ( result != null && result.HasFinalResult() ) + if (result != null && result.HasFinalResult()) { string text = result.Results[0].Alternatives[0].Transcript; @@ -146,10 +153,12 @@ private void OnSpeechInput(Data data) AddDialog(text, m_QuestionPrefab); } } + #endregion + #region Private Functions private void AddDialog(string add, GameObject prefab) { - if ( m_DialogLayout != null ) + if (m_DialogLayout != null) { if (prefab == null) throw new ArgumentNullException("prefab is null"); @@ -174,5 +183,6 @@ private void ScrollToEnd() if (m_ScrollRect != null) m_ScrollRect.verticalNormalizedPosition = 0.0f; } + #endregion } } \ No newline at end of file diff --git a/Scripts/Widgets/EventWidget.cs b/Scripts/Widgets/EventWidget.cs index 717083a56..e3a96dab7 100644 --- a/Scripts/Widgets/EventWidget.cs +++ b/Scripts/Widgets/EventWidget.cs @@ -30,28 +30,31 @@ namespace IBM.Watson.DeveloperCloud.Widgets public class EventWidget : Widget { #region Widget interface - /// + /// protected override string GetName() { return "Event"; } #endregion + #region Private Data [Serializable] private class Mapping { - public Constants.Event m_Event = Constants.Event.NONE; + public string m_Event = ""; public SerializedDelegate m_Callback = new SerializedDelegate(typeof(EventManager.OnReceiveEvent)); }; [SerializeField] private List m_Mappings = new List(); + #endregion + #region Event Handlers private void OnEnable() { foreach (var mapping in m_Mappings) { - EventManager.Instance.RegisterEventReceiver(mapping.m_Event, mapping.m_Callback.ResolveDelegate() as EventManager.OnReceiveEvent); + EventManager.Instance.RegisterEventReceiver(mapping.m_Event, mapping.m_Callback.ResolveDelegate() as EventManager.OnReceiveEvent); } } @@ -62,6 +65,7 @@ private void OnDisable() EventManager.Instance.UnregisterEventReceiver(mapping.m_Event, mapping.m_Callback.ResolveDelegate() as EventManager.OnReceiveEvent); } } + #endregion } } \ No newline at end of file diff --git a/Scripts/Widgets/KeyboardWidget.cs b/Scripts/Widgets/KeyboardWidget.cs index cfc7a0090..96ed1eb46 100644 --- a/Scripts/Widgets/KeyboardWidget.cs +++ b/Scripts/Widgets/KeyboardWidget.cs @@ -36,22 +36,25 @@ protected override string GetName() } #endregion + #region Private Data [Serializable] private class Mapping { public KeyCode m_Key = (KeyCode)0; public KeyModifiers m_Modifiers = KeyModifiers.NONE; - public Constants.Event m_Event = Constants.Event.NONE; + public string m_Event = ""; }; [SerializeField] private List m_Mappings = new List(); + #endregion + #region Event Handlers private void OnEnable() { foreach (var mapping in m_Mappings) { - KeyEventManager.Instance.RegisterKeyEvent(mapping.m_Key, mapping.m_Modifiers, mapping.m_Event ); + KeyEventManager.Instance.RegisterKeyEvent(mapping.m_Key, mapping.m_Modifiers, mapping.m_Event); } } @@ -59,9 +62,9 @@ private void OnDisable() { foreach (var mapping in m_Mappings) { - KeyEventManager.Instance.UnregisterKeyEvent(mapping.m_Key, mapping.m_Modifiers, mapping.m_Event ); + KeyEventManager.Instance.UnregisterKeyEvent(mapping.m_Key, mapping.m_Modifiers, mapping.m_Event); } } + #endregion } - -} \ No newline at end of file +} diff --git a/Scripts/Widgets/LanguageTranslationWidget.cs b/Scripts/Widgets/LanguageTranslationWidget.cs index 92709f748..a88f9dc20 100644 --- a/Scripts/Widgets/LanguageTranslationWidget.cs +++ b/Scripts/Widgets/LanguageTranslationWidget.cs @@ -17,12 +17,11 @@ using UnityEngine; using UnityEngine.UI; -using IBM.Watson.DeveloperCloud.DataModels; using IBM.Watson.DeveloperCloud.DataTypes; using IBM.Watson.DeveloperCloud.Logging; -using IBM.Watson.DeveloperCloud.Services.v1; +using IBM.Watson.DeveloperCloud.Services.LanguageTranslation.v1; +using IBM.Watson.DeveloperCloud.Services.TextToSpeech.v1; using System; -using System.Collections; using System.Collections.Generic; using IBM.Watson.DeveloperCloud.Utilities; @@ -36,13 +35,27 @@ namespace IBM.Watson.DeveloperCloud.Widgets /// public class LanguageTranslationWidget : Widget { + #region Inputs + [SerializeField] + private Input m_SpeechInput = new Input("SpeechInput", typeof(SpeechToTextData), "OnSpeechInput"); + #endregion + + #region Outputs + [SerializeField] + private Output m_RecognizeLanguageOutput = new Output(typeof(LanguageData)); + [SerializeField] + private Output m_SpeechOutput = new Output(typeof(TextToSpeechData)); + [SerializeField] + private Output m_VoiceOutput = new Output(typeof(VoiceData)); + #endregion + #region Private Data private LanguageTranslation m_Translate = new LanguageTranslation(); [SerializeField, Tooltip("Source language, if empty language will be auto-detected.")] private string m_SourceLanguage = string.Empty; [SerializeField, Tooltip("Target language to translate into.")] - private string m_TargetLanguage = "es"; + private string m_TargetLanguage = "es"; [SerializeField, Tooltip("Input field for inputting speech")] private InputField m_Input = null; [SerializeField, Tooltip("Output text for showing translated text")] @@ -52,14 +65,6 @@ public class LanguageTranslationWidget : Widget [SerializeField] private Dropdown m_DropDownTargetLanguage = null; [SerializeField] - private Output m_RecognizeLanguageOutput = new Output(typeof(LanguageData)); - [SerializeField] - private Input m_SpeechInput = new Input("SpeechInput", typeof(SpeechToTextData), "OnSpeechInput"); - [SerializeField] - private Output m_SpeechOutput = new Output(typeof(TextToSpeechData)); - [SerializeField] - private Output m_VoiceOutput = new Output(typeof(VoiceData)); - [SerializeField] private string m_DefaultDomainToUse = "conversational"; [SerializeField] private string m_DetectLanguageName = "Detect Language"; @@ -89,14 +94,16 @@ protected override string GetName() /// /// Set or get the source language ID. If set to null or empty, then the language will be auto-detected. /// - public string SourceLanguage { - set { - if ( m_SourceLanguage != value ) + public string SourceLanguage + { + set + { + if (m_SourceLanguage != value) { m_SourceLanguage = value; - if ( m_RecognizeLanguageOutput.IsConnected && !string.IsNullOrEmpty(m_SourceLanguage) ) - m_RecognizeLanguageOutput.SendData( new LanguageData( m_SourceLanguage ) ); + if (m_RecognizeLanguageOutput.IsConnected && !string.IsNullOrEmpty(m_SourceLanguage)) + m_RecognizeLanguageOutput.SendData(new LanguageData(m_SourceLanguage)); ResetSourceLanguageDropDown(); ResetTargetLanguageDropDown(); } @@ -107,10 +114,11 @@ public string SourceLanguage { /// /// Set or get the target language ID. /// - public string TargetLanguage { + public string TargetLanguage + { set { - if ( TargetLanguage != value ) + if (TargetLanguage != value) { m_TargetLanguage = value; ResetVoiceForTargetLanguage(); @@ -120,6 +128,7 @@ public string TargetLanguage { } #endregion + #region Event Handlers private void OnEnable() { Log.Status("TranslationWidget", "OnEnable"); @@ -132,12 +141,12 @@ protected override void Awake() { base.Awake(); - if ( m_Input != null ) - m_Input.onEndEdit.AddListener( delegate { OnInputEnd(); } ); - if ( m_DropDownSourceLanguage != null ) - m_DropDownSourceLanguage.onValueChanged.AddListener( delegate { DropDownSourceValueChanged(); } ); - if ( m_DropDownTargetLanguage != null ) - m_DropDownTargetLanguage.onValueChanged.AddListener( delegate { DropDownTargetValueChanged(); } ); + if (m_Input != null) + m_Input.onEndEdit.AddListener(delegate { OnInputEnd(); }); + if (m_DropDownSourceLanguage != null) + m_DropDownSourceLanguage.onValueChanged.AddListener(delegate { DropDownSourceValueChanged(); }); + if (m_DropDownTargetLanguage != null) + m_DropDownTargetLanguage.onValueChanged.AddListener(delegate { DropDownTargetValueChanged(); }); } /// @@ -146,89 +155,29 @@ protected override void Start() base.Start(); // resolve variables - m_SourceLanguage = Config.Instance.ResolveVariables( m_SourceLanguage ); - m_TargetLanguage = Config.Instance.ResolveVariables( m_TargetLanguage ); + m_SourceLanguage = Config.Instance.ResolveVariables(m_SourceLanguage); + m_TargetLanguage = Config.Instance.ResolveVariables(m_TargetLanguage); - if ( m_RecognizeLanguageOutput.IsConnected && !string.IsNullOrEmpty(m_SourceLanguage) ) - m_RecognizeLanguageOutput.SendData( new LanguageData( m_SourceLanguage ) ); + if (m_RecognizeLanguageOutput.IsConnected && !string.IsNullOrEmpty(m_SourceLanguage)) + m_RecognizeLanguageOutput.SendData(new LanguageData(m_SourceLanguage)); } private void OnInputEnd() { - if ( m_Input != null ) + if (m_Input != null) { - if ( !string.IsNullOrEmpty(TargetLanguage) ) - Translate( m_Input.text ); + if (!string.IsNullOrEmpty(TargetLanguage)) + Translate(m_Input.text); else Log.Error("TranslationWidget", "OnTranslation - Target Language should be set!"); } } - private void OnSpeechInput( Data data ) + private void OnSpeechInput(Data data) { SpeechToTextData speech = data as SpeechToTextData; - if ( speech != null && speech.Results.HasFinalResult() ) - Translate( speech.Results.Results[0].Alternatives[0].Transcript ); - } - - - private void Translate(string text) - { - if (!string.IsNullOrEmpty(text)) - { - m_TranslateText = text; - - if ( m_Input != null ) - m_Input.text = text; - - new TranslateRequest( this, text ); - } - } - - private class TranslateRequest - { - private LanguageTranslationWidget m_Widget; - private string m_Text; - - public TranslateRequest( LanguageTranslationWidget widget, string text ) - { - m_Widget = widget; - m_Text = text; - - if ( string.IsNullOrEmpty( m_Widget.SourceLanguage ) ) - m_Widget.m_Translate.Identify( m_Text, OnIdentified ); - else - m_Widget.m_Translate.GetTranslation( m_Text, m_Widget.SourceLanguage, m_Widget.TargetLanguage, OnGetTranslation ); - } - - private void OnIdentified( string language ) - { - if (! string.IsNullOrEmpty( language ) ) - { - m_Widget.SourceLanguage = language; - m_Widget.m_Translate.GetTranslation( m_Text, language, m_Widget.TargetLanguage, OnGetTranslation ); - } - else - Log.Error( "TranslateWidget", "Failed to identify language: {0}", m_Text ); - } - - private void OnGetTranslation( Translations translations ) - { - if ( translations != null && translations.translations.Length > 0 ) - m_Widget.SetOutput( translations.translations[0].translation ); - } - }; - - - private void SetOutput(string text) - { - Log.Debug( "TranslateWidget", "SetOutput(): {0}", text ); - - if (m_Output != null) - m_Output.text = text; - - if ( m_SpeechOutput.IsConnected ) - m_SpeechOutput.SendData( new TextToSpeechData( text ) ); + if (speech != null && speech.Results.HasFinalResult()) + Translate(speech.Results.Results[0].Alternatives[0].Transcript); } private void OnGetLanguages(Languages languages) @@ -245,7 +194,7 @@ private void OnGetLanguages(Languages languages) } m_LanguageIDToName[m_DetectLanguageID] = m_DetectLanguageName; - m_LanguageNameToID[ m_DetectLanguageName ] = m_DetectLanguageID; + m_LanguageNameToID[m_DetectLanguageName] = m_DetectLanguageID; m_Translate.GetModels(OnGetModels); //To fill dropdown with models to use in Translation } else @@ -297,10 +246,70 @@ private void OnGetModels(TranslationModels models) ResetVoiceForTargetLanguage(); } } + #endregion + + #region Private Functions + private void Translate(string text) + { + if (!string.IsNullOrEmpty(text)) + { + m_TranslateText = text; + + if (m_Input != null) + m_Input.text = text; + + new TranslateRequest(this, text); + } + } + + private class TranslateRequest + { + private LanguageTranslationWidget m_Widget; + private string m_Text; + + public TranslateRequest(LanguageTranslationWidget widget, string text) + { + m_Widget = widget; + m_Text = text; + + if (string.IsNullOrEmpty(m_Widget.SourceLanguage)) + m_Widget.m_Translate.Identify(m_Text, OnIdentified); + else + m_Widget.m_Translate.GetTranslation(m_Text, m_Widget.SourceLanguage, m_Widget.TargetLanguage, OnGetTranslation); + } + + private void OnIdentified(string language) + { + if (!string.IsNullOrEmpty(language)) + { + m_Widget.SourceLanguage = language; + m_Widget.m_Translate.GetTranslation(m_Text, language, m_Widget.TargetLanguage, OnGetTranslation); + } + else + Log.Error("TranslateWidget", "Failed to identify language: {0}", m_Text); + } + + private void OnGetTranslation(Translations translations) + { + if (translations != null && translations.translations.Length > 0) + m_Widget.SetOutput(translations.translations[0].translation); + } + }; + + private void SetOutput(string text) + { + Log.Debug("TranslateWidget", "SetOutput(): {0}", text); + + if (m_Output != null) + m_Output.text = text; + + if (m_SpeechOutput.IsConnected) + m_SpeechOutput.SendData(new TextToSpeechData(text)); + } private void ResetSourceLanguageDropDown() { - if ( m_DropDownSourceLanguage != null ) + if (m_DropDownSourceLanguage != null) { m_DropDownSourceLanguage.options.Clear(); @@ -320,16 +329,16 @@ private void ResetSourceLanguageDropDown() private void DropDownSourceValueChanged() { - if ( m_DropDownSourceLanguage != null && m_DropDownSourceLanguage.options.Count > 0 ) + if (m_DropDownSourceLanguage != null && m_DropDownSourceLanguage.options.Count > 0) { - string selected = m_DropDownSourceLanguage.options[ m_DropDownSourceLanguage.value ].text; - if ( m_LanguageNameToID.ContainsKey( selected ) ) + string selected = m_DropDownSourceLanguage.options[m_DropDownSourceLanguage.value].text; + if (m_LanguageNameToID.ContainsKey(selected)) { - selected = m_LanguageNameToID[ selected ]; - if ( selected != SourceLanguage ) + selected = m_LanguageNameToID[selected]; + if (selected != SourceLanguage) { SourceLanguage = selected; - Translate( m_TranslateText ); + Translate(m_TranslateText); } } } @@ -337,16 +346,16 @@ private void DropDownSourceValueChanged() private void DropDownTargetValueChanged() { - if ( m_DropDownTargetLanguage != null && m_DropDownTargetLanguage.options.Count > 0 ) + if (m_DropDownTargetLanguage != null && m_DropDownTargetLanguage.options.Count > 0) { - string selected = m_DropDownTargetLanguage.options[ m_DropDownTargetLanguage.value ].text; - if ( m_LanguageNameToID.ContainsKey( selected ) ) + string selected = m_DropDownTargetLanguage.options[m_DropDownTargetLanguage.value].text; + if (m_LanguageNameToID.ContainsKey(selected)) { - string target = m_LanguageNameToID[ selected ]; - if ( target != TargetLanguage ) + string target = m_LanguageNameToID[selected]; + if (target != TargetLanguage) { TargetLanguage = target; - Translate( m_TranslateText ); + Translate(m_TranslateText); } } } @@ -354,9 +363,9 @@ private void DropDownTargetValueChanged() private void ResetTargetLanguageDropDown() { - if ( m_DropDownTargetLanguage != null ) + if (m_DropDownTargetLanguage != null) { - if ( !string.IsNullOrEmpty( SourceLanguage ) && m_LanguageToTranslate.ContainsKey( SourceLanguage ) ) + if (!string.IsNullOrEmpty(SourceLanguage) && m_LanguageToTranslate.ContainsKey(SourceLanguage)) { //Add target language corresponding source language m_DropDownTargetLanguage.options.Clear(); @@ -381,24 +390,24 @@ private void ResetTargetLanguageDropDown() private void ResetVoiceForTargetLanguage() { - if ( m_VoiceOutput.IsConnected ) + if (m_VoiceOutput.IsConnected) { - if ( TargetLanguage == "en" ) - m_VoiceOutput.SendData( new VoiceData( TextToSpeech.VoiceType.en_US_Michael ) ); - else if ( TargetLanguage == "de" ) - m_VoiceOutput.SendData( new VoiceData( TextToSpeech.VoiceType.de_DE_Dieter ) ); - else if ( TargetLanguage == "es" ) - m_VoiceOutput.SendData( new VoiceData( TextToSpeech.VoiceType.es_ES_Enrique ) ); - else if ( TargetLanguage == "fr" ) - m_VoiceOutput.SendData( new VoiceData( TextToSpeech.VoiceType.fr_FR_Renee ) ); - else if ( TargetLanguage == "it" ) - m_VoiceOutput.SendData( new VoiceData( TextToSpeech.VoiceType.it_IT_Francesca ) ); - else if ( TargetLanguage == "ja" ) - m_VoiceOutput.SendData( new VoiceData( TextToSpeech.VoiceType.ja_JP_Emi ) ); + if (TargetLanguage == "en") + m_VoiceOutput.SendData(new VoiceData(VoiceType.en_US_Michael)); + else if (TargetLanguage == "de") + m_VoiceOutput.SendData(new VoiceData(VoiceType.de_DE_Dieter)); + else if (TargetLanguage == "es") + m_VoiceOutput.SendData(new VoiceData(VoiceType.es_ES_Enrique)); + else if (TargetLanguage == "fr") + m_VoiceOutput.SendData(new VoiceData(VoiceType.fr_FR_Renee)); + else if (TargetLanguage == "it") + m_VoiceOutput.SendData(new VoiceData(VoiceType.it_IT_Francesca)); + else if (TargetLanguage == "ja") + m_VoiceOutput.SendData(new VoiceData(VoiceType.ja_JP_Emi)); else - Log.Warning( "TranslateWidget", "Unsupported voice for language {0}", TargetLanguage ); + Log.Warning("TranslateWidget", "Unsupported voice for language {0}", TargetLanguage); } } + #endregion } } - diff --git a/Scripts/Widgets/MicrophoneWidget.cs b/Scripts/Widgets/MicrophoneWidget.cs index 241584dfe..1be6c3b74 100644 --- a/Scripts/Widgets/MicrophoneWidget.cs +++ b/Scripts/Widgets/MicrophoneWidget.cs @@ -19,6 +19,7 @@ using IBM.Watson.DeveloperCloud.DataTypes; using IBM.Watson.DeveloperCloud.Logging; using IBM.Watson.DeveloperCloud.Utilities; +using System; using System.Collections; using System.Collections.Generic; using UnityEngine; @@ -33,6 +34,53 @@ namespace IBM.Watson.DeveloperCloud.Widgets /// public class MicrophoneWidget : Widget { + #region Inputs + [SerializeField] + private Input m_DisableInput = new Input("Disable", typeof(DisableMicData), "OnDisableInput"); + #endregion + + #region Outputs + [SerializeField] + private Output m_AudioOutput = new Output(typeof(AudioData)); + [SerializeField] + private Output m_LevelOutput = new Output(typeof(LevelData)); + [SerializeField] + private Output m_ActivateOutput = new Output(typeof(BooleanData)); + #endregion + + #region Private Data + private bool m_Active = false; + private bool m_Disabled = false; + private bool m_Failure = false; + private DateTime m_LastFailure = DateTime.Now; + + [SerializeField] + private bool m_ActivateOnStart = true; + [SerializeField, Tooltip("Size of recording buffer in seconds.")] + private int m_RecordingBufferSize = 2; + [SerializeField] + private int m_RecordingHZ = 22050; // default recording HZ + [SerializeField, Tooltip("ID of the microphone to use.")] + private string m_MicrophoneID = null; // what microphone to use for recording. + [SerializeField, Tooltip("How often to sample for level output.")] + private float m_LevelOutputInterval = 0.05f; + [SerializeField] + private float m_LevelOutputModifier = 1.0f; + [SerializeField, Tooltip("If true, microphone will playback recorded audio on stop.")] + private bool m_PlaybackRecording = false; + [SerializeField] + private Text m_StatusText = null; + + private int m_RecordingRoutine = 0; // ID of our co-routine when recording, 0 if not recording currently. + private AudioClip m_Recording = null; + private List m_Playback = new List(); + #endregion + + #region Constants + // how often to retry the open the microphone on failure + private const int RETRY_INTERVAL = 10000; + #endregion + #region Public Properties /// /// Returns a list of available microphone devices. @@ -74,32 +122,52 @@ public bool Disable } } } + /// + /// This is set to true when the microhphone fails, the update will continue to try to start + /// the microphone so long as it's active. + /// + public bool Failure + { + get { return m_Failure; } + private set + { + if (m_Failure != value) + { + m_Failure = value; + if (m_Failure) + m_LastFailure = DateTime.Now; + } + } + } + + /// /// Button handler for toggling the active state. /// public void OnToggleActive() { - Active = !Active; + Active = !Active; } #endregion - #region Public Functions - /// - /// Activates the microphone. - /// - public void ActivateMicrophone(){ - Active = true; - - } + #region Public Functions + /// + /// Activates the microphone. + /// + public void ActivateMicrophone() + { + Active = true; + } - /// - /// Deactivates the microphone. - /// - public void DeactivateMicrophone(){ - Active = false; - } + /// + /// Deactivates the microphone. + /// + public void DeactivateMicrophone() + { + Active = false; + } - #endregion + #endregion #region Widget interface /// @@ -109,7 +177,7 @@ protected override string GetName() } #endregion - #region MonoBehaviour interface + #region Event Handlers /// protected override void Start() { @@ -117,54 +185,34 @@ protected override void Start() if (m_ActivateOnStart) Active = true; } - #endregion - - #region Private Data - private bool m_Active = false; - private bool m_Disabled = false; - - [SerializeField] - private bool m_ActivateOnStart = true; - [SerializeField] - private Input m_DisableInput = new Input("Disable", typeof(DisableMicData), "OnDisableInput"); - [SerializeField] - private Output m_AudioOutput = new Output(typeof(AudioData)); - [SerializeField] - private Output m_LevelOutput = new Output(typeof(LevelData)); - [SerializeField] - private Output m_ActivateOutput = new Output(typeof(BooleanData)); - [SerializeField, Tooltip("Size of recording buffer in seconds.")] - private int m_RecordingBufferSize = 2; - [SerializeField] - private int m_RecordingHZ = 22050; // default recording HZ - [SerializeField, Tooltip("ID of the microphone to use.")] - private string m_MicrophoneID = null; // what microphone to use for recording. - [SerializeField, Tooltip("How often to sample for level output.")] - private float m_LevelOutputInterval = 0.05f; - [SerializeField] - private float m_LevelOutputModifier = 1.0f; - [SerializeField, Tooltip("If true, microphone will playback recorded audio on stop.")] - private bool m_PlaybackRecording = false; - [SerializeField] - private Text m_StatusText = null; - - private int m_RecordingRoutine = 0; // ID of our co-routine when recording, 0 if not recording currently. - private AudioClip m_Recording = null; - private List m_Playback = new List(); - - #endregion - - #region Private Functions + private void Update() + { + if (Failure && Active && !Disable + && (DateTime.Now - m_LastFailure).TotalMilliseconds > RETRY_INTERVAL) + { + // try to restart the recording.. + StartRecording(); + } + } private void OnDisableInput(Data data) { Disable = ((DisableMicData)data).Boolean; } + void OnDestroy() + { + Active = false; + Disable = true; + } + + #endregion + + #region Recording Functions private void StartRecording() { if (m_RecordingRoutine == 0) { - AudioClipUtil.StartDestroyQueue(); + UnityObjectUtil.StartDestroyQueue(); m_RecordingRoutine = Runnable.Run(RecordingHandler()); m_ActivateOutput.SendData(new BooleanData(true)); @@ -195,8 +243,8 @@ private void StopRecording() if (source != null) { // destroy any previous audio clip.. - if ( source.clip != null ) - AudioClipUtil.DestroyAudioClip( source.clip ); + if (source.clip != null) + UnityObjectUtil.DestroyUnityObject(source.clip); source.spatialBlend = 0.0f; // 2D sound source.loop = false; // do not loop @@ -207,8 +255,8 @@ private void StopRecording() Log.Warning("MicrophoneWidget", "Failed to find AudioSource."); } - foreach( var clip in m_Playback ) - AudioClipUtil.DestroyAudioClip( clip ); + foreach (var clip in m_Playback) + UnityObjectUtil.DestroyUnityObject(clip); m_Playback.Clear(); } } @@ -216,17 +264,19 @@ private void StopRecording() private IEnumerator RecordingHandler() { + Failure = false; #if UNITY_WEBPLAYER yield return Application.RequestUserAuthorization( UserAuthorization.Microphone ); #endif m_Recording = Microphone.Start(m_MicrophoneID, true, m_RecordingBufferSize, m_RecordingHZ); yield return null; // let m_RecordingRoutine get set.. - if (m_Recording == null) - { - Log.Error( "MicrophoneWidget", "Failed to start recording." ); - yield break; - } + if (m_Recording == null) + { + Failure = true; + StopRecording(); + yield break; + } bool bFirstBlock = true; int midPoint = m_Recording.samples / 2; @@ -240,6 +290,15 @@ private IEnumerator RecordingHandler() while (m_RecordingRoutine != 0 && m_Recording != null) { int writePos = Microphone.GetPosition(m_MicrophoneID); + if (writePos > m_Recording.samples || !Microphone.IsRecording(m_MicrophoneID)) + { + Log.Error("MicrophoneWidget", "Microphone disconnected."); + + Failure = true; + StopRecording(); + yield break; + } + if (bOutputAudio) { if ((bFirstBlock && writePos >= midPoint) @@ -256,7 +315,7 @@ private IEnumerator RecordingHandler() if (m_PlaybackRecording) m_Playback.Add(record.Clip); - if ( m_AudioOutput.IsConnected && !m_AudioOutput.SendData(record)) + if (m_AudioOutput.IsConnected && !m_AudioOutput.SendData(record)) StopRecording(); // automatically stop recording if the callback goes away. bFirstBlock = !bFirstBlock; @@ -299,7 +358,7 @@ private IEnumerator RecordingHandler() lastReadPos = writePos; } - m_LevelOutput.SendData(new LevelData(fLevel * m_LevelOutputModifier)); + m_LevelOutput.SendData(new LevelData(fLevel * m_LevelOutputModifier, m_LevelOutputModifier)); } } diff --git a/Scripts/Widgets/NaturalLanguageClassifierWidget.cs b/Scripts/Widgets/NaturalLanguageClassifierWidget.cs index 404bdc613..bdf5d1a72 100644 --- a/Scripts/Widgets/NaturalLanguageClassifierWidget.cs +++ b/Scripts/Widgets/NaturalLanguageClassifierWidget.cs @@ -16,10 +16,10 @@ */ using IBM.Watson.DeveloperCloud.DataTypes; -using IBM.Watson.DeveloperCloud.Services.v1; +using IBM.Watson.DeveloperCloud.Services.SpeechToText.v1; +using IBM.Watson.DeveloperCloud.Services.NaturalLanguageClassifier.v1; using IBM.Watson.DeveloperCloud.Logging; using IBM.Watson.DeveloperCloud.Utilities; -using IBM.Watson.DeveloperCloud.DataModels; using UnityEngine; using UnityEngine.UI; using System; @@ -34,24 +34,33 @@ namespace IBM.Watson.DeveloperCloud.Widgets /// public class NaturalLanguageClassifierWidget : Widget { - #region Private Data - private NaturalLanguageClassifier m_NLC = new NaturalLanguageClassifier(); - private Classifier m_Selected = null; - + #region Inputs [SerializeField] private Input m_RecognizeInput = new Input("Recognize", typeof(SpeechToTextData), "OnRecognize"); + #endregion + + #region Outputs [SerializeField] - private Output m_ClassifyOutput = new Output(typeof(ClassifyResultData)); + private Output m_ClassifyOutput = new Output(typeof(ClassifyResultData), true); + #endregion + + #region Private Data + private NaturalLanguageClassifier m_NaturalLanguageClassifier = new NaturalLanguageClassifier(); + private Classifier m_Selected = null; + [SerializeField] private string m_ClassifierName = string.Empty; [SerializeField] private string m_ClassifierId = string.Empty; - [SerializeField, Tooltip("What is the minimum word confidence needed to send onto the NLC?")] - private double m_MinWordConfidence = 0.4; + [SerializeField, Tooltip("What is the minimum word confidence needed to send onto the Natural Language Classifier?")] + private float m_MinWordConfidence = 0f; + private float m_MinWordConfidenceDelta = 0.0f; [SerializeField, Tooltip("Recognized speech below this confidence is just ignored.")] - private double m_IgnoreWordConfidence = 0.2; + private float m_IgnoreWordConfidence = 0f; + private float m_IgnoreWordConfidenceDelta = 0.0f; [SerializeField, Tooltip("What is the minimum confidence for a classification event to be fired.")] - private double m_MinClassEventConfidence = 0.5; + private float m_MinClassEventConfidence = 0f; + private float m_MinClassEventConfidenceDelta = 0.0f; [SerializeField] private string m_Language = "en"; @@ -59,11 +68,12 @@ public class NaturalLanguageClassifierWidget : Widget private class ClassEventMapping { public string m_Class = null; - public Constants.Event m_Event = (Constants.Event)0; + public string m_Event = ""; }; [SerializeField] private List m_ClassEventList = new List(); - private Dictionary m_ClassEventMap = new Dictionary(); + private Dictionary m_ClassEventMap = new Dictionary(); + // private Dictionary m_ClassEventMap = new Dictionary(); [SerializeField] private Text m_TopClassText = null; @@ -71,68 +81,162 @@ private class ClassEventMapping #region Public Properties /// - /// Returns the NLC service object. + /// Returns the Natural Language Classifier service object. + /// + public NaturalLanguageClassifier NaturalLanguageClassifier { get { return m_NaturalLanguageClassifier; } } + + /// + /// Gets or sets the value of ignore word confidence. + /// + /// The ignore word confidence. + public float IgnoreWordConfidence + { + get + { + return Mathf.Clamp01(m_IgnoreWordConfidence + m_IgnoreWordConfidenceDelta); + } + set + { + m_IgnoreWordConfidenceDelta = value + m_IgnoreWordConfidence; + if (IgnoreWordConfidence > MinWordConfidence) + MinWordConfidence = IgnoreWordConfidence; + PlayerPrefs.SetFloat("m_IgnoreWordConfidenceDelta", m_IgnoreWordConfidenceDelta); + PlayerPrefs.Save(); + } + } + public float IgnoreWordConfidenceDelta + { + get { return m_IgnoreWordConfidenceDelta; } + set + { + m_IgnoreWordConfidenceDelta = value; + PlayerPrefs.SetFloat("m_IgnoreWordConfidenceDelta", m_IgnoreWordConfidenceDelta); + PlayerPrefs.Save(); + } + } + + /// + /// Gets or sets the minimum value of word confidence. /// - public NaturalLanguageClassifier NLC { get { return m_NLC; } } + /// The minimum word confidence. + public float MinWordConfidence + { + get + { + return Mathf.Clamp01(m_MinWordConfidence + m_MinWordConfidenceDelta); + // return Mathf.Clamp01(m_MinWordConfidenceDelta); + } + set + { + m_MinWordConfidenceDelta = value + m_MinWordConfidence; + if (MinWordConfidence < IgnoreWordConfidence) + IgnoreWordConfidence = MinWordConfidence; + PlayerPrefs.SetFloat("m_MinWordConfidenceDelta", m_MinWordConfidenceDelta); + PlayerPrefs.Save(); + } + } + public float MinWordConfidenceDelta + { + get { return m_MinWordConfidenceDelta; } + set + { + m_MinWordConfidenceDelta = value; + PlayerPrefs.SetFloat("m_MinWordConfidenceDelta", m_MinWordConfidenceDelta); + PlayerPrefs.Save(); + } + } + + /// + /// Gets or sets the minimum value of class event confidence. + /// + /// The minimum class event confidence. + public float MinClassEventConfidence + { + get + { + return Mathf.Clamp01(m_MinClassEventConfidence + m_MinClassEventConfidenceDelta); + } + set + { + m_MinClassEventConfidenceDelta = value + m_MinClassEventConfidence; + PlayerPrefs.SetFloat("m_MinClassEventConfidenceDelta", m_MinClassEventConfidenceDelta); + PlayerPrefs.Save(); + } + } + public float MinClassEventConfidenceDelta + { + get { return m_MinClassEventConfidenceDelta; } + set + { + m_MinClassEventConfidenceDelta = value; + PlayerPrefs.SetFloat("m_MinClassEventConfidenceDelta", m_MinClassEventConfidenceDelta); + PlayerPrefs.Save(); + } + } #endregion - #region MonoBehaviour interface + #region Widget interface + /// + protected override string GetName() + { + return "Natural Language Classifier"; + } + #endregion + + #region Event Handlers /// protected override void Start() { base.Start(); + m_IgnoreWordConfidenceDelta = PlayerPrefs.GetFloat("m_IgnoreWordConfidenceDelta", 0.0f); + m_MinWordConfidenceDelta = PlayerPrefs.GetFloat("m_MinWordConfidenceDelta", 0.0f); + m_MinClassEventConfidenceDelta = PlayerPrefs.GetFloat("m_MinClassEventConfidenceDelta", 0.0f); + // resolve configuration variables m_ClassifierName = Config.Instance.ResolveVariables(m_ClassifierName); m_ClassifierId = Config.Instance.ResolveVariables(m_ClassifierId); - // start the default log reactors if needed.. - LogSystem.InstallDefaultReactors(); - if (string.IsNullOrEmpty(m_ClassifierId)) { - Log.Status("NlcWidget", "Auto selecting a classifier."); - if (!m_NLC.GetClassifiers(OnGetClassifiers)) - Log.Error("NlcWidget", "Failed to request all classifiers."); + Log.Status("NaturalLanguageClassifierWidget", "Auto selecting a classifier."); + if (!m_NaturalLanguageClassifier.GetClassifiers(OnGetClassifiers)) + Log.Error("NaturalLanguageClassifierWidget", "Failed to request all classifiers."); } else { - if (!m_NLC.GetClassifier(m_ClassifierId, OnGetClassifier)) - Log.Equals("NlcWidget", "Failed to request classifier."); + if (!m_NaturalLanguageClassifier.GetClassifier(m_ClassifierId, OnGetClassifier)) + Log.Equals("NaturalLanguageClassifierWidget", "Failed to request classifier."); } } private void OnEnable() { - EventManager.Instance.RegisterEventReceiver(Constants.Event.ON_DEBUG_COMMAND, OnDebugCommand); + EventManager.Instance.RegisterEventReceiver("OnDebugCommand", OnDebugCommand); } private void OnDisable() { - EventManager.Instance.UnregisterEventReceiver(Constants.Event.ON_DEBUG_COMMAND, OnDebugCommand); + EventManager.Instance.UnregisterEventReceiver("OnDebugCommand", OnDebugCommand); } - #endregion - - #region Widget interface - /// - protected override string GetName() - { - return "NLC"; - } - #endregion private void OnGetClassifiers(Classifiers classifiers) { if (classifiers != null) { + bool bFound = false; foreach (var classifier in classifiers.classifiers) { - if (!string.IsNullOrEmpty(m_ClassifierName) && !classifier.name.StartsWith(m_ClassifierName)) + if (!string.IsNullOrEmpty(m_ClassifierName) && !classifier.name.ToLower().StartsWith(m_ClassifierName.ToLower())) continue; if (classifier.language != m_Language) continue; - m_NLC.GetClassifier(classifier.classifier_id, OnGetClassifier); + m_NaturalLanguageClassifier.GetClassifier(classifier.classifier_id, OnGetClassifier); + bFound = true; } + + if (!bFound) + Log.Error("NaturalLanguageClassifierWidget", "No classifiers found that match {0}", m_ClassifierName); } } @@ -145,7 +249,7 @@ private void OnGetClassifier(Classifier classifier) m_Selected = classifier; m_ClassifierId = m_Selected.classifier_id; - Log.Status("NlcWidget", "Selected classifier {0}, Created: {1}, Name: {2}", + Log.Status("NaturalLanguageClassifierWidget", "Selected classifier {0}, Created: {1}, Name: {2}", m_Selected.classifier_id, m_Selected.created, m_Selected.name); } } @@ -159,44 +263,48 @@ private void OnRecognize(Data data) string text = result.Results[0].Alternatives[0].Transcript; double textConfidence = result.Results[0].Alternatives[0].Confidence; - Log.Debug("NlcWidget", "OnRecognize: {0} ({1:0.00})", text, textConfidence); - EventManager.Instance.SendEvent(Constants.Event.ON_DEBUG_MESSAGE, string.Format("{0} ({1:0.00})", text, textConfidence)); + Log.Debug("NaturalLanguageClassifierWidget", "OnRecognize: {0} ({1:0.00})", text, textConfidence); + EventManager.Instance.SendEvent("OnDebugMessage", string.Format("{0} ({1:0.00})", text, textConfidence)); - if (textConfidence > m_MinWordConfidence) + if (textConfidence > MinWordConfidence) { if (!string.IsNullOrEmpty(m_ClassifierId)) { - if (!m_NLC.Classify(m_ClassifierId, text, OnClassified)) - Log.Error("NlcWidget", "Failed to send {0} to NLC.", text); + if (!m_NaturalLanguageClassifier.Classify(m_ClassifierId, text, OnClassified)) + Log.Error("NaturalLanguageClassifierWidget", "Failed to send {0} to Natural Language Classifier.", text); } else - Log.Equals("NlcWidget", "No valid classifier set."); + Log.Equals("NaturalLanguageClassifierWidget", "No valid classifier set."); } else { - if (textConfidence > m_IgnoreWordConfidence) - EventManager.Instance.SendEvent(Constants.Event.ON_CLASSIFY_FAILURE, result); + Log.Debug("NaturalLanguagClassifierWidget", "Text confidence {0} < {1} (Min word confidence)", textConfidence, MinWordConfidence); + if (textConfidence > IgnoreWordConfidence) + { + Log.Debug("NaturalLanguageClassifierWidget", "Text confidence {0} > {1} (Ignore word confidence)", textConfidence, IgnoreWordConfidence); + EventManager.Instance.SendEvent("OnClassifyFailure", result); + } } } } private void OnClassified(ClassifyResult result) { - EventManager.Instance.SendEvent(Constants.Event.ON_CLASSIFY_RESULT, result); + EventManager.Instance.SendEvent("OnClassifyResult", result); if (m_ClassifyOutput.IsConnected) m_ClassifyOutput.SendData(new ClassifyResultData(result)); if (result != null) { - Log.Debug("NlcWidget", "OnClassified: {0} ({1:0.00})", result.top_class, result.topConfidence); + Log.Debug("NaturalLanguageClassifierWidget", "OnClassified: {0} ({1:0.00})", result.top_class, result.topConfidence); if (m_TopClassText != null) m_TopClassText.text = result.top_class; if (!string.IsNullOrEmpty(result.top_class)) { - if (result.topConfidence >= m_MinClassEventConfidence) + if (result.topConfidence >= MinClassEventConfidence) { if (m_ClassEventList.Count > 0 && m_ClassEventMap.Count == 0) { @@ -205,10 +313,11 @@ private void OnClassified(ClassifyResult result) m_ClassEventMap[ev.m_Class] = ev.m_Event; } - Constants.Event sendEvent; + string sendEvent; + // Constants.Event sendEvent; if (!m_ClassEventMap.TryGetValue(result.top_class, out sendEvent)) { - Log.Warning("NlcWidget", "No class mapping found for {0}", result.top_class); + Log.Warning("NaturalLanguageClassifierWidget", "No class mapping found for {0}", result.top_class); EventManager.Instance.SendEvent(result.top_class, result); } else @@ -216,21 +325,20 @@ private void OnClassified(ClassifyResult result) } else { - if (result.topConfidence > m_IgnoreWordConfidence) - EventManager.Instance.SendEvent(Constants.Event.ON_CLASSIFY_FAILURE, result); + if (result.topConfidence > IgnoreWordConfidence) + EventManager.Instance.SendEvent("OnClassifyFailure", result); } } } } - #region Event Handlers private void OnDebugCommand(object[] args) { string text = args != null && args.Length > 0 ? args[0] as string : string.Empty; if (!string.IsNullOrEmpty(text) && !string.IsNullOrEmpty(m_ClassifierId)) { - if (!m_NLC.Classify(m_ClassifierId, text, OnClassified)) - Log.Error("NlcWidget", "Failed to send {0} to NLC.", (string)args[0]); + if (!m_NaturalLanguageClassifier.Classify(m_ClassifierId, text, OnClassified)) + Log.Error("NaturalLanguageClassifierWidget", "Failed to send {0} to Natural Language Classifier.", (string)args[0]); } } #endregion diff --git a/Scripts/Widgets/SpeechDisplayWidget.cs b/Scripts/Widgets/SpeechDisplayWidget.cs index ecdff497b..554a428ad 100644 --- a/Scripts/Widgets/SpeechDisplayWidget.cs +++ b/Scripts/Widgets/SpeechDisplayWidget.cs @@ -16,8 +16,8 @@ */ -using IBM.Watson.DeveloperCloud.DataModels; using IBM.Watson.DeveloperCloud.DataTypes; +using IBM.Watson.DeveloperCloud.Services.SpeechToText.v1; using UnityEngine; using UnityEngine.UI; @@ -30,6 +30,11 @@ namespace IBM.Watson.DeveloperCloud.Widgets /// public class SpeechDisplayWidget : Widget { + #region Inputs + [SerializeField] + private Input m_SpeechInput = new Input("SpeechInput", typeof(SpeechToTextData), "OnSpeechInput"); + #endregion + #region Widget interface /// protected override string GetName() @@ -40,75 +45,79 @@ protected override string GetName() #region Private Data - [SerializeField] - private bool m_ContinuousText = false; + [SerializeField] + private bool m_ContinuousText = false; [SerializeField] private Text m_Output = null; - [SerializeField] - private InputField m_OutputAsInputField = null; - [SerializeField] - private Text m_OutputStatus = null; [SerializeField] - private Input m_SpeechInput = new Input( "SpeechInput", typeof(SpeechToTextData), "OnSpeechInput" ); - [SerializeField] - private float m_MinConfidenceToShow = 0.5f; - - private string m_PreviousOutputTextWithStatus = ""; - private string m_PreviousOutputText = ""; - private float m_ThresholdTimeFromLastInput = 3.0f; //3 secs as threshold time. After 3 secs from last OnSpeechInput, we are considering input as new input - private float m_TimeAtLastInterim = 0.0f; + private InputField m_OutputAsInputField = null; + [SerializeField] + private Text m_OutputStatus = null; + [SerializeField] + private float m_MinConfidenceToShow = 0.5f; + + private string m_PreviousOutputTextWithStatus = ""; + private string m_PreviousOutputText = ""; + private float m_ThresholdTimeFromLastInput = 3.0f; //3 secs as threshold time. After 3 secs from last OnSpeechInput, we are considering input as new input + private float m_TimeAtLastInterim = 0.0f; #endregion - private void OnSpeechInput( Data data ) + #region Event Handlers + private void OnSpeechInput(Data data) { - if ( m_Output != null || m_OutputAsInputField != null) + if (m_Output != null || m_OutputAsInputField != null) { SpeechResultList result = ((SpeechToTextData)data).Results; if (result != null && result.Results.Length > 0) { - string outputTextWithStatus = ""; - string outputText = ""; + string outputTextWithStatus = ""; + string outputText = ""; - if(Time.time - m_TimeAtLastInterim > m_ThresholdTimeFromLastInput){ - if(m_Output != null) - m_PreviousOutputTextWithStatus = m_Output.text; - if(m_OutputAsInputField != null) - m_PreviousOutputText = m_OutputAsInputField.text; - } + if (Time.time - m_TimeAtLastInterim > m_ThresholdTimeFromLastInput) + { + if (m_Output != null) + m_PreviousOutputTextWithStatus = m_Output.text; + if (m_OutputAsInputField != null) + m_PreviousOutputText = m_OutputAsInputField.text; + } - if(m_Output != null && m_ContinuousText) - outputTextWithStatus = m_PreviousOutputTextWithStatus; + if (m_Output != null && m_ContinuousText) + outputTextWithStatus = m_PreviousOutputTextWithStatus; - if(m_OutputAsInputField != null && m_ContinuousText) - outputText = m_PreviousOutputText; + if (m_OutputAsInputField != null && m_ContinuousText) + outputText = m_PreviousOutputText; - foreach( var res in result.Results ) + foreach (var res in result.Results) { - foreach( var alt in res.Alternatives ) + foreach (var alt in res.Alternatives) { string text = alt.Transcript; - if(m_Output != null){ - m_Output.text = string.Concat(outputTextWithStatus, string.Format( "{0} ({1}, {2:0.00})\n", text, res.Final ? "Final" : "Interim", alt.Confidence) ); - } - - if(m_OutputAsInputField != null){ - if(!res.Final || alt.Confidence > m_MinConfidenceToShow){ - m_OutputAsInputField.text = string.Concat( outputText , " ", text); - - if(m_OutputStatus != null){ - m_OutputStatus.text = string.Format( "{0}, {1:0.00}", res.Final ? "Final" : "Interim", alt.Confidence ); - } - } - } - - if(!res.Final) - m_TimeAtLastInterim = Time.time; + if (m_Output != null) + { + m_Output.text = string.Concat(outputTextWithStatus, string.Format("{0} ({1}, {2:0.00})\n", text, res.Final ? "Final" : "Interim", alt.Confidence)); + } + + if (m_OutputAsInputField != null) + { + if (!res.Final || alt.Confidence > m_MinConfidenceToShow) + { + m_OutputAsInputField.text = string.Concat(outputText, " ", text); + + if (m_OutputStatus != null) + { + m_OutputStatus.text = string.Format("{0}, {1:0.00}", res.Final ? "Final" : "Interim", alt.Confidence); + } + } + } + + if (!res.Final) + m_TimeAtLastInterim = Time.time; } } } } } - + #endregion } } diff --git a/Scripts/Widgets/SpeechToTextWidget.cs b/Scripts/Widgets/SpeechToTextWidget.cs index 60525bdb9..3bde2fc51 100644 --- a/Scripts/Widgets/SpeechToTextWidget.cs +++ b/Scripts/Widgets/SpeechToTextWidget.cs @@ -17,9 +17,8 @@ //#define ENABLE_DEBUGGING -using IBM.Watson.DeveloperCloud.DataModels; using IBM.Watson.DeveloperCloud.DataTypes; -using IBM.Watson.DeveloperCloud.Services.v1; +using IBM.Watson.DeveloperCloud.Services.SpeechToText.v1; using IBM.Watson.DeveloperCloud.Logging; using UnityEngine; using UnityEngine.UI; @@ -34,8 +33,20 @@ namespace IBM.Watson.DeveloperCloud.Widgets /// public class SpeechToTextWidget : Widget { + #region Inputs + [SerializeField] + private Input m_AudioInput = new Input( "Audio", typeof(AudioData), "OnAudio" ); + [SerializeField] + private Input m_LanguageInput = new Input( "Language", typeof(LanguageData), "OnLanguage" ); + #endregion + + #region Outputs + [SerializeField] + private Output m_ResultOutput = new Output( typeof(SpeechToTextData), true ); + #endregion + #region Private Data - private SpeechToText m_STT = new SpeechToText(); + private SpeechToText m_SpeechToText = new SpeechToText(); [SerializeField] private Text m_StatusText = null; [SerializeField] @@ -54,12 +65,6 @@ public class SpeechToTextWidget : Widget private bool m_EnableInterimResults = false; [SerializeField] private Text m_Transcript = null; - [SerializeField] - private Input m_AudioInput = new Input( "Audio", typeof(AudioData), "OnAudio" ); - [SerializeField] - private Input m_LanguageInput = new Input( "Language", typeof(LanguageData), "OnLanguage" ); - [SerializeField] - private Output m_ResultOutput = new Output( typeof(SpeechToTextData) ); [SerializeField, Tooltip( "Language ID to use in the speech recognition model.") ] private string m_Language = "en-US"; #endregion @@ -70,25 +75,25 @@ public class SpeechToTextWidget : Widget /// public bool Active { - get { return m_STT.IsListening; } + get { return m_SpeechToText.IsListening; } set { - if ( value && !m_STT.IsListening ) + if ( value && !m_SpeechToText.IsListening ) { - m_STT.DetectSilence = m_DetectSilence; - m_STT.EnableWordConfidence = m_WordConfidence; - m_STT.EnableTimestamps = m_TimeStamps; - m_STT.SilenceThreshold = m_SilenceThreshold; - m_STT.MaxAlternatives = m_MaxAlternatives; - m_STT.EnableContinousRecognition = m_EnableContinous; - m_STT.EnableInterimResults = m_EnableInterimResults; - m_STT.OnError = OnError; - m_STT.StartListening( OnRecognize ); + m_SpeechToText.DetectSilence = m_DetectSilence; + m_SpeechToText.EnableWordConfidence = m_WordConfidence; + m_SpeechToText.EnableTimestamps = m_TimeStamps; + m_SpeechToText.SilenceThreshold = m_SilenceThreshold; + m_SpeechToText.MaxAlternatives = m_MaxAlternatives; + m_SpeechToText.EnableContinousRecognition = m_EnableContinous; + m_SpeechToText.EnableInterimResults = m_EnableInterimResults; + m_SpeechToText.OnError = OnError; + m_SpeechToText.StartListening( OnRecognize ); if ( m_StatusText != null ) m_StatusText.text = "LISTENING"; } - else if ( !value && m_STT.IsListening ) + else if ( !value && m_SpeechToText.IsListening ) { - m_STT.StopListening(); + m_SpeechToText.StopListening(); if ( m_StatusText != null ) m_StatusText.text = "READY"; } @@ -96,6 +101,15 @@ public bool Active } #endregion + #region Widget Interface + /// + protected override string GetName() + { + return "SpeechToText"; + } + #endregion + + #region Event handlers /// /// Button handler to toggle the active state of this widget. /// @@ -104,22 +118,15 @@ public void OnListenButton() Active = !Active; } - /// - protected override string GetName() - { - return "SpeechToText"; - } - /// protected override void Start() { base.Start(); - LogSystem.InstallDefaultReactors(); if ( m_StatusText != null ) m_StatusText.text = "READY"; - if (! m_STT.GetModels( OnGetModels ) ) - Log.Error( "SpeechToTextWidget", "Failed to rquest models." ); + if (! m_SpeechToText.GetModels( OnGetModels ) ) + Log.Error( "SpeechToTextWidget", "Failed to request models." ); } private void OnDisable() @@ -140,7 +147,7 @@ private void OnAudio( Data data ) if (! Active ) Active = true; - m_STT.OnListen( (AudioData)data ); + m_SpeechToText.OnListen( (AudioData)data ); } private void OnLanguage(Data data) @@ -153,7 +160,7 @@ private void OnLanguage(Data data) { m_Language = language.Language; - if (! m_STT.GetModels( OnGetModels ) ) + if (! m_SpeechToText.GetModels( OnGetModels ) ) Log.Error( "SpeechToTextWidget", "Failed to rquest models." ); } } @@ -175,7 +182,7 @@ private void OnGetModels( SpeechModel [] models ) if ( bestModel != null ) { Log.Status( "SpeechToTextWidget", "Selecting Recognize Model: {0} ", bestModel.Name ); - m_STT.RecognizeModel = bestModel.Name; + m_SpeechToText.RecognizeModel = bestModel.Name; } } } @@ -202,6 +209,6 @@ private void OnRecognize(SpeechResultList result) } } } - - } + #endregion + } } diff --git a/Scripts/Widgets/TextToSpeechWidget.cs b/Scripts/Widgets/TextToSpeechWidget.cs index ceb53d0d8..f06ec9cf2 100644 --- a/Scripts/Widgets/TextToSpeechWidget.cs +++ b/Scripts/Widgets/TextToSpeechWidget.cs @@ -17,12 +17,11 @@ using UnityEngine; using UnityEngine.UI; -using IBM.Watson.DeveloperCloud.Services.v1; +using IBM.Watson.DeveloperCloud.Services.TextToSpeech.v1; using IBM.Watson.DeveloperCloud.Logging; using IBM.Watson.DeveloperCloud.DataTypes; using System.Collections.Generic; using IBM.Watson.DeveloperCloud.Utilities; -using System; #pragma warning disable 414 @@ -34,19 +33,25 @@ namespace IBM.Watson.DeveloperCloud.Widgets [RequireComponent(typeof(AudioSource))] public class TextToSpeechWidget : Widget { - #region Private Data - TextToSpeech m_TTS = new TextToSpeech(); - + #region Inputs [SerializeField] private Input m_TextInput = new Input("Text", typeof(TextToSpeechData), "OnTextInput"); [SerializeField] - private Input m_VoiceInput = new Input( "Voice", typeof(VoiceData), "OnVoiceSelect" ); + private Input m_VoiceInput = new Input("Voice", typeof(VoiceData), "OnVoiceSelect"); + #endregion + + #region Outputs [SerializeField] private Output m_Speaking = new Output(typeof(SpeakingStateData)); [SerializeField] private Output m_DisableMic = new Output(typeof(DisableMicData)); [SerializeField] private Output m_LevelOut = new Output(typeof(LevelData)); + #endregion + + #region Private Data + TextToSpeech m_TextToSpeech = new TextToSpeech(); + [SerializeField, Tooltip("How often to send level out data in seconds.")] private float m_LevelOutInterval = 0.05f; [SerializeField] @@ -58,7 +63,7 @@ public class TextToSpeechWidget : Widget [SerializeField] private Text m_StatusText = null; [SerializeField] - private TextToSpeech.VoiceType m_Voice = TextToSpeech.VoiceType.en_US_Michael; + private VoiceType m_Voice = VoiceType.en_US_Michael; [SerializeField] private bool m_UsePost = false; @@ -69,19 +74,22 @@ private class Speech { ~Speech() { - AudioClipUtil.DestroyAudioClip( Clip ); + if (Clip != null) + UnityObjectUtil.DestroyUnityObject(Clip); } + public bool Ready { get; set; } public AudioClip Clip { get; set; } - public Speech(TextToSpeech tts, string text, bool usePost) + public Speech(TextToSpeech textToSpeech, string text, bool usePost) { - tts.ToSpeech(text, OnAudioClip, usePost); + textToSpeech.ToSpeech(text, OnAudioClip, usePost); } private void OnAudioClip(AudioClip clip) { Clip = clip; + Ready = true; } }; @@ -90,40 +98,42 @@ private void OnAudioClip(AudioClip clip) private Speech m_ActiveSpeech = null; #endregion - #region Public Memebers - - /// - /// Gets or sets the voice. Default voice is English, US - Michael - /// - /// The voice. - public TextToSpeech.VoiceType Voice - { - get - { - return m_Voice; - } - set - { - m_Voice = value; - } - } - - #endregion + #region Public Memebers + + /// + /// Gets or sets the voice. Default voice is English, US - Michael + /// + /// The voice. + public VoiceType Voice + { + get + { + return m_Voice; + } + set + { + m_Voice = value; + } + } + + #endregion + #region Event Handlers /// /// Button event handler. /// public void OnTextToSpeech() { - if (m_TTS.Voice != m_Voice) - m_TTS.Voice = m_Voice; + if (m_TextToSpeech.Voice != m_Voice) + m_TextToSpeech.Voice = m_Voice; if (m_Input != null) - m_SpeechQueue.Enqueue(new Speech(m_TTS, m_Input.text, m_UsePost)); + m_SpeechQueue.Enqueue(new Speech(m_TextToSpeech, m_Input.text, m_UsePost)); if (m_StatusText != null) m_StatusText.text = "THINKING"; if (m_TextToSpeechButton != null) m_TextToSpeechButton.interactable = false; } + #endregion #region Private Functions private void OnTextInput(Data data) @@ -134,26 +144,25 @@ private void OnTextInput(Data data) if (!string.IsNullOrEmpty(text.Text)) { - if (m_TTS.Voice != m_Voice) - m_TTS.Voice = m_Voice; + if (m_TextToSpeech.Voice != m_Voice) + m_TextToSpeech.Voice = m_Voice; - m_SpeechQueue.Enqueue(new Speech(m_TTS, text.Text, m_UsePost)); + m_SpeechQueue.Enqueue(new Speech(m_TextToSpeech, text.Text, m_UsePost)); } } private void OnVoiceSelect(Data data) { VoiceData voice = data as VoiceData; - if ( voice == null ) - throw new WatsonException( "Unexpected data type" ); + if (voice == null) + throw new WatsonException("Unexpected data type"); m_Voice = voice.Voice; } private void OnEnable() { - LogSystem.InstallDefaultReactors(); - AudioClipUtil.StartDestroyQueue(); + UnityObjectUtil.StartDestroyQueue(); if (m_StatusText != null) m_StatusText.text = "READY"; @@ -170,26 +179,33 @@ private void Update() { if (m_Source != null && !m_Source.isPlaying && m_SpeechQueue.Count > 0 - && m_SpeechQueue.Peek().Clip != null) + && m_SpeechQueue.Peek().Ready) { CancelInvoke("OnEndSpeech"); m_ActiveSpeech = m_SpeechQueue.Dequeue(); - if (m_Speaking.IsConnected) - m_Speaking.SendData(new SpeakingStateData(true)); - if (m_DisableMic.IsConnected) - m_DisableMic.SendData(new DisableMicData(true)); - - m_Source.spatialBlend = 0.0f; // 2D sound - m_Source.loop = false; // do not loop - m_Source.clip = m_ActiveSpeech.Clip; // clip - m_Source.Play(); - - Invoke("OnEndSpeech", ((float)m_ActiveSpeech.Clip.samples / (float)m_ActiveSpeech.Clip.frequency) + 0.1f); - if (m_LevelOut.IsConnected) + if (m_ActiveSpeech.Clip != null) + { + if (m_Speaking.IsConnected) + m_Speaking.SendData(new SpeakingStateData(true)); + if (m_DisableMic.IsConnected) + m_DisableMic.SendData(new DisableMicData(true)); + + m_Source.spatialBlend = 0.0f; // 2D sound + m_Source.loop = false; // do not loop + m_Source.clip = m_ActiveSpeech.Clip; // clip + m_Source.Play(); + + Invoke("OnEndSpeech", ((float)m_ActiveSpeech.Clip.samples / (float)m_ActiveSpeech.Clip.frequency) + 0.1f); + if (m_LevelOut.IsConnected) + { + m_LastPlayPos = 0; + InvokeRepeating("OnLevelOut", m_LevelOutInterval, m_LevelOutInterval); + } + } + else { - m_LastPlayPos = 0; - InvokeRepeating("OnLevelOut", m_LevelOutInterval, m_LevelOutInterval); + Log.Warning("TextToSpeechWidget", "Skipping null AudioClip"); } } @@ -208,7 +224,7 @@ private void OnLevelOut() { float[] samples = new float[currentPos - m_LastPlayPos]; m_Source.clip.GetData(samples, m_LastPlayPos); - m_LevelOut.SendData(new LevelData(Mathf.Max(samples) * m_LevelOutputModifier)); + m_LevelOut.SendData(new LevelData(Mathf.Max(samples) * m_LevelOutputModifier, m_LevelOutputModifier)); m_LastPlayPos = currentPos; } } diff --git a/Scripts/Widgets/TouchWidget.cs b/Scripts/Widgets/TouchWidget.cs index cc84233ec..f39f1ef5b 100644 --- a/Scripts/Widgets/TouchWidget.cs +++ b/Scripts/Widgets/TouchWidget.cs @@ -37,7 +37,8 @@ protected override string GetName() return "Touch"; } #endregion - + + #region Private Data [Serializable] private class TapEventMapping { @@ -45,7 +46,8 @@ private class TapEventMapping public bool m_TapOnObject = true; public int m_SortingLayer = 0; public LayerMask m_LayerMask = default(LayerMask); - public Constants.Event m_Callback = Constants.Event.NONE; + public string m_Callback = ""; + public string m_CallbackString = ""; }; [Serializable] @@ -56,7 +58,8 @@ private class FullScreenDragEventMapping public int m_NumberOfFinger = 1; public int m_SortingLayer = 0; public bool m_IsDragInside = true; - public Constants.Event m_Callback = Constants.Event.NONE; + public string m_Callback = ""; + public string m_CallbackString = ""; }; [SerializeField] @@ -64,7 +67,9 @@ private class FullScreenDragEventMapping [SerializeField] private List m_FullScreenDragMappings = new List(); + #endregion + #region Event Handlers private void OnEnable() { if (TouchEventManager.Instance == null) @@ -75,12 +80,34 @@ private void OnEnable() foreach (var mapping in m_TapMappings) { - TouchEventManager.Instance.RegisterTapEvent(mapping.m_TapObject, mapping.m_Callback, mapping.m_SortingLayer, mapping.m_TapOnObject, mapping.m_LayerMask); + if (mapping.m_Callback != "" && string.IsNullOrEmpty(mapping.m_CallbackString)) + { + TouchEventManager.Instance.RegisterTapEvent(mapping.m_TapObject, mapping.m_Callback, mapping.m_SortingLayer, mapping.m_TapOnObject, mapping.m_LayerMask); + } + else if (mapping.m_Callback == "" && !string.IsNullOrEmpty(mapping.m_CallbackString)) + { + TouchEventManager.Instance.RegisterTapEvent(mapping.m_TapObject, mapping.m_CallbackString, mapping.m_SortingLayer, mapping.m_TapOnObject, mapping.m_LayerMask); + } + else + { + Log.Warning("TouchWidget", "Callback function needs to be defined to register TouchWidget - Tap"); + } } foreach (var mapping in m_FullScreenDragMappings) { - TouchEventManager.Instance.RegisterDragEvent(mapping.m_DragLayerObject, mapping.m_Callback, mapping.m_NumberOfFinger, mapping.m_SortingLayer, isDragInside: mapping.m_IsDragInside); + if (mapping.m_Callback != "" && string.IsNullOrEmpty(mapping.m_CallbackString)) + { + TouchEventManager.Instance.RegisterDragEvent(mapping.m_DragLayerObject, mapping.m_Callback, mapping.m_NumberOfFinger, mapping.m_SortingLayer, isDragInside: mapping.m_IsDragInside); + } + else if (mapping.m_Callback == "" && !string.IsNullOrEmpty(mapping.m_CallbackString)) + { + TouchEventManager.Instance.RegisterDragEvent(mapping.m_DragLayerObject, mapping.m_CallbackString, mapping.m_NumberOfFinger, mapping.m_SortingLayer, isDragInside: mapping.m_IsDragInside); + } + else + { + Log.Warning("TouchWidget", "Callback function needs to be defined to register TouchWidget - Drag"); + } } } @@ -88,20 +115,45 @@ private void OnDisable() { if (TouchEventManager.Instance == null) { - Log.Error ("TouchWidget", "There should be TouchEventManager in the scene! No TouchEventManager found."); + //Log.Error ("TouchWidget", "There should be TouchEventManager in the scene! No TouchEventManager found."); return; } foreach (var mapping in m_TapMappings) { - TouchEventManager.Instance.UnregisterTapEvent(mapping.m_TapObject, mapping.m_Callback, mapping.m_SortingLayer, mapping.m_TapOnObject, mapping.m_LayerMask); + if (mapping.m_Callback != "" && string.IsNullOrEmpty(mapping.m_CallbackString)) + { + TouchEventManager.Instance.UnregisterTapEvent(mapping.m_TapObject, mapping.m_Callback, mapping.m_SortingLayer, mapping.m_TapOnObject, mapping.m_LayerMask); + } + else if (mapping.m_Callback == "" && !string.IsNullOrEmpty(mapping.m_CallbackString)) + { + TouchEventManager.Instance.UnregisterTapEvent(mapping.m_TapObject, mapping.m_CallbackString, mapping.m_SortingLayer, mapping.m_TapOnObject, mapping.m_LayerMask); + } + else + { + Log.Warning("TouchWidget", "Callback function needs to be defined to unregister TouchWidget - Tap"); + } } foreach (var mapping in m_FullScreenDragMappings) { - TouchEventManager.Instance.UnregisterDragEvent(mapping.m_DragLayerObject, mapping.m_Callback, mapping.m_NumberOfFinger, mapping.m_SortingLayer, isDragInside: mapping.m_IsDragInside); + if (mapping.m_Callback != "" && string.IsNullOrEmpty(mapping.m_CallbackString)) + { + TouchEventManager.Instance.UnregisterDragEvent(mapping.m_DragLayerObject, mapping.m_Callback, mapping.m_NumberOfFinger, mapping.m_SortingLayer, isDragInside: mapping.m_IsDragInside); + } + else if (mapping.m_Callback == "" && !string.IsNullOrEmpty(mapping.m_CallbackString)) + { + TouchEventManager.Instance.UnregisterDragEvent(mapping.m_DragLayerObject, mapping.m_CallbackString, mapping.m_NumberOfFinger, mapping.m_SortingLayer, isDragInside: mapping.m_IsDragInside); + } + else + { + Log.Warning("TouchWidget", "Callback function needs to be defined to unregister TouchWidget - Drag"); + } + + } } + #endregion } } \ No newline at end of file diff --git a/Scripts/Widgets/Widget.cs b/Scripts/Widgets/Widget.cs index b8e71af83..72b41b211 100644 --- a/Scripts/Widgets/Widget.cs +++ b/Scripts/Widgets/Widget.cs @@ -59,6 +59,11 @@ public abstract class Data [Serializable] public class Input { + #region Private Data + [NonSerialized] + private List m_Connections = new List(); + #endregion + #region Construction /// /// Constructs an input object for a Widget. @@ -66,20 +71,24 @@ public class Input /// The name of the input. /// The type of data the input takes. /// The name of the function to invoke with the input. The input function must match + /// If true, then allow more than one output to connect to this input. /// the OnReceiveData callback. - public Input(string name, Type dataType, string receiverFunction) + public Input(string name, Type dataType, string receiverFunction, bool allowMany = true) { InputName = name; DataType = dataType; ReceiverFunction = receiverFunction; + AllowMany = allowMany; } #endregion + #region Object Interface /// public override string ToString() { return (Owner != null ? Owner.name : "null") + "." + InputName + " (" + DataType.Name + ")"; } + #endregion #region Public Properties /// @@ -93,7 +102,7 @@ public override string ToString() /// /// The name of this input. /// - public string InputName { get; set; } + public string InputName { get; private set; } /// /// The fully qualified name of this input. /// @@ -101,7 +110,15 @@ public override string ToString() /// /// The type of data this input accepts. /// - public Type DataType { get; set; } + public Type DataType { get; private set; } + /// + /// If true, then more than one output may connect to this input. + /// + public bool AllowMany { get; private set; } + /// + /// The array of outputs connected to this input. + /// + public Output[] Connections { get { return m_Connections.ToArray(); } } /// /// The name of the data type. /// @@ -109,14 +126,28 @@ public override string ToString() /// /// The name of the receiver function. /// - public string ReceiverFunction { get; set; } + public string ReceiverFunction { get; private set; } /// /// The delegate to the receiver function, this is set when Start() is called on this input. /// - public OnReceiveData DataReceiver { get; set; } + public OnReceiveData DataReceiver { get; private set; } #endregion #region Public Functions + public bool AddOutput(Output output) + { + if (!AllowMany && m_Connections.Count > 0) + return false; + if (m_Connections.Contains(output)) + return false; + m_Connections.Add(output); + return true; + } + public bool RemoveOutput(Output output) + { + return m_Connections.Remove(output); + } + /// /// Start this Input. /// @@ -136,7 +167,7 @@ public virtual void Start(Widget owner) Log.Error("Widget", "CreateDelegate failed for function {0}", ReceiverFunction); } else - Log.Error("Widget", "Failed to find receiver function {0} in object {1}.", ReceiverFunction, Owner.gameObject.name ); + Log.Error("Widget", "Failed to find receiver function {0} in object {1}.", ReceiverFunction, Owner.gameObject.name); } } @@ -159,28 +190,153 @@ public virtual void ReceiveData(Data data) [Serializable] public class Output { + #region Public Types + [Serializable] + public class Connection + { + #region Private Data + [NonSerialized] + private Output m_Owner = null; + [SerializeField] + private GameObject m_TargetObject = null; + [SerializeField] + private string m_TargetConnection = null; + [NonSerialized] + private bool m_TargetInputResolved = false; + [NonSerialized] + private Input m_TargetInput = null; + #endregion + + #region Public Properties + /// + /// This returns a reference to the target object. + /// + public GameObject TargetObject { get { return m_TargetObject; } set { m_TargetObject = value; m_TargetInputResolved = false; } } + /// + /// The name of the target connection on the target object. + /// + public string TargetConnection { get { return m_TargetConnection; } set { m_TargetConnection = value; m_TargetInputResolved = false; } } + /// + /// This returns a reference to the target input object. + /// + public Input TargetInput + { + get { return m_TargetInput; } + set + { + if (m_TargetInput != null) + m_TargetInput.RemoveOutput(m_Owner); + + if (value != null && value.AddOutput(m_Owner)) + { + m_TargetInput = value; + m_TargetObject = m_TargetInput.Owner.gameObject; + m_TargetConnection = m_TargetInput.FullInputName; + } + else + { + m_TargetObject = null; + m_TargetConnection = string.Empty; + } + m_TargetInputResolved = true; + } + } + #endregion + + #region Public Functions + public bool ResolveTargetInput() + { + if (!m_TargetInputResolved) + { + m_TargetInputResolved = true; + m_TargetInput = null; + + if (m_TargetObject == null) + return false; + + string inputName = m_TargetConnection; + string componentName = null; + + int seperator = inputName.IndexOf('/'); + if (seperator >= 0) + { + componentName = inputName.Substring(0, seperator); + inputName = inputName.Substring(seperator + 1); + } + + Widget[] widgets = m_TargetObject.GetComponents(); + foreach (var widget in widgets) + { + if (!string.IsNullOrEmpty(componentName) + && widget.WidgetName != componentName) + continue; // widget is the wrong type, the target is not here.. + + foreach (Input input in widget.Inputs) + { + if (!string.IsNullOrEmpty(inputName) + && input.InputName != inputName) + continue; + if (input.DataType != m_Owner.DataType) + continue; + if (!m_TargetInput.AddOutput(m_Owner)) + continue; + + m_TargetInput = input; + return true; + } + } + + Log.Error("Widget", "Failed to resolve target {0} for object {1}.", m_TargetConnection, m_TargetObject.name); + return false; + } + + return m_TargetInput != null; + } + + public void Start(Output owner) + { + m_Owner = owner; + } + #endregion + }; + #endregion + #region Constructor /// /// The constructor for an widget output object. /// /// The type of data this widget outputs. - public Output(Type dataType) + /// If true, then this output will connect to more than one input. + public Output(Type dataType, bool allowMany = false) { DataType = dataType; + AllowMany = allowMany; } #endregion + #region Object Interface /// public override string ToString() { return (Owner != null ? Owner.name : "null") + " (" + DataType.Name + ")"; } + #endregion #region Public Properties /// /// Returns true if this output is connected to a input. /// - public bool IsConnected { get { return ResolveTargetInput(); } } + public bool IsConnected + { + get + { + foreach (var c in m_Connections) + if (c.ResolveTargetInput()) + return true; + return false; + } + } + public Connection[] Connections { get { return m_Connections.ToArray(); } } /// /// Returns a reference to the Widget owner, this is set when the Widget initializes. /// @@ -190,32 +346,9 @@ public override string ToString() /// public Type DataType { get; set; } /// - /// This returns a reference to the target input object. - /// - public Input TargetInput { get { return m_TargetInput; } - set { - m_TargetInput = value; - if ( m_TargetInput != null ) - { - m_TargetObject = m_TargetInput.Owner.gameObject; - m_TargetConnection = m_TargetInput.FullInputName; - } - else - { - m_TargetObject = null; - m_TargetConnection = string.Empty; - } - m_TargetInputResolved = true; - } - } - /// - /// This returns a reference to the target object. + /// If true, allows more than one input to be connected to this output. /// - public GameObject TargetObject { get { return m_TargetObject; } set { m_TargetObject = value; m_TargetInputResolved = false; } } - /// - /// The name of the target connection on the target object. - /// - public string TargetConnection { get { return m_TargetConnection; } set { m_TargetConnection = value; m_TargetInputResolved = false; } } + public bool AllowMany { get; private set; } #endregion #region Public Functions @@ -226,9 +359,8 @@ public override string ToString() public virtual void Start(Widget owner) { Owner = owner; - - m_TargetInputResolved = false; - m_TargetInput = null; + foreach (var c in m_Connections) + c.Start(this); } /// /// Sends a data object to the target of this output. @@ -237,82 +369,78 @@ public virtual void Start(Widget owner) /// Returns true if the data was sent to another widget. public virtual bool SendData(Data data) { - if (ResolveTargetInput()) + bool sent = false; + foreach (var c in m_Connections) { - try - { - m_TargetInput.ReceiveData(data); - return true; - } - catch (Exception e) + if (c.ResolveTargetInput()) { - Log.Error("Widget", "Exception sending data {0} to input {1} on object {2}: {3}", - data.Name, m_TargetInput.InputName, m_TargetObject.name, e.ToString()); + try + { + c.TargetInput.ReceiveData(data); + sent = true; + } + catch (Exception e) + { + Log.Error("Widget", "Exception sending data {0} to input {1} on object {2}: {3}", + data.Name, c.TargetInput.InputName, c.TargetObject.name, e.ToString()); + } } } - - return false; + return sent; } - #endregion - #region Private Functions - private bool ResolveTargetInput() + /// + /// Add a connection to this output, returns false if the connection can't be made. + /// + /// A reference to the connection to establish. + /// Returns true on success. + public bool AddConnection(Input input) { - if (!m_TargetInputResolved) - { - m_TargetInputResolved = true; - m_TargetInput = null; + if (!AllowMany && m_Connections.Count > 0) + return false; // already connected. + if (input.DataType != DataType) + return false; // wrong data type - // if we have no target object, then default to our own game object.. - if (m_TargetObject == null) - return false; - - string inputName = m_TargetConnection; - string componentName = null; - - int seperator = inputName.IndexOf('/'); - if (seperator >= 0) - { - componentName = inputName.Substring(0, seperator); - inputName = inputName.Substring(seperator + 1); - } - - Widget[] widgets = m_TargetObject.GetComponents(); - foreach (var widget in widgets) - { - if (!string.IsNullOrEmpty(componentName) - && widget.WidgetName != componentName) - continue; // widget is the wrong type, the target is not here.. + Connection c = new Connection(); + c.Start(this); + c.TargetInput = input; + m_Connections.Add(c); - foreach (Input input in widget.Inputs) - { - if (!string.IsNullOrEmpty(inputName) - && input.InputName != inputName) - continue; - if (input.DataType != this.DataType) - continue; - - m_TargetInput = input; - return true; - } - } + return true; + } - Log.Error("Widget", "Failed to resolve target {0} for object {1}.", m_TargetConnection, m_TargetObject.name); - return false; - } + /// + /// Add a connect to a given object and optional target input. + /// + /// The object to target. + /// A optional argument of the target input on the object. + /// Returns true if a Connection object was added. + public bool AddConnection(GameObject targetObject, string targetConnection = null) + { + if (!AllowMany && m_Connections.Count > 0) + return false; // already connected. + + Connection c = new Connection(); + c.Start(this); + c.TargetObject = targetObject; + if (targetConnection != null) + c.TargetConnection = targetConnection; + if (!c.ResolveTargetInput()) + return false; // couldn't resolve a input + m_Connections.Add(c); + + return true; + } - return m_TargetInput != null; + public bool RemoveConnection(Connection c) + { + return m_Connections.Remove(c); } #endregion #region Private Data [SerializeField] - private GameObject m_TargetObject = null; - [SerializeField] - private string m_TargetConnection = null; - - private bool m_TargetInputResolved = false; - private Input m_TargetInput = null; + List m_Connections = new List(); #endregion }; #endregion @@ -333,13 +461,14 @@ private bool ResolveTargetInput() /// /// This returns an array of all inputs on this widget. /// - public Input[] Inputs { get { if (! m_Initialized ) InitializeIO(); return m_Inputs; } } + public Input[] Inputs { get { if (!m_Initialized) InitializeIO(); return m_Inputs; } } /// /// This returns an array of all outputs on this widget. /// - public Output[] Outputs { get { if (! m_Initialized ) InitializeIO(); return m_Outputs; } } + public Output[] Outputs { get { if (!m_Initialized) InitializeIO(); return m_Outputs; } } #endregion + #region Public Functions /// /// Call this function to go ahead and resolve auto-connections to other widgets. Normally, /// we would try to auto connect when the Awake() is called, this can be called to resolve @@ -350,6 +479,7 @@ public void ResolveConnections() InitializeIO(); InitializeConnections(); } + #endregion #region Private Functions private void InitializeIO() @@ -366,33 +496,36 @@ private void InitializeIO() private void InitializeConnections() { // we only auto-connect when running in the editor. Doing this run-time might be very dangerous. - if ( m_AutoConnect ) + if (m_AutoConnect) { // this boolean is serialized, so we only ever do this once. Set this at the start // so we don't end up in a circular loop of widgets. m_AutoConnect = false; - Widget [] widgets = FindObjectsOfType(); - foreach( var widget in widgets ) + Widget[] widgets = FindObjectsOfType(); + foreach (var widget in widgets) { - if ( widget == null || widget == this ) + if (widget == null || widget == this) continue; // we never connect to ourselves - foreach( var output in widget.Outputs ) + if (widget.Outputs != null) { - if ( output.IsConnected ) - continue; // this output is already connected, so skip.. - - foreach( var input in m_Inputs ) + foreach (var output in widget.Outputs) { - if ( input.DataType == output.DataType ) + if (m_Inputs != null) { - Log.Status( "Widget", "Auto-Connecting {0} -> {1}", output.ToString(), input.ToString() ); - output.TargetInput = input; - break; + foreach (var input in m_Inputs) + { + if (input.DataType == output.DataType) + { + if (output.AddConnection(input)) + Log.Status("Widget", "Auto-Connecting {0} -> {1}", output.ToString(), input.ToString()); + } + } } } } + } } } @@ -425,7 +558,7 @@ protected virtual void Start() { InitializeConnections(); } - + /// protected virtual void Awake() { diff --git a/Services/v1.meta b/Services/v1.meta deleted file mode 100644 index 6933b0d7c..000000000 --- a/Services/v1.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: bac667df92020884cb6c22f69290e945 -folderAsset: yes -timeCreated: 1443556449 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty.meta b/ThirdParty.meta deleted file mode 100644 index 8469060b7..000000000 --- a/ThirdParty.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 883b0cd9dacca4545be953456efef74e -folderAsset: yes -timeCreated: 1443556908 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/HtmlAgilityPack.meta b/ThirdParty/HtmlAgilityPack.meta new file mode 100644 index 000000000..504aeb69c --- /dev/null +++ b/ThirdParty/HtmlAgilityPack.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 564af018bab6a60418f39659e38dfc4a +folderAsset: yes +timeCreated: 1457385171 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/HtmlAgilityPack/HtmlAgilityPack.dll b/ThirdParty/HtmlAgilityPack/HtmlAgilityPack.dll new file mode 100644 index 000000000..5e43b0171 Binary files /dev/null and b/ThirdParty/HtmlAgilityPack/HtmlAgilityPack.dll differ diff --git a/ThirdParty/HtmlAgilityPack/HtmlAgilityPack.dll.mdb b/ThirdParty/HtmlAgilityPack/HtmlAgilityPack.dll.mdb new file mode 100644 index 000000000..a0f014141 Binary files /dev/null and b/ThirdParty/HtmlAgilityPack/HtmlAgilityPack.dll.mdb differ diff --git a/ThirdParty/HtmlAgilityPack/HtmlAgilityPack.dll.mdb.meta b/ThirdParty/HtmlAgilityPack/HtmlAgilityPack.dll.mdb.meta new file mode 100644 index 000000000..c088b266c --- /dev/null +++ b/ThirdParty/HtmlAgilityPack/HtmlAgilityPack.dll.mdb.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 67417492ec1ddf6498a59f7a44e503d6 +timeCreated: 1447710250 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/TouchScript.TUIO.Editor.dll.meta b/ThirdParty/HtmlAgilityPack/HtmlAgilityPack.dll.meta similarity index 82% rename from ThirdParty/TouchScript/Editor/TouchScript.TUIO.Editor.dll.meta rename to ThirdParty/HtmlAgilityPack/HtmlAgilityPack.dll.meta index f92bc6c6f..c608f58ff 100644 --- a/ThirdParty/TouchScript/Editor/TouchScript.TUIO.Editor.dll.meta +++ b/ThirdParty/HtmlAgilityPack/HtmlAgilityPack.dll.meta @@ -1,5 +1,7 @@ fileFormatVersion: 2 -guid: 693e4f8bb3d3743aeb79caea05de4e04 +guid: b72d013bfb54c3c4eb5b0b80dbea7629 +timeCreated: 1447709961 +licenseType: Pro PluginImporter: serializedVersion: 1 iconMap: {} @@ -7,10 +9,10 @@ PluginImporter: isPreloaded: 0 platformData: Any: - enabled: 0 + enabled: 1 settings: {} Editor: - enabled: 1 + enabled: 0 settings: DefaultValueInitialized: true WindowsStoreApps: diff --git a/ThirdParty/HtmlAgilityPack/HtmlAgilityPack.pdb b/ThirdParty/HtmlAgilityPack/HtmlAgilityPack.pdb new file mode 100644 index 000000000..83260da2b Binary files /dev/null and b/ThirdParty/HtmlAgilityPack/HtmlAgilityPack.pdb differ diff --git a/ThirdParty/HtmlAgilityPack/HtmlAgilityPack.pdb.meta b/ThirdParty/HtmlAgilityPack/HtmlAgilityPack.pdb.meta new file mode 100644 index 000000000..721a49669 --- /dev/null +++ b/ThirdParty/HtmlAgilityPack/HtmlAgilityPack.pdb.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2ae07635d9804c54599937eaf4c4a29c +timeCreated: 1447709960 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/HtmlAgilityPack/HtmlAgilityPack.xml b/ThirdParty/HtmlAgilityPack/HtmlAgilityPack.xml new file mode 100644 index 000000000..f47566cfc --- /dev/null +++ b/ThirdParty/HtmlAgilityPack/HtmlAgilityPack.xml @@ -0,0 +1,2468 @@ + + + + HtmlAgilityPack + + + + + Represents a fragment of code in a mixed code document. + + + + + Represents a base class for fragments in a mixed code document. + + + + + Gets the fragement text. + + + + + Gets the type of fragment. + + + + + Gets the line number of the fragment. + + + + + Gets the line position (column) of the fragment. + + + + + Gets the fragment position in the document's stream. + + + + + Gets the fragment code text. + + + + + A utility class to get HTML document from HTTP. + + + + + Occurs after an HTTP request has been executed. + + + + + Occurs before an HTML document is handled. + + + + + Occurs before an HTTP request is executed. + + + + + Gets the MIME content type for a given path extension. + + The input path extension. + The default content type to return if any error occurs. + The path extension's MIME content type. + + + + Gets the path extension for a given MIME content type. + + The input MIME content type. + The default path extension to return if any error occurs. + The MIME content type's path extension. + + + + Creates an instance of the given type from the specified Internet resource. + + The requested URL, such as "http://Myserver/Mypath/Myfile.asp". + The requested type. + An newly created instance. + + + + Gets an HTML document from an Internet resource and saves it to the specified file. + + The requested URL, such as "http://Myserver/Mypath/Myfile.asp". + The location of the file where you want to save the document. + + + + Gets an HTML document from an Internet resource and saves it to the specified file. - Proxy aware + + The requested URL, such as "http://Myserver/Mypath/Myfile.asp". + The location of the file where you want to save the document. + + + + + + Gets an HTML document from an Internet resource and saves it to the specified file. + + The requested URL, such as "http://Myserver/Mypath/Myfile.asp". + The location of the file where you want to save the document. + The HTTP method used to open the connection, such as GET, POST, PUT, or PROPFIND. + + + + Gets an HTML document from an Internet resource and saves it to the specified file. Understands Proxies + + The requested URL, such as "http://Myserver/Mypath/Myfile.asp". + The location of the file where you want to save the document. + + The HTTP method used to open the connection, such as GET, POST, PUT, or PROPFIND. + + + + + Gets the cache file path for a specified url. + + The url fo which to retrieve the cache path. May not be null. + The cache file path. + + + + Gets an HTML document from an Internet resource. + + The requested URL, such as "http://Myserver/Mypath/Myfile.asp". + A new HTML document. + + + + Gets an HTML document from an Internet resource. + + The requested URL, such as "http://Myserver/Mypath/Myfile.asp". + Host to use for Proxy + Port the Proxy is on + User Id for Authentication + Password for Authentication + A new HTML document. + + + + Loads an HTML document from an Internet resource. + + The requested URL, such as "http://Myserver/Mypath/Myfile.asp". + The HTTP method used to open the connection, such as GET, POST, PUT, or PROPFIND. + A new HTML document. + + + + Loads an HTML document from an Internet resource. + + The requested URL, such as "http://Myserver/Mypath/Myfile.asp". + The HTTP method used to open the connection, such as GET, POST, PUT, or PROPFIND. + Proxy to use with this request + Credentials to use when authenticating + A new HTML document. + + + + Loads an HTML document from an Internet resource and saves it to the specified XmlTextWriter. + + The requested URL, such as "http://Myserver/Mypath/Myfile.asp". + The XmlTextWriter to which you want to save to. + + + + Creates an instance of the given type from the specified Internet resource. + + The requested URL, such as "http://Myserver/Mypath/Myfile.asp". + The URL that specifies the XSLT stylesheet to load. + An containing the namespace-qualified arguments used as input to the transform. + The requested type. + An newly created instance. + + + + Creates an instance of the given type from the specified Internet resource. + + The requested URL, such as "http://Myserver/Mypath/Myfile.asp". + The URL that specifies the XSLT stylesheet to load. + An containing the namespace-qualified arguments used as input to the transform. + The requested type. + A file path where the temporary XML before transformation will be saved. Mostly used for debugging purposes. + An newly created instance. + + + + Loads an HTML document from an Internet resource and saves it to the specified XmlTextWriter, after an XSLT transformation. + + The requested URL, such as "http://Myserver/Mypath/Myfile.asp". + The URL that specifies the XSLT stylesheet to load. + An XsltArgumentList containing the namespace-qualified arguments used as input to the transform. + The XmlTextWriter to which you want to save. + + + + Loads an HTML document from an Internet resource and saves it to the specified XmlTextWriter, after an XSLT transformation. + + The requested URL, such as "http://Myserver/Mypath/Myfile.asp". May not be null. + The URL that specifies the XSLT stylesheet to load. + An XsltArgumentList containing the namespace-qualified arguments used as input to the transform. + The XmlTextWriter to which you want to save. + A file path where the temporary XML before transformation will be saved. Mostly used for debugging purposes. + + + + Gets or Sets a value indicating if document encoding must be automatically detected. + + + + + Gets or sets the Encoding used to override the response stream from any web request + + + + + Gets or Sets a value indicating whether to get document only from the cache. + If this is set to true and document is not found in the cache, nothing will be loaded. + + + + + Gets or Sets the cache path. If null, no caching mechanism will be used. + + + + + Gets a value indicating if the last document was retrieved from the cache. + + + + + Gets the last request duration in milliseconds. + + + + + Gets the URI of the Internet resource that actually responded to the request. + + + + + Gets the last request status. + + + + + Gets or Sets the size of the buffer used for memory operations. + + + + + Gets or Sets a value indicating if cookies will be stored. + + + + + Gets or Sets the User Agent HTTP 1.1 header sent on any webrequest + + + + + Gets or Sets a value indicating whether the caching mechanisms should be used or not. + + + + + Represents the method that will handle the PostResponse event. + + + + + Represents the method that will handle the PreHandleDocument event. + + + + + Represents the method that will handle the PreRequest event. + + + + + Wraps getting AppDomain permissions + + + + + An interface for getting permissions of the running application + + + + + Checks to see if Registry access is available to the caller + + + + + + Checks to see if DNS information is available to the caller + + + + + + Checks to see if Registry access is available to the caller + + + + + + Checks to see if DNS information is available to the caller + + + + + + Represents a document with mixed code and text. ASP, ASPX, JSP, are good example of such documents. + + + + + Gets or sets the token representing code end. + + + + + Gets or sets the token representing code start. + + + + + Gets or sets the token representing code directive. + + + + + Gets or sets the token representing response write directive. + + + + + Creates a mixed code document instance. + + + + + Create a code fragment instances. + + The newly created code fragment instance. + + + + Create a text fragment instances. + + The newly created text fragment instance. + + + + Loads a mixed code document from a stream. + + The input stream. + + + + Loads a mixed code document from a stream. + + The input stream. + Indicates whether to look for byte order marks at the beginning of the file. + + + + Loads a mixed code document from a stream. + + The input stream. + The character encoding to use. + + + + Loads a mixed code document from a stream. + + The input stream. + The character encoding to use. + Indicates whether to look for byte order marks at the beginning of the file. + + + + Loads a mixed code document from a stream. + + The input stream. + The character encoding to use. + Indicates whether to look for byte order marks at the beginning of the file. + The minimum buffer size. + + + + Loads a mixed code document from a file. + + The complete file path to be read. + + + + Loads a mixed code document from a file. + + The complete file path to be read. + Indicates whether to look for byte order marks at the beginning of the file. + + + + Loads a mixed code document from a file. + + The complete file path to be read. + The character encoding to use. + + + + Loads a mixed code document from a file. + + The complete file path to be read. + The character encoding to use. + Indicates whether to look for byte order marks at the beginning of the file. + + + + Loads a mixed code document from a file. + + The complete file path to be read. + The character encoding to use. + Indicates whether to look for byte order marks at the beginning of the file. + The minimum buffer size. + + + + Loads the mixed code document from the specified TextReader. + + The TextReader used to feed the HTML data into the document. + + + + Loads a mixed document from a text + + The text to load. + + + + Saves the mixed document to the specified stream. + + The stream to which you want to save. + + + + Saves the mixed document to the specified stream. + + The stream to which you want to save. + The character encoding to use. + + + + Saves the mixed document to the specified file. + + The location of the file where you want to save the document. + + + + Saves the mixed document to the specified file. + + The location of the file where you want to save the document. + The character encoding to use. + + + + Saves the mixed document to the specified StreamWriter. + + The StreamWriter to which you want to save. + + + + Saves the mixed document to the specified TextWriter. + + The TextWriter to which you want to save. + + + + Gets the code represented by the mixed code document seen as a template. + + + + + Gets the list of code fragments in the document. + + + + + Gets the list of all fragments in the document. + + + + + Gets the encoding of the stream used to read the document. + + + + + Gets the list of text fragments in the document. + + + + + Represents a list of mixed code fragments. + + + + + Gets an enumerator that can iterate through the fragment list. + + + + + Appends a fragment to the list of fragments. + + The fragment to append. May not be null. + + + + Gets an enumerator that can iterate through the fragment list. + + + + + Prepends a fragment to the list of fragments. + + The fragment to append. May not be null. + + + + Remove a fragment from the list of fragments. If this fragment was not in the list, an exception will be raised. + + The fragment to remove. May not be null. + + + + Remove all fragments from the list. + + + + + Remove a fragment from the list of fragments, using its index in the list. + + The index of the fragment to remove. + + + + Gets the Document + + + + + Gets the number of fragments contained in the list. + + + + + Gets a fragment from the list using its index. + + + + + Represents a fragment enumerator. + + + + + Advances the enumerator to the next element of the collection. + + true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. + + + + Sets the enumerator to its initial position, which is before the first element in the collection. + + + + + Gets the current element in the collection. + + + + + Gets the current element in the collection. + + + + + A utility class to replace special characters by entities and vice-versa. + Follows HTML 4.0 specification found at http://www.w3.org/TR/html4/sgml/entities.html + + + + + Replace known entities by characters. + + The source text. + The result text. + + + + Clone and entitize an HtmlNode. This will affect attribute values and nodes' text. It will also entitize all child nodes. + + The node to entitize. + An entitized cloned node. + + + + Replace characters above 127 by entities. + + The source text. + The result text. + + + + Replace characters above 127 by entities. + + The source text. + If set to false, the function will not use known entities name. Default is true. + The result text. + + + + Replace characters above 127 by entities. + + The source text. + If set to false, the function will not use known entities name. Default is true. + If set to true, the [quote], [ampersand], [lower than] and [greather than] characters will be entitized. + The result text + + + + A collection of entities indexed by name. + + + + + A collection of entities indexed by value. + + + + + Represents the type of fragment in a mixed code document. + + + + + The fragment contains code. + + + + + The fragment contains text. + + + + + Represents the type of a node. + + + + + The root of a document. + + + + + An HTML element. + + + + + An HTML comment. + + + + + A text node is always the child of an element or a document node. + + + + + Represents an HTML navigator on an HTML document seen as a data store. + + + + + Initializes a new instance of the HtmlNavigator and loads an HTML document from a stream. + + The input stream. + + + + Initializes a new instance of the HtmlNavigator and loads an HTML document from a stream. + + The input stream. + Indicates whether to look for byte order marks at the beginning of the stream. + + + + Initializes a new instance of the HtmlNavigator and loads an HTML document from a stream. + + The input stream. + The character encoding to use. + + + + Initializes a new instance of the HtmlNavigator and loads an HTML document from a stream. + + The input stream. + The character encoding to use. + Indicates whether to look for byte order marks at the beginning of the stream. + + + + Initializes a new instance of the HtmlNavigator and loads an HTML document from a stream. + + The input stream. + The character encoding to use. + Indicates whether to look for byte order marks at the beginning of the stream. + The minimum buffer size. + + + + Initializes a new instance of the HtmlNavigator and loads an HTML document from a TextReader. + + The TextReader used to feed the HTML data into the document. + + + + Initializes a new instance of the HtmlNavigator and loads an HTML document from a file. + + The complete file path to be read. + + + + Initializes a new instance of the HtmlNavigator and loads an HTML document from a file. + + The complete file path to be read. + Indicates whether to look for byte order marks at the beginning of the file. + + + + Initializes a new instance of the HtmlNavigator and loads an HTML document from a file. + + The complete file path to be read. + The character encoding to use. + + + + Initializes a new instance of the HtmlNavigator and loads an HTML document from a file. + + The complete file path to be read. + The character encoding to use. + Indicates whether to look for byte order marks at the beginning of the file. + + + + Initializes a new instance of the HtmlNavigator and loads an HTML document from a file. + + The complete file path to be read. + The character encoding to use. + Indicates whether to look for byte order marks at the beginning of the file. + The minimum buffer size. + + + + Creates a new HtmlNavigator positioned at the same node as this HtmlNavigator. + + A new HtmlNavigator object positioned at the same node as the original HtmlNavigator. + + + + Gets the value of the HTML attribute with the specified LocalName and NamespaceURI. + + The local name of the HTML attribute. + The namespace URI of the attribute. Unsupported with the HtmlNavigator implementation. + The value of the specified HTML attribute. String.Empty or null if a matching attribute is not found or if the navigator is not positioned on an element node. + + + + Returns the value of the namespace node corresponding to the specified local name. + Always returns string.Empty for the HtmlNavigator implementation. + + The local name of the namespace node. + Always returns string.Empty for the HtmlNavigator implementation. + + + + Determines whether the current HtmlNavigator is at the same position as the specified HtmlNavigator. + + The HtmlNavigator that you want to compare against. + true if the two navigators have the same position, otherwise, false. + + + + Moves to the same position as the specified HtmlNavigator. + + The HtmlNavigator positioned on the node that you want to move to. + true if successful, otherwise false. If false, the position of the navigator is unchanged. + + + + Moves to the HTML attribute with matching LocalName and NamespaceURI. + + The local name of the HTML attribute. + The namespace URI of the attribute. Unsupported with the HtmlNavigator implementation. + true if the HTML attribute is found, otherwise, false. If false, the position of the navigator does not change. + + + + Moves to the first sibling of the current node. + + true if the navigator is successful moving to the first sibling node, false if there is no first sibling or if the navigator is currently positioned on an attribute node. + + + + Moves to the first HTML attribute. + + true if the navigator is successful moving to the first HTML attribute, otherwise, false. + + + + Moves to the first child of the current node. + + true if there is a first child node, otherwise false. + + + + Moves the XPathNavigator to the first namespace node of the current element. + Always returns false for the HtmlNavigator implementation. + + An XPathNamespaceScope value describing the namespace scope. + Always returns false for the HtmlNavigator implementation. + + + + Moves to the node that has an attribute of type ID whose value matches the specified string. + + A string representing the ID value of the node to which you want to move. This argument does not need to be atomized. + true if the move was successful, otherwise false. If false, the position of the navigator is unchanged. + + + + Moves the XPathNavigator to the namespace node with the specified local name. + Always returns false for the HtmlNavigator implementation. + + The local name of the namespace node. + Always returns false for the HtmlNavigator implementation. + + + + Moves to the next sibling of the current node. + + true if the navigator is successful moving to the next sibling node, false if there are no more siblings or if the navigator is currently positioned on an attribute node. If false, the position of the navigator is unchanged. + + + + Moves to the next HTML attribute. + + + + + + Moves the XPathNavigator to the next namespace node. + Always returns falsefor the HtmlNavigator implementation. + + An XPathNamespaceScope value describing the namespace scope. + Always returns false for the HtmlNavigator implementation. + + + + Moves to the parent of the current node. + + true if there is a parent node, otherwise false. + + + + Moves to the previous sibling of the current node. + + true if the navigator is successful moving to the previous sibling node, false if there is no previous sibling or if the navigator is currently positioned on an attribute node. + + + + Moves to the root node to which the current node belongs. + + + + + Gets the base URI for the current node. + Always returns string.Empty in the case of HtmlNavigator implementation. + + + + + Gets the current HTML document. + + + + + Gets the current HTML node. + + + + + Gets a value indicating whether the current node has child nodes. + + + + + Gets a value indicating whether the current node has child nodes. + + + + + Gets a value indicating whether the current node is an empty element. + + + + + Gets the name of the current HTML node without the namespace prefix. + + + + + Gets the qualified name of the current node. + + + + + Gets the namespace URI (as defined in the W3C Namespace Specification) of the current node. + Always returns string.Empty in the case of HtmlNavigator implementation. + + + + + Gets the associated with this implementation. + + + + + Gets the type of the current node. + + + + + Gets the prefix associated with the current node. + Always returns string.Empty in the case of HtmlNavigator implementation. + + + + + Gets the text value of the current node. + + + + + Gets the xml:lang scope for the current node. + Always returns string.Empty in the case of HtmlNavigator implementation. + + + + + Represents an HTML text node. + + + + + Represents an HTML node. + + + + + Creates a new XPathNavigator object for navigating this HTML node. + + An XPathNavigator object. The XPathNavigator is positioned on the node from which the method was called. It is not positioned on the root of the document. + + + + Creates an XPathNavigator using the root of this document. + + + + + + Selects a list of nodes matching the expression. + + The XPath expression. + An containing a collection of nodes matching the query, or null if no node matched the XPath expression. + + + + Selects the first XmlNode that matches the XPath expression. + + The XPath expression. May not be null. + The first that matches the XPath query or a null reference if no matching node was found. + + + + Gets the name of a comment node. It is actually defined as '#comment'. + + + + + Gets the name of the document node. It is actually defined as '#document'. + + + + + Gets the name of a text node. It is actually defined as '#text'. + + + + + Gets a collection of flags that define specific behaviors for specific element nodes. + The table contains a DictionaryEntry list with the lowercase tag name as the Key, and a combination of HtmlElementFlags as the Value. + + + + + Initialize HtmlNode. Builds a list of all tags that have special allowances + + + + + Initializes HtmlNode, providing type, owner and where it exists in a collection + + + + + + + + Determines if an element node can be kept overlapped. + + The name of the element node to check. May not be null. + true if the name is the name of an element node that can be kept overlapped, false otherwise. + + + + Creates an HTML node from a string representing literal HTML. + + The HTML text. + The newly created node instance. + + + + Determines if an element node is a CDATA element node. + + The name of the element node to check. May not be null. + true if the name is the name of a CDATA element node, false otherwise. + + + + Determines if an element node is closed. + + The name of the element node to check. May not be null. + true if the name is the name of a closed element node, false otherwise. + + + + Determines if an element node is defined as empty. + + The name of the element node to check. May not be null. + true if the name is the name of an empty element node, false otherwise. + + + + Determines if a text corresponds to the closing tag of an node that can be kept overlapped. + + The text to check. May not be null. + true or false. + + + + Returns a collection of all ancestor nodes of this element. + + + + + + Get Ancestors with matching name + + + + + + + Returns a collection of all ancestor nodes of this element. + + + + + + Gets all anscestor nodes and the current node + + + + + + + Adds the specified node to the end of the list of children of this node. + + The node to add. May not be null. + The node added. + + + + Adds the specified node to the end of the list of children of this node. + + The node list to add. May not be null. + + + + Gets all Attributes with name + + + + + + + Creates a duplicate of the node + + + + + + Creates a duplicate of the node and changes its name at the same time. + + The new name of the cloned node. May not be null. + The cloned node. + + + + Creates a duplicate of the node and changes its name at the same time. + + The new name of the cloned node. May not be null. + true to recursively clone the subtree under the specified node; false to clone only the node itself. + The cloned node. + + + + Creates a duplicate of the node. + + true to recursively clone the subtree under the specified node; false to clone only the node itself. + The cloned node. + + + + Creates a duplicate of the node and the subtree under it. + + The node to duplicate. May not be null. + + + + Creates a duplicate of the node. + + The node to duplicate. May not be null. + true to recursively clone the subtree under the specified node, false to clone only the node itself. + + + + Gets all Descendant nodes for this node and each of child nodes + + + + + + Returns a collection of all descendant nodes of this element, in document order + + + + + + Gets all Descendant nodes in enumerated list + + + + + + Get all descendant nodes with matching name + + + + + + + Returns a collection of all descendant nodes of this element, in document order + + + + + + Gets all descendant nodes including this node + + + + + + + Gets first generation child node matching name + + + + + + + Gets matching first generation child nodes matching name + + + + + + + Helper method to get the value of an attribute of this node. If the attribute is not found, the default value will be returned. + + The name of the attribute to get. May not be null. + The default value to return if not found. + The value of the attribute if found, the default value if not found. + + + + Helper method to get the value of an attribute of this node. If the attribute is not found, the default value will be returned. + + The name of the attribute to get. May not be null. + The default value to return if not found. + The value of the attribute if found, the default value if not found. + + + + Helper method to get the value of an attribute of this node. If the attribute is not found, the default value will be returned. + + The name of the attribute to get. May not be null. + The default value to return if not found. + The value of the attribute if found, the default value if not found. + + + + Inserts the specified node immediately after the specified reference node. + + The node to insert. May not be null. + The node that is the reference node. The newNode is placed after the refNode. + The node being inserted. + + + + Inserts the specified node immediately before the specified reference node. + + The node to insert. May not be null. + The node that is the reference node. The newChild is placed before this node. + The node being inserted. + + + + Adds the specified node to the beginning of the list of children of this node. + + The node to add. May not be null. + The node added. + + + + Adds the specified node list to the beginning of the list of children of this node. + + The node list to add. May not be null. + + + + Removes node from parent collection + + + + + Removes all the children and/or attributes of the current node. + + + + + Removes all the children of the current node. + + + + + Removes the specified child node. + + The node being removed. May not be null. + The node removed. + + + + Removes the specified child node. + + The node being removed. May not be null. + true to keep grand children of the node, false otherwise. + The node removed. + + + + Replaces the child node oldChild with newChild node. + + The new node to put in the child list. + The node being replaced in the list. + The node replaced. + + + + Helper method to set the value of an attribute of this node. If the attribute is not found, it will be created automatically. + + The name of the attribute to set. May not be null. + The value for the attribute. + The corresponding attribute instance. + + + + Saves all the children of the node to the specified TextWriter. + + The TextWriter to which you want to save. + + + + Saves all the children of the node to a string. + + The saved string. + + + + Saves the current node to the specified TextWriter. + + The TextWriter to which you want to save. + + + + Saves the current node to the specified XmlWriter. + + The XmlWriter to which you want to save. + + + + Saves the current node to a string. + + The saved string. + + + + Gets the collection of HTML attributes for this node. May not be null. + + + + + Gets all the children of the node. + + + + + Gets a value indicating if this node has been closed or not. + + + + + Gets the collection of HTML attributes for the closing tag. May not be null. + + + + + Gets the first child of the node. + + + + + Gets a value indicating whether the current node has any attributes. + + + + + Gets a value indicating whether this node has any child nodes. + + + + + Gets a value indicating whether the current node has any attributes on the closing tag. + + + + + Gets or sets the value of the 'id' HTML attribute. The document must have been parsed using the OptionUseIdAttribute set to true. + + + + + Gets or Sets the HTML between the start and end tags of the object. + + + + + Gets or Sets the text between the start and end tags of the object. + + + + + Gets the last child of the node. + + + + + Gets the line number of this node in the document. + + + + + Gets the column number of this node in the document. + + + + + Gets or sets this node's name. + + + + + Gets the HTML node immediately following this element. + + + + + Gets the type of this node. + + + + + The original unaltered name of the tag + + + + + Gets or Sets the object and its content in HTML. + + + + + Gets the to which this node belongs. + + + + + Gets the parent of this node (for nodes that can have parents). + + + + + Gets the node immediately preceding this node. + + + + + Gets the stream position of this node in the document, relative to the start of the document. + + + + + Gets a valid XPath string that points to this node + + + + + Gets or Sets the HTML between the start and end tags of the object. In the case of a text node, it is equals to OuterHtml. + + + + + Gets or Sets the object and its content in HTML. + + + + + Gets or Sets the text of the node. + + + + + Represents a complete HTML document. + + + + + Adds Debugging attributes to node. Default is false. + + + + + Defines if closing for non closed nodes must be done at the end or directly in the document. + Setting this to true can actually change how browsers render the page. Default is false. + + + + + Defines if non closed nodes will be checked at the end of parsing. Default is true. + + + + + Defines if a checksum must be computed for the document while parsing. Default is false. + + + + + Defines the default stream encoding to use. Default is System.Text.Encoding.Default. + + + + + Defines if source text must be extracted while parsing errors. + If the document has a lot of errors, or cascading errors, parsing performance can be dramatically affected if set to true. + Default is false. + + + + + Defines the maximum length of source text or parse errors. Default is 100. + + + + + Defines if LI, TR, TH, TD tags must be partially fixed when nesting errors are detected. Default is false. + + + + + Defines if output must conform to XML, instead of HTML. + + + + + Defines if attribute value output must be optimized (not bound with double quotes if it is possible). Default is false. + + + + + Defines if name must be output with it's original case. Useful for asp.net tags and attributes + + + + + Defines if name must be output in uppercase. Default is false. + + + + + Defines if declared encoding must be read from the document. + Declared encoding is determined using the meta http-equiv="content-type" content="text/html;charset=XXXXX" html node. + Default is true. + + + + + Defines the name of a node that will throw the StopperNodeException when found as an end node. Default is null. + + + + + Defines if the 'id' attribute must be specifically used. Default is true. + + + + + Defines if empty nodes must be written as closed during output. Default is false. + + + + + Creates an instance of an HTML document. + + + + + Gets a valid XML name. + + Any text. + A string that is a valid XML name. + + + + Applies HTML encoding to a specified string. + + The input string to encode. May not be null. + The encoded string. + + + + Determines if the specified character is considered as a whitespace character. + + The character to check. + true if if the specified character is considered as a whitespace character. + + + + Creates an HTML attribute with the specified name. + + The name of the attribute. May not be null. + The new HTML attribute. + + + + Creates an HTML attribute with the specified name. + + The name of the attribute. May not be null. + The value of the attribute. + The new HTML attribute. + + + + Creates an HTML comment node. + + The new HTML comment node. + + + + Creates an HTML comment node with the specified comment text. + + The comment text. May not be null. + The new HTML comment node. + + + + Creates an HTML element node with the specified name. + + The qualified name of the element. May not be null. + The new HTML node. + + + + Creates an HTML text node. + + The new HTML text node. + + + + Creates an HTML text node with the specified text. + + The text of the node. May not be null. + The new HTML text node. + + + + Detects the encoding of an HTML stream. + + The input stream. May not be null. + The detected encoding. + + + + Detects the encoding of an HTML text provided on a TextReader. + + The TextReader used to feed the HTML. May not be null. + The detected encoding. + + + + Detects the encoding of an HTML text. + + The input html text. May not be null. + The detected encoding. + + + + Gets the HTML node with the specified 'id' attribute value. + + The attribute id to match. May not be null. + The HTML node with the matching id or null if not found. + + + + Loads an HTML document from a stream. + + The input stream. + + + + Loads an HTML document from a stream. + + The input stream. + Indicates whether to look for byte order marks at the beginning of the stream. + + + + Loads an HTML document from a stream. + + The input stream. + The character encoding to use. + + + + Loads an HTML document from a stream. + + The input stream. + The character encoding to use. + Indicates whether to look for byte order marks at the beginning of the stream. + + + + Loads an HTML document from a stream. + + The input stream. + The character encoding to use. + Indicates whether to look for byte order marks at the beginning of the stream. + The minimum buffer size. + + + + Loads the HTML document from the specified TextReader. + + The TextReader used to feed the HTML data into the document. May not be null. + + + + Loads the HTML document from the specified string. + + String containing the HTML document to load. May not be null. + + + + Saves the HTML document to the specified stream. + + The stream to which you want to save. + + + + Saves the HTML document to the specified stream. + + The stream to which you want to save. May not be null. + The character encoding to use. May not be null. + + + + Saves the HTML document to the specified StreamWriter. + + The StreamWriter to which you want to save. + + + + Saves the HTML document to the specified TextWriter. + + The TextWriter to which you want to save. May not be null. + + + + Saves the HTML document to the specified XmlWriter. + + The XmlWriter to which you want to save. + + + + Detects the encoding of an HTML document from a file first, and then loads the file. + + The complete file path to be read. + + + + Detects the encoding of an HTML document from a file first, and then loads the file. + + The complete file path to be read. May not be null. + true to detect encoding, false otherwise. + + + + Detects the encoding of an HTML file. + + Path for the file containing the HTML document to detect. May not be null. + The detected encoding. + + + + Loads an HTML document from a file. + + The complete file path to be read. May not be null. + + + + Loads an HTML document from a file. + + The complete file path to be read. May not be null. + Indicates whether to look for byte order marks at the beginning of the file. + + + + Loads an HTML document from a file. + + The complete file path to be read. May not be null. + The character encoding to use. May not be null. + + + + Loads an HTML document from a file. + + The complete file path to be read. May not be null. + The character encoding to use. May not be null. + Indicates whether to look for byte order marks at the beginning of the file. + + + + Loads an HTML document from a file. + + The complete file path to be read. May not be null. + The character encoding to use. May not be null. + Indicates whether to look for byte order marks at the beginning of the file. + The minimum buffer size. + + + + Saves the mixed document to the specified file. + + The location of the file where you want to save the document. + + + + Saves the mixed document to the specified file. + + The location of the file where you want to save the document. May not be null. + The character encoding to use. May not be null. + + + + Creates a new XPathNavigator object for navigating this HTML document. + + An XPathNavigator object. The XPathNavigator is positioned on the root of the document. + + + + Gets the document CRC32 checksum if OptionComputeChecksum was set to true before parsing, 0 otherwise. + + + + + Gets the document's declared encoding. + Declared encoding is determined using the meta http-equiv="content-type" content="text/html;charset=XXXXX" html node. + + + + + Gets the root node of the document. + + + + + Gets the document's output encoding. + + + + + Gets a list of parse errors found in the document. + + + + + Gets the remaining text. + Will always be null if OptionStopperNodeName is null. + + + + + Gets the offset of Remainder in the original Html text. + If OptionStopperNodeName is null, this will return the length of the original Html text. + + + + + Gets the document's stream encoding. + + + + + Represents an HTML attribute. + + + + + Compares the current instance with another attribute. Comparison is based on attributes' name. + + An attribute to compare with this instance. + A 32-bit signed integer that indicates the relative order of the names comparison. + + + + Creates a duplicate of this attribute. + + The cloned attribute. + + + + Removes this attribute from it's parents collection + + + + + Gets the line number of this attribute in the document. + + + + + Gets the column number of this attribute in the document. + + + + + Gets the qualified name of the attribute. + + + + + Name of attribute with original case + + + + + Gets the HTML document to which this attribute belongs. + + + + + Gets the HTML node to which this attribute belongs. + + + + + Specifies what type of quote the data should be wrapped in + + + + + Gets the stream position of this attribute in the document, relative to the start of the document. + + + + + Gets or sets the value of the attribute. + + + + + Gets a valid XPath string that points to this Attribute + + + + + An Enum representing different types of Quotes used for surrounding attribute values + + + + + A single quote mark ' + + + + + A double quote mark " + + + + + Represents a combined list and collection of HTML nodes. + + + + + Initialize the HtmlNodeCollection with the base parent node + + The base node of the collection + + + + Add node to the collection + + + + + + Clears out the collection of HtmlNodes. Removes each nodes reference to parentnode, nextnode and prevnode + + + + + Gets existence of node in collection + + + + + + + Copy collection to array + + + + + + + Get Enumerator + + + + + + Get Explicit Enumerator + + + + + + Get index of node + + + + + + + Insert node at index + + + + + + + Remove node + + + + + + + Remove at index + + + + + + Get first instance of node in supplied collection + + + + + + + + Add node to the end of the collection + + + + + + Get first instance of node with name + + + + + + + Get index of node + + + + + + + Add node to the beginning of the collection + + + + + + Remove node at index + + + + + + + Replace node at index + + + + + + + Get all node descended from this collection + + + + + + Get all node descended from this collection with matching name + + + + + + Gets all first generation elements in collection + + + + + + Gets all first generation elements matching name + + + + + + + All first generation nodes in collection + + + + + + Gets a given node from the list. + + + + + Get node with tag name + + + + + + + Gets the number of elements actually contained in the list. + + + + + Is collection read only + + + + + Gets the node at the specified index. + + + + + Represents an HTML comment. + + + + + Gets or Sets the comment text of the node. + + + + + Gets or Sets the HTML between the start and end tags of the object. In the case of a text node, it is equals to OuterHtml. + + + + + Gets or Sets the object and its content in HTML. + + + + + Flags that describe the behavior of an Element node. + + + + + The node is a CDATA node. + + + + + The node is empty. META or IMG are example of such nodes. + + + + + The node will automatically be closed during parsing. + + + + + The node can overlap. + + + + + Represents the type of parsing error. + + + + + A tag was not closed. + + + + + A tag was not opened. + + + + + There is a charset mismatch between stream and declared (META) encoding. + + + + + An end tag was not required. + + + + + An end tag is invalid at this position. + + + + + A utility class to compute CRC32. + + + + + Compute a checksum for a given array of bytes. + + The array of bytes to compute the checksum for. + The computed checksum. + + + + Compute a checksum for a given string. + + The string to compute the checksum for. + The computed checksum. + + + + Represents a fragment of text in a mixed code document. + + + + + Gets the fragment text. + + + + + Represents a combined list and collection of HTML nodes. + + + + + Adds supplied item to collection + + + + + + Explicit clear + + + + + Retreives existence of supplied item + + + + + + + Copies collection to array + + + + + + + Get Explicit enumerator + + + + + + Explicit non-generic enumerator + + + + + + Retrieves the index for the supplied item, -1 if not found + + + + + + + Inserts given item into collection at supplied index + + + + + + + Explicit collection remove + + + + + + + Removes the attribute at the specified index. + + The index of the attribute to remove. + + + + Adds a new attribute to the collection with the given values + + + + + + + Inserts the specified attribute as the last attribute in the collection. + + The attribute to insert. May not be null. + The appended attribute. + + + + Creates and inserts a new attribute as the last attribute in the collection. + + The name of the attribute to insert. + The appended attribute. + + + + Creates and inserts a new attribute as the last attribute in the collection. + + The name of the attribute to insert. + The value of the attribute to insert. + The appended attribute. + + + + Checks for existance of attribute with given name + + + + + + + Inserts the specified attribute as the first node in the collection. + + The attribute to insert. May not be null. + The prepended attribute. + + + + Removes a given attribute from the list. + + The attribute to remove. May not be null. + + + + Removes an attribute from the list, using its name. If there are more than one attributes with this name, they will all be removed. + + The attribute's name. May not be null. + + + + Remove all attributes in the list. + + + + + Returns all attributes with specified name. Handles case insentivity + + Name of the attribute + + + + + Removes all attributes from the collection + + + + + Clears the attribute collection + + + + + Gets a given attribute from the list using its name. + + + + + Gets the number of elements actually contained in the list. + + + + + Gets readonly status of colelction + + + + + Gets the attribute at the specified index. + + + + + Represents an exception thrown by the HtmlWeb utility class. + + + + + Creates an instance of the HtmlWebException. + + The exception's message. + + + + Represents a parsing error found during document parsing. + + + + + Gets the type of error. + + + + + Gets the line number of this error in the document. + + + + + Gets the column number of this error in the document. + + + + + Gets a description for the error. + + + + + Gets the the full text of the line containing the error. + + + + + Gets the absolute stream position of this error in the document, relative to the start of the document. + + + + diff --git a/license.txt.meta b/ThirdParty/HtmlAgilityPack/HtmlAgilityPack.xml.meta similarity index 64% rename from license.txt.meta rename to ThirdParty/HtmlAgilityPack/HtmlAgilityPack.xml.meta index 4a86a1050..df7d78f44 100644 --- a/license.txt.meta +++ b/ThirdParty/HtmlAgilityPack/HtmlAgilityPack.xml.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 424cee3a1f675724eb50b3754049dd42 -timeCreated: 1450373258 +guid: d9944bca7ab57ed4eb8781a935563b97 +timeCreated: 1447709962 licenseType: Pro TextScriptImporter: userData: diff --git a/ThirdParty/TouchScript/Devices.meta b/ThirdParty/TouchScript/Devices.meta new file mode 100644 index 000000000..1dd111b13 --- /dev/null +++ b/ThirdParty/TouchScript/Devices.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 015a75a52390cb54ab243c58b777d403 +folderAsset: yes +DefaultImporter: + userData: diff --git a/ThirdParty/TouchScript/Devices/Display.meta b/ThirdParty/TouchScript/Devices/Display.meta new file mode 100644 index 000000000..eb63521cb --- /dev/null +++ b/ThirdParty/TouchScript/Devices/Display.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 7c4da54dcaf9ffd4a98ed42a83468d18 +folderAsset: yes +DefaultImporter: + userData: diff --git a/ThirdParty/TouchScript/Examples/Devices/Display/TVs.meta b/ThirdParty/TouchScript/Devices/Display/TVs.meta similarity index 56% rename from ThirdParty/TouchScript/Examples/Devices/Display/TVs.meta rename to ThirdParty/TouchScript/Devices/Display/TVs.meta index ccfa83bab..8934572b8 100644 --- a/ThirdParty/TouchScript/Examples/Devices/Display/TVs.meta +++ b/ThirdParty/TouchScript/Devices/Display/TVs.meta @@ -1,9 +1,5 @@ fileFormatVersion: 2 guid: f7b5954ec2c32ac43a8f9fda75eed03f folderAsset: yes -timeCreated: 1445027517 -licenseType: Pro DefaultImporter: userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/Devices/Display/TVs/FullHD TV 42.asset b/ThirdParty/TouchScript/Devices/Display/TVs/FullHD TV 42.asset similarity index 100% rename from ThirdParty/TouchScript/Examples/Devices/Display/TVs/FullHD TV 42.asset rename to ThirdParty/TouchScript/Devices/Display/TVs/FullHD TV 42.asset diff --git a/ThirdParty/TouchScript/Examples/Devices/Display/TVs/FullHD TV 42.asset.meta b/ThirdParty/TouchScript/Devices/Display/TVs/FullHD TV 42.asset.meta similarity index 68% rename from ThirdParty/TouchScript/Examples/Devices/Display/TVs/FullHD TV 42.asset.meta rename to ThirdParty/TouchScript/Devices/Display/TVs/FullHD TV 42.asset.meta index 874c3d5e5..24e043f37 100644 --- a/ThirdParty/TouchScript/Examples/Devices/Display/TVs/FullHD TV 42.asset.meta +++ b/ThirdParty/TouchScript/Devices/Display/TVs/FullHD TV 42.asset.meta @@ -2,5 +2,3 @@ fileFormatVersion: 2 guid: 2bc291805b9384c48a7b1776bff51829 NativeFormatImporter: userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/Devices/Display/TVs/FullHD TV 50.asset b/ThirdParty/TouchScript/Devices/Display/TVs/FullHD TV 50.asset similarity index 100% rename from ThirdParty/TouchScript/Examples/Devices/Display/TVs/FullHD TV 50.asset rename to ThirdParty/TouchScript/Devices/Display/TVs/FullHD TV 50.asset diff --git a/ThirdParty/TouchScript/Examples/Devices/Display/TVs/FullHD TV 50.asset.meta b/ThirdParty/TouchScript/Devices/Display/TVs/FullHD TV 50.asset.meta similarity index 68% rename from ThirdParty/TouchScript/Examples/Devices/Display/TVs/FullHD TV 50.asset.meta rename to ThirdParty/TouchScript/Devices/Display/TVs/FullHD TV 50.asset.meta index ba317a8cd..02556d447 100644 --- a/ThirdParty/TouchScript/Examples/Devices/Display/TVs/FullHD TV 50.asset.meta +++ b/ThirdParty/TouchScript/Devices/Display/TVs/FullHD TV 50.asset.meta @@ -2,5 +2,3 @@ fileFormatVersion: 2 guid: 04c17a8fa37b750408c1aaa5a0fb31af NativeFormatImporter: userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/Devices/Display/TVs/FullHD TV 55.asset b/ThirdParty/TouchScript/Devices/Display/TVs/FullHD TV 55.asset similarity index 100% rename from ThirdParty/TouchScript/Examples/Devices/Display/TVs/FullHD TV 55.asset rename to ThirdParty/TouchScript/Devices/Display/TVs/FullHD TV 55.asset diff --git a/ThirdParty/TouchScript/Examples/Devices/Display/TVs/FullHD TV 55.asset.meta b/ThirdParty/TouchScript/Devices/Display/TVs/FullHD TV 55.asset.meta similarity index 68% rename from ThirdParty/TouchScript/Examples/Devices/Display/TVs/FullHD TV 55.asset.meta rename to ThirdParty/TouchScript/Devices/Display/TVs/FullHD TV 55.asset.meta index b9ac7396d..cacb12051 100644 --- a/ThirdParty/TouchScript/Examples/Devices/Display/TVs/FullHD TV 55.asset.meta +++ b/ThirdParty/TouchScript/Devices/Display/TVs/FullHD TV 55.asset.meta @@ -2,5 +2,3 @@ fileFormatVersion: 2 guid: ea50697f98d711e4cab6011e03728770 NativeFormatImporter: userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/Devices/Display/Unknown Device.asset b/ThirdParty/TouchScript/Devices/Display/Unknown Device.asset similarity index 100% rename from ThirdParty/TouchScript/Examples/Devices/Display/Unknown Device.asset rename to ThirdParty/TouchScript/Devices/Display/Unknown Device.asset diff --git a/ThirdParty/TouchScript/Examples/Devices/Display/Unknown Device.asset.meta b/ThirdParty/TouchScript/Devices/Display/Unknown Device.asset.meta similarity index 68% rename from ThirdParty/TouchScript/Examples/Devices/Display/Unknown Device.asset.meta rename to ThirdParty/TouchScript/Devices/Display/Unknown Device.asset.meta index 07c21d85c..0a5e73264 100644 --- a/ThirdParty/TouchScript/Examples/Devices/Display/Unknown Device.asset.meta +++ b/ThirdParty/TouchScript/Devices/Display/Unknown Device.asset.meta @@ -2,5 +2,3 @@ fileFormatVersion: 2 guid: e47dcd113beb42843965ea5aa86272dc NativeFormatImporter: userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor.meta b/ThirdParty/TouchScript/Editor.meta index ca5ef5c10..c97d8da56 100644 --- a/ThirdParty/TouchScript/Editor.meta +++ b/ThirdParty/TouchScript/Editor.meta @@ -1,9 +1,2 @@ fileFormatVersion: 2 guid: f436f518569eeab46ac01cdaaac3b02f -folderAsset: yes -timeCreated: 1445027516 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/Behaviors.meta b/ThirdParty/TouchScript/Editor/Behaviors.meta new file mode 100644 index 000000000..d1e30b650 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Behaviors.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 82e3535dbc9db444daee5b467c58629b +folderAsset: yes +timeCreated: 1447582128 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/Behaviors/Visualizer.meta b/ThirdParty/TouchScript/Editor/Behaviors/Visualizer.meta new file mode 100644 index 000000000..097e03a63 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Behaviors/Visualizer.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: fdd753f8a85824d71a36d9076cb2e2fb +folderAsset: yes +timeCreated: 1448654861 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/Behaviors/Visualizer/TouchVisualizerEditor.cs b/ThirdParty/TouchScript/Editor/Behaviors/Visualizer/TouchVisualizerEditor.cs new file mode 100644 index 000000000..1c591e758 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Behaviors/Visualizer/TouchVisualizerEditor.cs @@ -0,0 +1,43 @@ + +using TouchScript.Behaviors.Visualizer; +using UnityEditor; +using UnityEngine; + +namespace TouchScript.Editor.Behaviors.Visualizer +{ + + [CustomEditor(typeof(TouchVisualizer))] + internal sealed class TouchVisualizerEditor : UnityEditor.Editor + { + + private SerializedProperty touchProxy, useDPI, touchSize, showTouchId, showTags; + + private void OnEnable() + { + showTouchId = serializedObject.FindProperty("showTouchId"); + showTags = serializedObject.FindProperty("showTags"); + touchProxy = serializedObject.FindProperty("touchProxy"); + useDPI = serializedObject.FindProperty("useDPI"); + touchSize = serializedObject.FindProperty("touchSize"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUI.BeginChangeCheck(); + EditorGUILayout.PropertyField(touchProxy, new GUIContent("Touch Proxy")); + EditorGUILayout.PropertyField(showTouchId, new GUIContent("Show Touch Id")); + EditorGUILayout.PropertyField(showTags, new GUIContent("Show Tags")); + + EditorGUILayout.PropertyField(useDPI, new GUIContent("Use DPI")); + if (useDPI.boolValue) + { + EditorGUI.BeginChangeCheck(); + EditorGUILayout.PropertyField(touchSize, new GUIContent("Touch Size (cm)")); + } + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/ThirdParty/TouchScript/Editor/Behaviors/Visualizer/TouchVisualizerEditor.cs.meta b/ThirdParty/TouchScript/Editor/Behaviors/Visualizer/TouchVisualizerEditor.cs.meta new file mode 100644 index 000000000..0a91081c1 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Behaviors/Visualizer/TouchVisualizerEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 77945c600a4314a6bb5c7cc758b42194 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/Gestures.meta b/ThirdParty/TouchScript/Editor/Gestures.meta new file mode 100644 index 000000000..7b45d582f --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Gestures.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4475ec4f99bf244e081e98be8e0f24be +folderAsset: yes +timeCreated: 1447582128 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/Gestures/Base.meta b/ThirdParty/TouchScript/Editor/Gestures/Base.meta new file mode 100644 index 000000000..b2477e5dc --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Gestures/Base.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: dd13e80fa4ff84072bc1c78063b54d99 +folderAsset: yes +timeCreated: 1447582128 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/Gestures/Base/PinnedTransformGestureBaseEditor.cs b/ThirdParty/TouchScript/Editor/Gestures/Base/PinnedTransformGestureBaseEditor.cs new file mode 100644 index 000000000..6c9ab7b54 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Gestures/Base/PinnedTransformGestureBaseEditor.cs @@ -0,0 +1,65 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using TouchScript.Gestures; +using UnityEditor; +using UnityEngine; + +namespace TouchScript.Editor.Gestures.Base +{ + internal class PinnedTransformGestureBaseEditor : GestureEditor + { + public static readonly GUIContent TYPE = new GUIContent("Transform Type", "Specifies what gestures should be detected: Rotation, Scaling."); + public static readonly GUIContent TYPE_ROTATION = new GUIContent("Rotation", "Rotating with two or more fingers."); + public static readonly GUIContent TYPE_SCALING = new GUIContent("Scaling", "Scaling with two or more fingers."); + public static readonly GUIContent SCREEN_TRANSFORM_THRESHOLD = new GUIContent("Movement Threshold (cm)", "Minimum distance in cm touch points must move for the gesture to begin."); + + protected SerializedProperty type; + protected SerializedProperty screenTransformThreshold; + + protected override void OnEnable() + { + base.OnEnable(); + + type = serializedObject.FindProperty("type"); + screenTransformThreshold = serializedObject.FindProperty("screenTransformThreshold"); + } + + public override void OnInspectorGUI() + { + serializedObject.UpdateIfDirtyOrScript(); + + var typeValue = type.intValue; + int newType = 0; + EditorGUILayout.LabelField(TYPE); + EditorGUI.indentLevel++; + EditorGUILayout.BeginHorizontal(); + if (EditorGUILayout.ToggleLeft(TYPE_ROTATION, + (typeValue & (int)TransformGesture.TransformType.Rotation) != 0, GUILayout.Width(80))) + newType |= (int)TransformGesture.TransformType.Rotation; + EditorGUI.indentLevel--; + if (EditorGUILayout.ToggleLeft(TYPE_SCALING, + (typeValue & (int)TransformGesture.TransformType.Scaling) != 0, GUILayout.Width(70))) + newType |= (int)TransformGesture.TransformType.Scaling; + type.intValue = newType; + EditorGUILayout.EndHorizontal(); + + doInspectorGUI(); + + serializedObject.ApplyModifiedProperties(); + base.OnInspectorGUI(); + } + + protected virtual void doInspectorGUI() { } + + protected override void drawAdvanced() + { + EditorGUIUtility.labelWidth = 160; + EditorGUILayout.PropertyField(screenTransformThreshold, SCREEN_TRANSFORM_THRESHOLD); + + base.drawAdvanced(); + } + + } +} diff --git a/ThirdParty/TouchScript/Editor/Gestures/Base/PinnedTransformGestureBaseEditor.cs.meta b/ThirdParty/TouchScript/Editor/Gestures/Base/PinnedTransformGestureBaseEditor.cs.meta new file mode 100644 index 000000000..db386297d --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Gestures/Base/PinnedTransformGestureBaseEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9c7f8fc728f794dc691b2a87036a14fe +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/Gestures/Base/TransformGestureBaseEditor.cs b/ThirdParty/TouchScript/Editor/Gestures/Base/TransformGestureBaseEditor.cs new file mode 100644 index 000000000..c5fc0ad99 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Gestures/Base/TransformGestureBaseEditor.cs @@ -0,0 +1,72 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using TouchScript.Gestures; +using UnityEditor; +using UnityEngine; + +namespace TouchScript.Editor.Gestures.Base +{ + internal class TransformGestureBaseEditor : GestureEditor + { + public static readonly GUIContent TYPE = new GUIContent("Transform Type", "Specifies what gestures should be detected: Translation, Rotation, Scaling."); + public static readonly GUIContent TYPE_TRANSLATION = new GUIContent("Translation", "Dragging with one ore more fingers."); + public static readonly GUIContent TYPE_ROTATION = new GUIContent("Rotation", "Rotating with two or more fingers."); + public static readonly GUIContent TYPE_SCALING = new GUIContent("Scaling", "Scaling with two or more fingers."); + public static readonly GUIContent MIN_SCREEN_POINTS_DISTANCE = new GUIContent("Min Points Distance (cm)", "Minimum distance between two points (clusters) in cm to consider this gesture started. Used to prevent fake touch points spawned near real ones on cheap multitouch hardware to mess everything up."); + public static readonly GUIContent SCREEN_TRANSFORM_THRESHOLD = new GUIContent("Movement Threshold (cm)", "Minimum distance in cm touch points must move for the gesture to begin."); + + protected SerializedProperty type; + protected SerializedProperty minScreenPointsDistance; + protected SerializedProperty screenTransformThreshold; + + protected override void OnEnable() + { + base.OnEnable(); + + type = serializedObject.FindProperty("type"); + minScreenPointsDistance = serializedObject.FindProperty("minScreenPointsDistance"); + screenTransformThreshold = serializedObject.FindProperty("screenTransformThreshold"); + } + + public override void OnInspectorGUI() + { + serializedObject.UpdateIfDirtyOrScript(); + + var typeValue = type.intValue; + int newType = 0; + EditorGUILayout.LabelField(TYPE); + EditorGUI.indentLevel++; + EditorGUILayout.BeginHorizontal(); + if (EditorGUILayout.ToggleLeft(TYPE_TRANSLATION, + (typeValue & (int)TransformGesture.TransformType.Translation) != 0, GUILayout.Width(100))) + newType |= (int)TransformGesture.TransformType.Translation; + EditorGUI.indentLevel--; + if (EditorGUILayout.ToggleLeft(TYPE_ROTATION, + (typeValue & (int)TransformGesture.TransformType.Rotation) != 0, GUILayout.Width(70))) + newType |= (int)TransformGesture.TransformType.Rotation; + if (EditorGUILayout.ToggleLeft(TYPE_SCALING, + (typeValue & (int)TransformGesture.TransformType.Scaling) != 0, GUILayout.Width(70))) + newType |= (int)TransformGesture.TransformType.Scaling; + type.intValue = newType; + EditorGUILayout.EndHorizontal(); + + doInspectorGUI(); + + serializedObject.ApplyModifiedProperties(); + base.OnInspectorGUI(); + } + + protected virtual void doInspectorGUI() {} + + protected override void drawAdvanced() + { + EditorGUIUtility.labelWidth = 160; + EditorGUILayout.PropertyField(minScreenPointsDistance, MIN_SCREEN_POINTS_DISTANCE); + EditorGUILayout.PropertyField(screenTransformThreshold, SCREEN_TRANSFORM_THRESHOLD); + + base.drawAdvanced(); + } + } +} diff --git a/ThirdParty/TouchScript/Editor/Gestures/Base/TransformGestureBaseEditor.cs.meta b/ThirdParty/TouchScript/Editor/Gestures/Base/TransformGestureBaseEditor.cs.meta new file mode 100644 index 000000000..1f7eaa1c6 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Gestures/Base/TransformGestureBaseEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0a7d71b067ae746e6b8c6f6adb9a455a +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/Gestures/FlickGestureEditor.cs b/ThirdParty/TouchScript/Editor/Gestures/FlickGestureEditor.cs new file mode 100644 index 000000000..9753477bb --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Gestures/FlickGestureEditor.cs @@ -0,0 +1,48 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using TouchScript.Gestures; +using UnityEditor; +using UnityEngine; + +namespace TouchScript.Editor.Gestures +{ + [CustomEditor(typeof(FlickGesture), true)] + internal sealed class FlickGestureEditor : GestureEditor + { + private static readonly GUIContent DIRECTION = new GUIContent("Direction", "Flick direction."); + private static readonly GUIContent MOVEMENT_THRESHOLD = new GUIContent("Movement Threshold (cm)", "Minimum distance in cm touch points must move for the gesture to begin."); + private static readonly GUIContent FLICK_TIME = new GUIContent("Flick Time (sec)", "Time interval in seconds during which touch points must move by for the gesture to be recognized."); + private static readonly GUIContent MIN_DISTANCE = new GUIContent("Minimum Distance (cm)", "Minimum distance in cm touch points must move in seconds for the gesture to be recognized."); + + private SerializedProperty direction; + private SerializedProperty flickTime; + private SerializedProperty minDistance; + private SerializedProperty movementThreshold; + + protected override void OnEnable() + { + base.OnEnable(); + + flickTime = serializedObject.FindProperty("flickTime"); + minDistance = serializedObject.FindProperty("minDistance"); + movementThreshold = serializedObject.FindProperty("movementThreshold"); + direction = serializedObject.FindProperty("direction"); + } + + public override void OnInspectorGUI() + { + serializedObject.UpdateIfDirtyOrScript(); + + EditorGUIUtility.labelWidth = 180; + EditorGUILayout.PropertyField(direction, DIRECTION); + EditorGUILayout.PropertyField(movementThreshold, MOVEMENT_THRESHOLD); + EditorGUILayout.PropertyField(flickTime, FLICK_TIME); + EditorGUILayout.PropertyField(minDistance, MIN_DISTANCE); + + serializedObject.ApplyModifiedProperties(); + base.OnInspectorGUI(); + } + } +} diff --git a/ThirdParty/TouchScript/Editor/Gestures/FlickGestureEditor.cs.meta b/ThirdParty/TouchScript/Editor/Gestures/FlickGestureEditor.cs.meta new file mode 100644 index 000000000..6414b1201 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Gestures/FlickGestureEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d390813d043714f6a84f7cf00f65f612 +timeCreated: 1447582131 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/Gestures/GestureEditor.cs b/ThirdParty/TouchScript/Editor/Gestures/GestureEditor.cs new file mode 100644 index 000000000..4c5d0220c --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Gestures/GestureEditor.cs @@ -0,0 +1,341 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System; +using TouchScript.Editor.Utils; +using TouchScript.Gestures; +using UnityEditor; +using UnityEditorInternal; +using UnityEngine; + +namespace TouchScript.Editor.Gestures +{ + [CustomEditor(typeof(Gesture), true)] + internal class GestureEditor : UnityEditor.Editor + { + private const string FRIENDLY_GESTURES_PROP = "friendlyGestures"; + private const string TEXT_FRIENDLY_HEADER = "List of gestures which can work together with this gesture."; + + private static readonly GUIContent TEXT_ADVANCED_HEADER = new GUIContent("Advanced", "Advanced properties."); + private static readonly GUIContent DEBUG_MODE = new GUIContent("Debug", "Turns on gesture debug mode."); + private static readonly GUIContent USE_SEND_MESSAGE = new GUIContent("Use SendMessage", "If you use UnityScript or prefer using Unity Messages you can turn them on with this option."); + private static readonly GUIContent SEND_STATE_CHANGE_MESSAGES = new GUIContent("Send State Change Messages", "If checked, the gesture will send a message for every state change. Gestures usually have their own more specific messages, so you should keep this toggle unchecked unless you really want state change messages."); + private static readonly GUIContent SEND_MESSAGE_TARGET = new GUIContent("Target", "The GameObject target of Unity Messages. If null, host GameObject is used."); + private static readonly GUIContent COMBINE_TOUCH_POINTS = new GUIContent("Combine Touch Points", "When several fingers are used to perform a tap, touch points released not earlier than seconds ago are used to calculate gesture's final screen position."); + private static readonly GUIContent COMBINE_TOUCH_POINTS_INTERVAL = new GUIContent("Combine Interval (sec)", COMBINE_TOUCH_POINTS.tooltip); + private static readonly GUIContent REQUIRE_GESTURE_TO_FAIL = new GUIContent("Require Other Gesture to Fail", "Gesture which must fail for this gesture to start."); + private static readonly GUIContent LIMIT_TOUCHES = new GUIContent("Limit Touches", ""); + + protected bool shouldDrawCombineTouches = false; + + private SerializedProperty advanced; + private SerializedProperty debugMode; + private SerializedProperty friendlyGestures; + private SerializedProperty requireGestureToFail; + private SerializedProperty minTouches, maxTouches; + private SerializedProperty combineTouches, combineTouchesInterval; + private SerializedProperty useSendMessage, sendMessageTarget, sendStateChangeMessages; + + private ReorderableList friendlyGesturesList; + private int indexToRemove = -1; + private float minTouchesFloat, maxTouchesFloat; + + protected virtual void OnEnable() + { + hideFlags = HideFlags.HideAndDontSave; + + advanced = serializedObject.FindProperty("advancedProps"); + debugMode = serializedObject.FindProperty("debugMode"); + friendlyGestures = serializedObject.FindProperty("friendlyGestures"); + requireGestureToFail = serializedObject.FindProperty("requireGestureToFail"); + combineTouches = serializedObject.FindProperty("combineTouches"); + combineTouchesInterval = serializedObject.FindProperty("combineTouchesInterval"); + useSendMessage = serializedObject.FindProperty("useSendMessage"); + sendMessageTarget = serializedObject.FindProperty("sendMessageTarget"); + sendStateChangeMessages = serializedObject.FindProperty("sendStateChangeMessages"); + minTouches = serializedObject.FindProperty("minTouches"); + maxTouches = serializedObject.FindProperty("maxTouches"); + + minTouchesFloat = minTouches.intValue; + maxTouchesFloat = maxTouches.intValue; + + friendlyGesturesList = new ReorderableList(serializedObject, friendlyGestures, false, false, false, true); + friendlyGesturesList.headerHeight = 0; + friendlyGesturesList.drawElementCallback += (rect, index, active, focused) => + { + rect.height = 16; + var gesture = friendlyGestures.GetArrayElementAtIndex(index).objectReferenceValue as Gesture; + if (gesture == null) + { + // Killing null elements. + indexToRemove = index; + EditorGUI.LabelField(rect, GUIContent.none); + return; + } + EditorGUI.LabelField(rect, string.Format("{0} @ {1}", gesture.GetType().Name, gesture.name), GUIElements.BoxLabelStyle); + }; + friendlyGesturesList.onRemoveCallback += list => { indexToRemove = list.index; }; + } + + public override void OnInspectorGUI() + { + serializedObject.UpdateIfDirtyOrScript(); + + EditorGUI.BeginChangeCheck(); + var expanded = GUIElements.BeginFoldout(advanced.isExpanded, TEXT_ADVANCED_HEADER); + if (EditorGUI.EndChangeCheck()) + { + advanced.isExpanded = expanded; + } + if (expanded) + { + GUILayout.BeginVertical(GUIElements.FoldoutStyle); + drawAdvanced(); + GUILayout.EndVertical(); + } + GUIElements.EndFoldout(); + + serializedObject.ApplyModifiedProperties(); + } + + protected virtual void drawDebug() + { + if (debugMode == null) return; + EditorGUILayout.PropertyField(debugMode, DEBUG_MODE); + } + + protected virtual void drawSendMessage() + { + EditorGUILayout.PropertyField(useSendMessage, USE_SEND_MESSAGE); + if (useSendMessage.boolValue) + { + EditorGUIUtility.labelWidth = 70; + + EditorGUILayout.BeginHorizontal(); + GUILayout.Label(GUIContent.none, GUILayout.Width(10)); + EditorGUILayout.BeginVertical(GUILayout.ExpandWidth(true)); + EditorGUILayout.PropertyField(sendMessageTarget, SEND_MESSAGE_TARGET); + EditorGUILayout.PropertyField(sendStateChangeMessages, SEND_STATE_CHANGE_MESSAGES); + EditorGUILayout.EndVertical(); + EditorGUILayout.EndHorizontal(); + } + } + + protected virtual void drawCombineTouches() + { + if (shouldDrawCombineTouches) + { + EditorGUILayout.PropertyField(combineTouches, COMBINE_TOUCH_POINTS); + if (combineTouches.boolValue) + { + EditorGUIUtility.labelWidth = 160; + EditorGUILayout.BeginHorizontal(); + GUILayout.Label(GUIContent.none, GUILayout.Width(10)); + EditorGUILayout.BeginVertical(GUILayout.ExpandWidth(true)); + EditorGUILayout.PropertyField(combineTouchesInterval, COMBINE_TOUCH_POINTS_INTERVAL); + EditorGUILayout.EndVertical(); + EditorGUILayout.EndHorizontal(); + } + } + } + + protected virtual void drawLimitTouches() + { + var limitTouches = (minTouches.intValue > 0) || (maxTouches.intValue > 0); + var newLimitTouches = EditorGUILayout.ToggleLeft(LIMIT_TOUCHES, limitTouches); + if (newLimitTouches) + { + if (!limitTouches) + { + minTouchesFloat = 0; + maxTouchesFloat = 10; + } + EditorGUI.indentLevel++; + EditorGUILayout.LabelField("Min: " + (int)minTouchesFloat + ", Max: " + (int)maxTouchesFloat); + EditorGUILayout.MinMaxSlider(ref minTouchesFloat, ref maxTouchesFloat, 0, 10); + EditorGUI.indentLevel--; + } + else + { + if (limitTouches) + { + minTouchesFloat = 0; + maxTouchesFloat = 0; + } + } + + minTouches.intValue = (int)minTouchesFloat; + maxTouches.intValue = (int)maxTouchesFloat; + } + + protected virtual void drawRequireToFail() + { + EditorGUILayout.PropertyField(requireGestureToFail, REQUIRE_GESTURE_TO_FAIL); + } + + protected virtual void drawAdvanced() + { + drawLimitTouches(); + drawCombineTouches(); + drawSendMessage(); + drawRequireToFail(); + drawDebug(); + drawFriendlyGestures(); + } + + protected virtual void drawFriendlyGestures() + { + EditorGUI.BeginChangeCheck(); + var expanded = GUIElements.BeginFoldout(friendlyGestures.isExpanded, new GUIContent(string.Format("Friendly gestures ({0})", friendlyGestures.arraySize), TEXT_FRIENDLY_HEADER)); + if (EditorGUI.EndChangeCheck()) + { + friendlyGestures.isExpanded = expanded; + } + if (expanded) + { + GUILayout.BeginVertical(GUIElements.FoldoutStyle); + drawGestureList(friendlyGestures, addFriendlyGesture); + GUILayout.EndVertical(); + } + GUIElements.EndFoldout(); + } + + #region Gesture List + + private void drawGestureList(SerializedProperty prop, Action addGesture) + { + indexToRemove = -1; + friendlyGesturesList.DoLayoutList(); + + GUILayout.Space(9); + + Rect dropArea = GUILayoutUtility.GetRect(0.0f, 50.0f, GUIElements.BoxStyle, + GUILayout.ExpandWidth(true)); + GUI.Box(dropArea, "Drag a Gesture Here", GUIElements.BoxStyle); + switch (Event.current.type) + { + case EventType.DragUpdated: + if (dropArea.Contains(Event.current.mousePosition)) + DragAndDrop.visualMode = DragAndDropVisualMode.Copy; + break; + case EventType.DragPerform: + if (dropArea.Contains(Event.current.mousePosition)) + { + DragAndDrop.visualMode = DragAndDropVisualMode.Copy; + DragAndDrop.AcceptDrag(); + + foreach (UnityEngine.Object obj in DragAndDrop.objectReferences) + { + if (obj is GameObject) + { + var go = obj as GameObject; + Gesture[] gestures = go.GetComponents(); + foreach (Gesture gesture in gestures) + { + addGesture(prop, gesture); + } + } + else if (obj is Gesture) + { + addGesture(prop, obj as Gesture); + } + } + + Event.current.Use(); + } + break; + } + + if (indexToRemove > -1) + { + removeFriendlyGestureAt(prop, indexToRemove); + } + } + + private void addFriendlyGesture(SerializedProperty prop, Gesture value) + { + if (value == null || value == target) return; + + // Adding that gesture to this gesture. + var shouldAdd = true; + for (int i = 0; i < prop.arraySize; i++) + { + if (prop.GetArrayElementAtIndex(i).objectReferenceValue == value) + { + shouldAdd = false; + break; + } + } + + if (shouldAdd) + { + prop.arraySize++; + prop.GetArrayElementAtIndex(prop.arraySize - 1).objectReferenceValue = value; + } + + // Adding this gesture to that gesture. + shouldAdd = true; + var so = new SerializedObject(value); + so.Update(); + SerializedProperty p = so.FindProperty(FRIENDLY_GESTURES_PROP); + for (int i = 0; i < p.arraySize; i++) + { + if (p.GetArrayElementAtIndex(i).objectReferenceValue == target) + { + shouldAdd = false; + break; + } + } + + if (shouldAdd) + { + p.arraySize++; + p.GetArrayElementAtIndex(p.arraySize - 1).objectReferenceValue = target; + so.ApplyModifiedProperties(); + EditorUtility.SetDirty(value); + } + } + + private Gesture removeFriendlyGestureAt(SerializedProperty prop, int index) + { + // Removing that gesture from this gesture. + var gesture = prop.GetArrayElementAtIndex(index).objectReferenceValue as Gesture; + removeFromArray(prop, index); + + if (gesture == null) return null; + + // Removing this gesture from that gesture. + var so = new SerializedObject(gesture); + so.Update(); + SerializedProperty p = so.FindProperty(FRIENDLY_GESTURES_PROP); + for (int j = 0; j < p.arraySize; j++) + { + if (p.GetArrayElementAtIndex(j).objectReferenceValue == target) + { + removeFromArray(p, j); + break; + } + } + + so.ApplyModifiedProperties(); + EditorUtility.SetDirty(gesture); + + return gesture; + } + + // A hack to remove a gesture from a list. + // Was needed because array.DeleteArrayElementAtIndex() wasn't actually deleting an item. + private void removeFromArray(SerializedProperty array, int index) + { + if (index != array.arraySize - 1) + { + array.GetArrayElementAtIndex(index).objectReferenceValue = + array.GetArrayElementAtIndex(array.arraySize - 1).objectReferenceValue; + } + array.arraySize--; + } + + #endregion + } +} diff --git a/ThirdParty/TouchScript/Editor/Gestures/GestureEditor.cs.meta b/ThirdParty/TouchScript/Editor/Gestures/GestureEditor.cs.meta new file mode 100644 index 000000000..97d2effca --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Gestures/GestureEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ae4469bb607a64842a4d00aee505e8ec +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/Gestures/LongPressGestureEditor.cs b/ThirdParty/TouchScript/Editor/Gestures/LongPressGestureEditor.cs new file mode 100644 index 000000000..74ac0e849 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Gestures/LongPressGestureEditor.cs @@ -0,0 +1,45 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using TouchScript.Gestures; +using UnityEditor; +using UnityEngine; + +namespace TouchScript.Editor.Gestures +{ + [CustomEditor(typeof(LongPressGesture), true)] + internal sealed class LongPressGestureEditor : GestureEditor + { + private static readonly GUIContent TIME_TO_PRESS = new GUIContent("Time to Press (sec)", "Limit maximum number of simultaneous touch points."); + private static readonly GUIContent DISTANCE_LIMIT = new GUIContent("Limit Movement (cm)", "Gesture fails if fingers move more than cm."); + + private SerializedProperty distanceLimit; + private SerializedProperty timeToPress; + + protected override void OnEnable() + { + base.OnEnable(); + + timeToPress = serializedObject.FindProperty("timeToPress"); + distanceLimit = serializedObject.FindProperty("distanceLimit"); + } + + public override void OnInspectorGUI() + { + serializedObject.UpdateIfDirtyOrScript(); + + EditorGUILayout.PropertyField(timeToPress, TIME_TO_PRESS); + + serializedObject.ApplyModifiedProperties(); + base.OnInspectorGUI(); + } + + protected override void drawAdvanced() + { + EditorGUILayout.PropertyField(distanceLimit, DISTANCE_LIMIT); + + base.drawAdvanced(); + } + } +} diff --git a/ThirdParty/TouchScript/Editor/Gestures/LongPressGestureEditor.cs.meta b/ThirdParty/TouchScript/Editor/Gestures/LongPressGestureEditor.cs.meta new file mode 100644 index 000000000..b82f0da38 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Gestures/LongPressGestureEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 36027325105764b7b978c0b8e8059eaf +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/Gestures/PinnedTransformGestureEditor.cs b/ThirdParty/TouchScript/Editor/Gestures/PinnedTransformGestureEditor.cs new file mode 100644 index 000000000..3830971c6 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Gestures/PinnedTransformGestureEditor.cs @@ -0,0 +1,39 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using TouchScript.Editor.Gestures.Base; +using TouchScript.Gestures; +using UnityEditor; +using UnityEngine; + +namespace TouchScript.Editor.Gestures +{ + [CustomEditor(typeof(PinnedTransformGesture), true)] + internal class PinnedTransformGestureEditor : PinnedTransformGestureBaseEditor + { + private static readonly GUIContent PROJECTION = new GUIContent("Projection Type", "Method used to project 2d screen positions of touch points into 3d space."); + private static readonly GUIContent PROJECTION_NORMAL = new GUIContent("Projection Normal", "Normal of the plane in 3d space where touch points' positions are projected."); + + private SerializedProperty projection; + private SerializedProperty projectionPlaneNormal; + + protected override void OnEnable() + { + base.OnEnable(); + + projection = serializedObject.FindProperty("projection"); + projectionPlaneNormal = serializedObject.FindProperty("projectionPlaneNormal"); + } + + protected override void doInspectorGUI() + { + EditorGUILayout.PropertyField(projection, PROJECTION); + if (projection.enumValueIndex != (int)TransformGesture.ProjectionType.Layer) + { + EditorGUILayout.PropertyField(projectionPlaneNormal, PROJECTION_NORMAL); + } + } + + } +} diff --git a/ThirdParty/TouchScript/Editor/Gestures/PinnedTransformGestureEditor.cs.meta b/ThirdParty/TouchScript/Editor/Gestures/PinnedTransformGestureEditor.cs.meta new file mode 100644 index 000000000..572edf3f3 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Gestures/PinnedTransformGestureEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d721edb9d6d8748549ec079a57b79df0 +timeCreated: 1447582131 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/Gestures/PressGestureEditor.cs b/ThirdParty/TouchScript/Editor/Gestures/PressGestureEditor.cs new file mode 100644 index 000000000..1293e37c1 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Gestures/PressGestureEditor.cs @@ -0,0 +1,32 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using TouchScript.Gestures; +using UnityEditor; +using UnityEngine; + +namespace TouchScript.Editor.Gestures +{ + [CustomEditor(typeof(PressGesture), true)] + internal sealed class PressGestureEditor : GestureEditor + { + private static readonly GUIContent IGNORE_CHILDREN = new GUIContent("Ignore Children", "If selected this gesture ignores touch points from children."); + + private SerializedProperty ignoreChildren; + + protected override void OnEnable() + { + base.OnEnable(); + + ignoreChildren = serializedObject.FindProperty("ignoreChildren"); + } + + protected override void drawAdvanced() + { + EditorGUILayout.PropertyField(ignoreChildren, IGNORE_CHILDREN); + + base.drawAdvanced(); + } + } +} diff --git a/ThirdParty/TouchScript/Editor/Gestures/PressGestureEditor.cs.meta b/ThirdParty/TouchScript/Editor/Gestures/PressGestureEditor.cs.meta new file mode 100644 index 000000000..dfed44842 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Gestures/PressGestureEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 195a64932cddb476d903543a759d786e +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/Gestures/ReleaseGestureEditor.cs b/ThirdParty/TouchScript/Editor/Gestures/ReleaseGestureEditor.cs new file mode 100644 index 000000000..28b711f13 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Gestures/ReleaseGestureEditor.cs @@ -0,0 +1,32 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using TouchScript.Gestures; +using UnityEditor; +using UnityEngine; + +namespace TouchScript.Editor.Gestures +{ + [CustomEditor(typeof(ReleaseGesture), true)] + internal sealed class ReleaseGestureEditor : GestureEditor + { + private static readonly GUIContent IGNORE_CHILDREN = new GUIContent("Ignore Children", "If selected this gesture ignores touch points from children."); + + private SerializedProperty ignoreChildren; + + protected override void OnEnable() + { + base.OnEnable(); + + ignoreChildren = serializedObject.FindProperty("ignoreChildren"); + } + + protected override void drawAdvanced() + { + EditorGUILayout.PropertyField(ignoreChildren, IGNORE_CHILDREN); + + base.drawAdvanced(); + } + } +} diff --git a/ThirdParty/TouchScript/Editor/Gestures/ReleaseGestureEditor.cs.meta b/ThirdParty/TouchScript/Editor/Gestures/ReleaseGestureEditor.cs.meta new file mode 100644 index 000000000..fc2aa5873 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Gestures/ReleaseGestureEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c7e1387ffe85a4cdda62de924d7ab0be +timeCreated: 1447582131 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/Gestures/ScreenTransformGestureEditor.cs b/ThirdParty/TouchScript/Editor/Gestures/ScreenTransformGestureEditor.cs new file mode 100644 index 000000000..a00e1c8f0 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Gestures/ScreenTransformGestureEditor.cs @@ -0,0 +1,15 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using TouchScript.Editor.Gestures.Base; +using TouchScript.Gestures; +using UnityEditor; + +namespace TouchScript.Editor.Gestures +{ + [CustomEditor(typeof(ScreenTransformGesture), true)] + internal class ScreenTransformGestureEditor : TransformGestureBaseEditor + { + } +} diff --git a/ThirdParty/TouchScript/Editor/Gestures/ScreenTransformGestureEditor.cs.meta b/ThirdParty/TouchScript/Editor/Gestures/ScreenTransformGestureEditor.cs.meta new file mode 100644 index 000000000..55916e61b --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Gestures/ScreenTransformGestureEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 7078e7b2bcc744db9a94273d4be974a8 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/Gestures/TapGestureEditor.cs b/ThirdParty/TouchScript/Editor/Gestures/TapGestureEditor.cs new file mode 100644 index 000000000..3cf54b49e --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Gestures/TapGestureEditor.cs @@ -0,0 +1,53 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using TouchScript.Gestures; +using UnityEditor; +using UnityEngine; + +namespace TouchScript.Editor.Gestures +{ + [CustomEditor(typeof(TapGesture), true)] + internal sealed class TapGestureEditor : GestureEditor + { + private static readonly GUIContent TIME_LIMIT = new GUIContent("Limit Time (sec)", "Gesture fails if in seconds user didn't do the required number of taps."); + private static readonly GUIContent DISTANCE_LIMIT = new GUIContent("Limit Movement (cm)", "Gesture fails if taps are made more than cm away from the first touch position."); + private static readonly GUIContent NUMBER_OF_TAPS_REQUIRED = new GUIContent("Number of Taps Required", "Number of taps required for this gesture to be recognized."); + + private SerializedProperty numberOfTapsRequired; + private SerializedProperty distanceLimit; + private SerializedProperty timeLimit; + + protected override void OnEnable() + { + base.OnEnable(); + + numberOfTapsRequired = serializedObject.FindProperty("numberOfTapsRequired"); + timeLimit = serializedObject.FindProperty("timeLimit"); + distanceLimit = serializedObject.FindProperty("distanceLimit"); + + shouldDrawCombineTouches = true; + } + + public override void OnInspectorGUI() + { + serializedObject.UpdateIfDirtyOrScript(); + + EditorGUIUtility.labelWidth = 180; + EditorGUILayout.IntPopup(numberOfTapsRequired, new[] {new GUIContent("One"), new GUIContent("Two"), new GUIContent("Three")}, new[] {1, 2, 3}, NUMBER_OF_TAPS_REQUIRED, GUILayout.ExpandWidth(true)); + + serializedObject.ApplyModifiedProperties(); + base.OnInspectorGUI(); + } + + protected override void drawAdvanced() + { + EditorGUIUtility.labelWidth = 160; + EditorGUILayout.PropertyField(timeLimit, TIME_LIMIT); + EditorGUILayout.PropertyField(distanceLimit, DISTANCE_LIMIT); + + base.drawAdvanced(); + } + } +} diff --git a/ThirdParty/TouchScript/Editor/Gestures/TapGestureEditor.cs.meta b/ThirdParty/TouchScript/Editor/Gestures/TapGestureEditor.cs.meta new file mode 100644 index 000000000..3da0a2daa --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Gestures/TapGestureEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 5629e2a1e89ae402f81a9453febcbdd9 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/Gestures/TransformGestureEditor.cs b/ThirdParty/TouchScript/Editor/Gestures/TransformGestureEditor.cs new file mode 100644 index 000000000..2df7a88d5 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Gestures/TransformGestureEditor.cs @@ -0,0 +1,39 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using TouchScript.Editor.Gestures.Base; +using TouchScript.Gestures; +using UnityEditor; +using UnityEngine; + +namespace TouchScript.Editor.Gestures +{ + [CustomEditor(typeof(TransformGesture), true)] + internal class TransformGestureEditor : TransformGestureBaseEditor + { + private static readonly GUIContent PROJECTION = new GUIContent("Projection Type", "Method used to project 2d screen positions of touch points into 3d space."); + private static readonly GUIContent PROJECTION_NORMAL = new GUIContent("Projection Normal", "Normal of the plane in 3d space where touch points' positions are projected."); + + private SerializedProperty projection; + private SerializedProperty projectionPlaneNormal; + + protected override void OnEnable() + { + base.OnEnable(); + + projection = serializedObject.FindProperty("projection"); + projectionPlaneNormal = serializedObject.FindProperty("projectionPlaneNormal"); + } + + protected override void doInspectorGUI() + { + EditorGUILayout.PropertyField(projection, PROJECTION); + if (projection.enumValueIndex != (int)TransformGesture.ProjectionType.Layer) + { + EditorGUILayout.PropertyField(projectionPlaneNormal, PROJECTION_NORMAL); + } + } + + } +} diff --git a/ThirdParty/TouchScript/Editor/Gestures/TransformGestureEditor.cs.meta b/ThirdParty/TouchScript/Editor/Gestures/TransformGestureEditor.cs.meta new file mode 100644 index 000000000..ab5b67d9a --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Gestures/TransformGestureEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6395072af0bed4c5c89a6e0481c61e63 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/InputSources.meta b/ThirdParty/TouchScript/Editor/InputSources.meta new file mode 100644 index 000000000..058768d73 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/InputSources.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6a7cb655332e94e5ea0b3633c60a3135 +folderAsset: yes +timeCreated: 1447582128 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/InputSources/InputSourceEditor.cs b/ThirdParty/TouchScript/Editor/InputSources/InputSourceEditor.cs new file mode 100644 index 000000000..d358b2173 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/InputSources/InputSourceEditor.cs @@ -0,0 +1,41 @@ +using TouchScript.Editor.Utils; +using UnityEditor; +using UnityEngine; + +namespace TouchScript.Editor.InputSources +{ + public class InputSourceEditor : UnityEditor.Editor + { + private const string TEXT_ADVANCED_HEADER = "Advanced properties."; + + private SerializedProperty advanced; + + protected virtual void OnEnable() + { + advanced = serializedObject.FindProperty("advancedProps"); + } + + public override void OnInspectorGUI() + { + serializedObject.UpdateIfDirtyOrScript(); + + EditorGUI.BeginChangeCheck(); + var expanded = GUIElements.BeginFoldout(advanced.isExpanded, new GUIContent("Advanced", TEXT_ADVANCED_HEADER)); + if (EditorGUI.EndChangeCheck()) + { + advanced.isExpanded = expanded; + } + if (expanded) + { + GUILayout.BeginVertical(GUIElements.FoldoutStyle); + drawAdvanced(); + GUILayout.EndVertical(); + } + GUIElements.EndFoldout(); + + serializedObject.ApplyModifiedProperties(); + } + + protected virtual void drawAdvanced() {} + } +} diff --git a/ThirdParty/TouchScript/Editor/InputSources/InputSourceEditor.cs.meta b/ThirdParty/TouchScript/Editor/InputSources/InputSourceEditor.cs.meta new file mode 100644 index 000000000..05be09a07 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/InputSources/InputSourceEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: fd4c8249b12754612b72123e5bbada96 +timeCreated: 1447582131 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/InputSources/MobileInputEditor.cs b/ThirdParty/TouchScript/Editor/InputSources/MobileInputEditor.cs new file mode 100644 index 000000000..dca00d9a8 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/InputSources/MobileInputEditor.cs @@ -0,0 +1,39 @@ +using TouchScript.InputSources; +using UnityEditor; + +namespace TouchScript.Editor.InputSources +{ +#pragma warning disable 0618 + [CustomEditor(typeof (MobileInput), true)] +#pragma warning restore 0618 + internal sealed class MobileInputEditor : InputSourceEditor + { + private SerializedProperty tags; + private SerializedProperty disableOnNonTouchPlatforms; + + protected override void OnEnable() + { + base.OnEnable(); + + tags = serializedObject.FindProperty("Tags"); + disableOnNonTouchPlatforms = serializedObject.FindProperty("DisableOnNonTouchPlatforms"); + } + + public override void OnInspectorGUI() + { + serializedObject.UpdateIfDirtyOrScript(); + + EditorGUILayout.PropertyField(disableOnNonTouchPlatforms); + + serializedObject.ApplyModifiedProperties(); + base.OnInspectorGUI(); + } + + protected override void drawAdvanced() + { + EditorGUI.indentLevel++; + EditorGUILayout.PropertyField(tags); + EditorGUI.indentLevel--; + } + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Editor/InputSources/MobileInputEditor.cs.meta b/ThirdParty/TouchScript/Editor/InputSources/MobileInputEditor.cs.meta new file mode 100644 index 000000000..c7c046401 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/InputSources/MobileInputEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8fa81a2cd8d004ae49a1960cd7fa1862 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/InputSources/MouseInputEditor.cs b/ThirdParty/TouchScript/Editor/InputSources/MouseInputEditor.cs new file mode 100644 index 000000000..062e9a202 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/InputSources/MouseInputEditor.cs @@ -0,0 +1,39 @@ +using TouchScript.InputSources; +using UnityEditor; + +namespace TouchScript.Editor.InputSources +{ +#pragma warning disable 0618 + [CustomEditor(typeof(MouseInput), true)] +#pragma warning restore 0618 + internal sealed class MouseInputEditor : InputSourceEditor + { + private SerializedProperty tags; + private SerializedProperty disableOnMobilePlatforms; + + protected override void OnEnable() + { + base.OnEnable(); + + tags = serializedObject.FindProperty("Tags"); + disableOnMobilePlatforms = serializedObject.FindProperty("DisableOnMobilePlatforms"); + } + + public override void OnInspectorGUI() + { + serializedObject.UpdateIfDirtyOrScript(); + + EditorGUILayout.PropertyField(disableOnMobilePlatforms); + + serializedObject.ApplyModifiedProperties(); + base.OnInspectorGUI(); + } + + protected override void drawAdvanced() + { + EditorGUI.indentLevel++; + EditorGUILayout.PropertyField(tags); + EditorGUI.indentLevel--; + } + } +} diff --git a/ThirdParty/TouchScript/Editor/InputSources/MouseInputEditor.cs.meta b/ThirdParty/TouchScript/Editor/InputSources/MouseInputEditor.cs.meta new file mode 100644 index 000000000..f831d438d --- /dev/null +++ b/ThirdParty/TouchScript/Editor/InputSources/MouseInputEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2675434635a8a4b3dbdd6aef444c8ebe +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/InputSources/StandardInputEditor.cs b/ThirdParty/TouchScript/Editor/InputSources/StandardInputEditor.cs new file mode 100644 index 000000000..9daf62c5d --- /dev/null +++ b/ThirdParty/TouchScript/Editor/InputSources/StandardInputEditor.cs @@ -0,0 +1,58 @@ +using TouchScript.InputSources; +using UnityEditor; + +namespace TouchScript.Editor.InputSources +{ + [CustomEditor(typeof (StandardInput), true)] + internal sealed class StandardInputEditor : InputSourceEditor + { + private SerializedProperty touchTags, mouseTags, penTags; + + private SerializedProperty windows8Touch, + windows7Touch, + webPlayerTouch, + webGLTouch, + windows8Mouse, + windows7Mouse, + universalWindowsMouse; + + protected override void OnEnable() + { + base.OnEnable(); + + touchTags = serializedObject.FindProperty("TouchTags"); + mouseTags = serializedObject.FindProperty("MouseTags"); + penTags = serializedObject.FindProperty("PenTags"); + windows8Touch = serializedObject.FindProperty("Windows8Touch"); + windows7Touch = serializedObject.FindProperty("Windows7Touch"); + webPlayerTouch = serializedObject.FindProperty("WebPlayerTouch"); + webGLTouch = serializedObject.FindProperty("WebGLTouch"); + windows8Mouse = serializedObject.FindProperty("Windows8Mouse"); + windows7Mouse = serializedObject.FindProperty("Windows7Mouse"); + universalWindowsMouse = serializedObject.FindProperty("UniversalWindowsMouse"); + } + + public override void OnInspectorGUI() + { + serializedObject.UpdateIfDirtyOrScript(); + EditorGUILayout.PropertyField(windows8Touch); + EditorGUILayout.PropertyField(windows7Touch); + EditorGUILayout.PropertyField(webPlayerTouch); + EditorGUILayout.PropertyField(webGLTouch); + EditorGUILayout.PropertyField(windows8Mouse); + EditorGUILayout.PropertyField(windows7Mouse); + EditorGUILayout.PropertyField(universalWindowsMouse); + serializedObject.ApplyModifiedProperties(); + base.OnInspectorGUI(); + } + + protected override void drawAdvanced() + { + EditorGUI.indentLevel++; + EditorGUILayout.PropertyField(touchTags); + EditorGUILayout.PropertyField(mouseTags); + EditorGUILayout.PropertyField(penTags); + EditorGUI.indentLevel--; + } + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Editor/InputSources/StandardInputEditor.cs.meta b/ThirdParty/TouchScript/Editor/InputSources/StandardInputEditor.cs.meta new file mode 100644 index 000000000..4472171b9 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/InputSources/StandardInputEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8fe4d6210b46c447c85e1c99fb0552ee +timeCreated: 1448668582 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/Layers.meta b/ThirdParty/TouchScript/Editor/Layers.meta new file mode 100644 index 000000000..6485280f1 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Layers.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2657176f96b684b809538f8c5b749d45 +folderAsset: yes +timeCreated: 1447582128 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/Layers/CameraLayer2DEditor.cs b/ThirdParty/TouchScript/Editor/Layers/CameraLayer2DEditor.cs new file mode 100644 index 000000000..455248e2a --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Layers/CameraLayer2DEditor.cs @@ -0,0 +1,78 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System; +using System.Reflection; +using TouchScript.Layers; +using UnityEditor; +using UnityEngine; + +namespace TouchScript.Editor.Layers +{ + [CustomEditor(typeof(CameraLayer2D))] + internal sealed class CameraLayer2DEditor : UnityEditor.Editor + { + public const string TEXT_REBUILD = "Unity doesn't expose actual 2d layers sorting, so if you change 2d layers you must manually rebuild layers by pressing this button."; + + private SerializedProperty layerIds; + + private void OnEnable() + { + layerIds = serializedObject.FindProperty("layerIds"); + if (layerIds.arraySize == 0) rebuildSortingLayers(); + } + + public override void OnInspectorGUI() + { + base.OnInspectorGUI(); + + GUILayout.Space(10); + if (GUILayout.Button(new GUIContent("Update Sorting Layers", TEXT_REBUILD))) + { + rebuildSortingLayers(); + } + } + + private void rebuildSortingLayers() + { + var data = getSortingLayerIdsToSortOrder(); + layerIds.arraySize = data.Length; + for (var i = 0; i < data.Length; i++) + { + layerIds.GetArrayElementAtIndex(i).intValue = data[i]; + } + serializedObject.ApplyModifiedProperties(); + + Debug.Log("CameraLayer2D: sorting layer order was rebuilt."); + } + + // https://github.com/TouchScript/TouchScript/issues/60 + // Based on https://gist.github.com/stuartcarnie/8511903 + private static int[] getSortingLayerIdsToSortOrder() + { + var type = typeof(UnityEditorInternal.InternalEditorUtility); + + var getSortingLayerCount = type.GetMethod("GetSortingLayerCount", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic); + MethodInfo getSortingLayerUserID; + if (Application.unityVersion.StartsWith("4")) + { + getSortingLayerUserID = type.GetMethod("GetSortingLayerUserID", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic); + } + else + { + // was renamed in 5.0 + getSortingLayerUserID = type.GetMethod("GetSortingLayerUniqueID", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic); + } + + int count = (int)getSortingLayerCount.Invoke(null, null); + var layerIds = new int[count]; + for (int i = 0; i < count; i++) + { + layerIds[i] = (int)getSortingLayerUserID.Invoke(null, new object[] { i }); + } + + return layerIds; + } + } +} diff --git a/ThirdParty/TouchScript/Editor/Layers/CameraLayer2DEditor.cs.meta b/ThirdParty/TouchScript/Editor/Layers/CameraLayer2DEditor.cs.meta new file mode 100644 index 000000000..3f82b9ec1 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Layers/CameraLayer2DEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 63c78cda8eb1f4f188460aa97fc7e207 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/Layers/FullscreenLayerEditor.cs b/ThirdParty/TouchScript/Editor/Layers/FullscreenLayerEditor.cs new file mode 100644 index 000000000..1986c8492 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Layers/FullscreenLayerEditor.cs @@ -0,0 +1,47 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using TouchScript.Layers; +using UnityEditor; +using UnityEngine; + +namespace TouchScript.Editor.Layers +{ + [CustomEditor(typeof(FullscreenLayer))] + internal sealed class FullscreenLayerEditor : UnityEditor.Editor + { + private SerializedProperty type, camera; + private FullscreenLayer instance; + + private void OnEnable() + { + instance = target as FullscreenLayer; + + type = serializedObject.FindProperty("type"); + camera = serializedObject.FindProperty("_camera"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUI.BeginChangeCheck(); + EditorGUILayout.PropertyField(type); + if (EditorGUI.EndChangeCheck()) + { + instance.Type = (FullscreenLayer.LayerType)type.enumValueIndex; + } + + if (type.enumValueIndex == (int)FullscreenLayer.LayerType.Camera) + { + EditorGUI.BeginChangeCheck(); + EditorGUILayout.PropertyField(camera); + if (EditorGUI.EndChangeCheck()) + { + instance.Camera = camera.objectReferenceValue as Camera; + } + } + } + } +} diff --git a/ThirdParty/TouchScript/Editor/Layers/FullscreenLayerEditor.cs.meta b/ThirdParty/TouchScript/Editor/Layers/FullscreenLayerEditor.cs.meta new file mode 100644 index 000000000..99e14132c --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Layers/FullscreenLayerEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 342ab20b42be247d3b6df312e1a3607d +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/Layers/UILayerEditor.cs b/ThirdParty/TouchScript/Editor/Layers/UILayerEditor.cs new file mode 100644 index 000000000..300e32b23 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Layers/UILayerEditor.cs @@ -0,0 +1,21 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using TouchScript.Layers; +using UnityEditor; +using UnityEngine; + +namespace TouchScript.Editor.Layers +{ + [CustomEditor(typeof (UILayer))] + internal sealed class UILayerEditor : UnityEditor.Editor + { + private void OnEnable() {} + + public override void OnInspectorGUI() + { + base.OnInspectorGUI(); + } + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Editor/Layers/UILayerEditor.cs.meta b/ThirdParty/TouchScript/Editor/Layers/UILayerEditor.cs.meta new file mode 100644 index 000000000..b32e72109 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Layers/UILayerEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 7c765df6b51e243c189e129d8edc4a7b +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/TouchManagerEditor.cs b/ThirdParty/TouchScript/Editor/TouchManagerEditor.cs new file mode 100644 index 000000000..32d023582 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/TouchManagerEditor.cs @@ -0,0 +1,136 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System.Collections.Generic; +using System.Linq; +using TouchScript.Devices.Display; +using TouchScript.Layers; +using UnityEditor; +using UnityEditorInternal; +using UnityEngine; +using Object = UnityEngine.Object; + +namespace TouchScript.Editor +{ + [CustomEditor(typeof(TouchManager))] + internal sealed class TouchManagerEditor : UnityEditor.Editor + { + private static readonly GUIContent DISPLAY_DEVICE = new GUIContent("Display Device", "Display device properties where such parameters as target DPI are stored."); + private static readonly GUIContent CREATE_CAMERA_LAYER = new GUIContent("Create Camera Layer", "Indicates if TouchScript should create a CameraLayer for you if no layers present in a scene. This is usually a desired behavior but sometimes you would want to turn this off if you are using TouchScript only to get touch input from some device."); + private static readonly GUIContent CREATE_STANDARD_INPUT = new GUIContent("Create Standard Input", ""); + private static readonly GUIContent USE_SEND_MESSAGE = new GUIContent("Use SendMessage", "If you use UnityScript or prefer using Unity Messages you can turn them on with this option."); + private static readonly GUIContent SEND_MESSAGE_TARGET = new GUIContent("SendMessage Target", "The GameObject target of Unity Messages. If null, host GameObject is used."); + private static readonly GUIContent SEND_MESSAGE_EVENTS = new GUIContent("SendMessage Events", "Which events should be sent as Unity Messages."); + private static readonly GUIContent LAYERS_HEADER = new GUIContent("Touch Layers", "Sorted array of Touch Layers in the scene."); + + private TouchManager instance; + private ReorderableList layersList; + private SerializedProperty layers, displayDevice, shouldCreateCameraLayer, shouldCreateStandardInput, useSendMessage, sendMessageTarget, sendMessageEvents; + + private void OnEnable() + { + instance = target as TouchManager; + layers = serializedObject.FindProperty("layers"); + displayDevice = serializedObject.FindProperty("displayDevice"); + shouldCreateCameraLayer = serializedObject.FindProperty("shouldCreateCameraLayer"); + shouldCreateStandardInput = serializedObject.FindProperty("shouldCreateStandardInput"); + useSendMessage = serializedObject.FindProperty("useSendMessage"); + sendMessageTarget = serializedObject.FindProperty("sendMessageTarget"); + sendMessageEvents = serializedObject.FindProperty("sendMessageEvents"); + + refresh(); + + layersList = new ReorderableList(serializedObject, layers, true, true, false, false); + layersList.drawHeaderCallback += rect => GUI.Label(rect, LAYERS_HEADER); + layersList.drawElementCallback += (rect, index, active, focused) => + { + rect.height = 16; + rect.y += 2; + if (index >= layers.arraySize) return; + var layer = layers.GetArrayElementAtIndex(index).objectReferenceValue as TouchLayer; + if (layer == null) + { + EditorGUI.LabelField(rect, "null"); + return; + } + EditorGUI.LabelField(rect, layer.Name); + }; + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + var r = EditorGUILayout.GetControlRect(true, 16f, EditorStyles.objectField); + var label = EditorGUI.BeginProperty(r, DISPLAY_DEVICE, displayDevice); + EditorGUI.BeginChangeCheck(); + r = EditorGUI.PrefixLabel(r, label); + var newDevice = EditorGUI.ObjectField(r, instance.DisplayDevice as Object, typeof(IDisplayDevice), true) as IDisplayDevice; + if (EditorGUI.EndChangeCheck()) + { + instance.DisplayDevice = newDevice; + EditorUtility.SetDirty(instance); + } + EditorGUI.EndProperty(); + + if (Application.isPlaying) GUI.enabled = false; + EditorGUILayout.PropertyField(shouldCreateCameraLayer, CREATE_CAMERA_LAYER); + EditorGUILayout.PropertyField(shouldCreateStandardInput, CREATE_STANDARD_INPUT); + GUI.enabled = true; + + EditorGUIUtility.labelWidth = 160; + EditorGUILayout.PropertyField(useSendMessage, USE_SEND_MESSAGE); + if (useSendMessage.boolValue) + { + EditorGUILayout.PropertyField(sendMessageTarget, SEND_MESSAGE_TARGET); + + r = EditorGUILayout.GetControlRect(true, 16f, EditorStyles.layerMaskField); + label = EditorGUI.BeginProperty(r, SEND_MESSAGE_EVENTS, sendMessageEvents); + EditorGUI.BeginChangeCheck(); + r = EditorGUI.PrefixLabel(r, label); + var sMask = (TouchManager.MessageType)EditorGUI.EnumMaskField(r, instance.SendMessageEvents); + if (EditorGUI.EndChangeCheck()) + { + instance.SendMessageEvents = sMask; + EditorUtility.SetDirty(instance); + } + EditorGUI.EndProperty(); + } + + if (Application.isPlaying) GUI.enabled = false; + + layersList.DoLayoutList(); + + GUI.enabled = true; + serializedObject.ApplyModifiedProperties(); + } + + private void refresh() + { + var allLayers = FindObjectsOfType(typeof(TouchLayer)).Cast().ToList(); + var toRemove = new List(); + for (var i = 0; i < layers.arraySize; i++) + { + var layer = layers.GetArrayElementAtIndex(i).objectReferenceValue as TouchLayer; + if (layer == null || allLayers.IndexOf(layer) == -1) toRemove.Add(i); + else allLayers.Remove(layer); + } + + for (var i = toRemove.Count - 1; i >= 0; i--) + { + var index = toRemove[i]; + layers.GetArrayElementAtIndex(index).objectReferenceValue = null; + layers.DeleteArrayElementAtIndex(index); + } + + for (var i = 0; i < allLayers.Count; i++) + { + layers.arraySize++; + layers.GetArrayElementAtIndex(layers.arraySize - 1).objectReferenceValue = allLayers[i]; + } + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/ThirdParty/TouchScript/Editor/TouchManagerEditor.cs.meta b/ThirdParty/TouchScript/Editor/TouchManagerEditor.cs.meta new file mode 100644 index 000000000..54d4d1326 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/TouchManagerEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f3dba9dd8cd8c43b491b010ac13c04cf +timeCreated: 1447582131 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/TouchScript.Editor.dll b/ThirdParty/TouchScript/Editor/TouchScript.Editor.dll deleted file mode 100644 index 836ba505a..000000000 Binary files a/ThirdParty/TouchScript/Editor/TouchScript.Editor.dll and /dev/null differ diff --git a/ThirdParty/TouchScript/Editor/TouchScript.Editor.dll.meta b/ThirdParty/TouchScript/Editor/TouchScript.Editor.dll.meta deleted file mode 100644 index c66c04b0e..000000000 --- a/ThirdParty/TouchScript/Editor/TouchScript.Editor.dll.meta +++ /dev/null @@ -1,22 +0,0 @@ -fileFormatVersion: 2 -guid: aa83d1ea05edf8748af6cae5aed422e4 -PluginImporter: - serializedVersion: 1 - iconMap: {} - executionOrder: {} - isPreloaded: 0 - platformData: - Any: - enabled: 0 - settings: {} - Editor: - enabled: 1 - settings: - DefaultValueInitialized: true - WindowsStoreApps: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/TouchScript.TUIO.Editor.dll b/ThirdParty/TouchScript/Editor/TouchScript.TUIO.Editor.dll deleted file mode 100644 index 4a5175f57..000000000 Binary files a/ThirdParty/TouchScript/Editor/TouchScript.TUIO.Editor.dll and /dev/null differ diff --git a/ThirdParty/TouchScript/Editor/TouchScript.Windows.Editor.dll b/ThirdParty/TouchScript/Editor/TouchScript.Windows.Editor.dll deleted file mode 100644 index 668920bf6..000000000 Binary files a/ThirdParty/TouchScript/Editor/TouchScript.Windows.Editor.dll and /dev/null differ diff --git a/ThirdParty/TouchScript/Editor/TouchScript.Windows.Editor.dll.meta b/ThirdParty/TouchScript/Editor/TouchScript.Windows.Editor.dll.meta deleted file mode 100644 index ea527f67b..000000000 --- a/ThirdParty/TouchScript/Editor/TouchScript.Windows.Editor.dll.meta +++ /dev/null @@ -1,22 +0,0 @@ -fileFormatVersion: 2 -guid: 576a115d7f56e455bb8d6f867d56abdf -PluginImporter: - serializedVersion: 1 - iconMap: {} - executionOrder: {} - isPreloaded: 0 - platformData: - Any: - enabled: 0 - settings: {} - Editor: - enabled: 1 - settings: - DefaultValueInitialized: true - WindowsStoreApps: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/Utils.meta b/ThirdParty/TouchScript/Editor/Utils.meta new file mode 100644 index 000000000..6d367cc55 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Utils.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b03a72ef98b8042dea6e409c3979567e +folderAsset: yes +timeCreated: 1447582128 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/Utils/GUIElements.cs b/ThirdParty/TouchScript/Editor/Utils/GUIElements.cs new file mode 100644 index 000000000..1e680ed6a --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Utils/GUIElements.cs @@ -0,0 +1,66 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using UnityEngine; + +namespace TouchScript.Editor.Utils +{ + internal static class GUIElements + { + public static GUIStyle BoxStyle + { + get { return boxStyle; } + } + + public static GUIStyle BoxLabelStyle + { + get { return boxLabelStyle; } + } + + public static GUIStyle FoldoutStyle + { + get { return foldoutStyle; } + } + + public static GUIStyle HeaderStyle + { + get { return foldoutStyle; } + } + + private static GUIStyle boxStyle, boxLabelStyle; + private static GUIStyle foldoutStyle, headerStyle; + + static GUIElements() + { + boxStyle = new GUIStyle(GUI.skin.box); + boxStyle.margin = new RectOffset(0, 0, 1, 0); + boxStyle.padding = new RectOffset(0, 0, 0, 0); + boxStyle.contentOffset = new Vector2(0, 0); + boxStyle.normal.textColor = GUI.skin.label.normal.textColor; + boxStyle.alignment = TextAnchor.MiddleCenter; + + boxLabelStyle = new GUIStyle(GUI.skin.label); + boxLabelStyle.fontSize = 9; + boxLabelStyle.padding = new RectOffset(0, 0, 5, 0); + + foldoutStyle = new GUIStyle(GUI.skin.FindStyle("ShurikenModuleBg")); + foldoutStyle.padding = new RectOffset(10, 10, 10, 10); + + headerStyle = new GUIStyle(GUI.skin.FindStyle("ShurikenModuleTitle")); + headerStyle.contentOffset = new Vector2(3, -2); + } + + public static bool BeginFoldout(bool open, GUIContent header) + { + GUILayout.BeginVertical("ShurikenEffectBg", GUILayout.MinHeight(16f)); + + return GUI.Toggle(GUILayoutUtility.GetRect(0, 16), open, header, headerStyle); + } + + public static void EndFoldout() + { + GUILayout.EndVertical(); + } + } +} diff --git a/ThirdParty/TouchScript/Editor/Utils/GUIElements.cs.meta b/ThirdParty/TouchScript/Editor/Utils/GUIElements.cs.meta new file mode 100644 index 000000000..96963eaa6 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Utils/GUIElements.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 41044f63d9ffc4867a0cab8a7a893dbe +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/Utils/PropertyDrawers.meta b/ThirdParty/TouchScript/Editor/Utils/PropertyDrawers.meta new file mode 100644 index 000000000..22edc0881 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Utils/PropertyDrawers.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ae73a074ceffa4960804d2403f831251 +folderAsset: yes +timeCreated: 1447582128 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/Utils/PropertyDrawers/NullToggleDrawer.cs b/ThirdParty/TouchScript/Editor/Utils/PropertyDrawers/NullToggleDrawer.cs new file mode 100644 index 000000000..e5ac4f26a --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Utils/PropertyDrawers/NullToggleDrawer.cs @@ -0,0 +1,180 @@ +using TouchScript.Utils.Attributes; +using UnityEditor; +using UnityEngine; + +namespace TouchScript.Editor.Utils.PropertyDrawers +{ + [CustomPropertyDrawer(typeof(NullToggleAttribute))] + internal sealed class NullToggleDrawer : PropertyDrawer + { + private bool? expanded = null; + + public override float GetPropertyHeight(SerializedProperty property, GUIContent label) + { + updateExpanded(property); + if (expanded == false) return 16; + if (property.propertyType == SerializedPropertyType.ObjectReference && property.objectReferenceValue != null) return 16 * 3 + 2 * 2; + return 16 * 2 + 2; + } + + public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) + { + updateExpanded(property); + + EditorGUIUtility.labelWidth = 60; + Begin(position, property, label); + if (expanded == false) + { + switch (property.propertyType) + { + case SerializedPropertyType.ObjectReference: + property.objectReferenceValue = (Object)getNullValue(property); + break; + case SerializedPropertyType.Integer: + property.intValue = (int)getNullValue(property); + break; + case SerializedPropertyType.Float: + property.floatValue = (float)getNullValue(property); + break; + } + } + else + { + EditorGUI.BeginChangeCheck(); + EditorGUI.LabelField(new Rect(position.x + 14, position.y + 18, 40, 16), new GUIContent("Value", label.tooltip)); + position = new Rect(position.x + 54, position.y + 18, position.width - 54, 16); + switch (property.propertyType) + { + case SerializedPropertyType.ObjectReference: + var objValue = EditorGUI.ObjectField(position, GUIContent.none, property.objectReferenceValue, fieldInfo.FieldType, true); + if (EditorGUI.EndChangeCheck()) property.objectReferenceValue = objValue; + if (objValue != null) + { + position.y += 18; + position.width -= 18; + EditorGUI.LabelField(position, string.Format("of type {0}", objValue.GetType().Name), GUI.skin.FindStyle("ShurikenModuleTitle")); + } + break; + case SerializedPropertyType.Integer: + int intValue = EditorGUI.IntField(position, GUIContent.none, property.intValue); + if (EditorGUI.EndChangeCheck()) property.intValue = intValue; + break; + case SerializedPropertyType.Float: + float floatValue = EditorGUI.FloatField(position, GUIContent.none, property.floatValue); + if (EditorGUI.EndChangeCheck()) property.floatValue = floatValue; + break; + } + } + End(); + + + // case SerializedPropertyType.Float: + // { + // EditorGUI.BeginChangeCheck(); + // float floatValue = EditorGUI.FloatField(position, label, property.floatValue); + // if (EditorGUI.EndChangeCheck()) + // { + // property.floatValue = floatValue; + // } + // break; + // } + // case SerializedPropertyType.String: + // { + // EditorGUI.BeginChangeCheck(); + // string stringValue = EditorGUI.TextField(position, label, property.stringValue); + // if (EditorGUI.EndChangeCheck()) + // { + // property.stringValue = stringValue; + // } + // break; + // } + // case SerializedPropertyType.Color: + // { + // EditorGUI.BeginChangeCheck(); + // Color colorValue = EditorGUI.ColorField(position, label, property.colorValue); + // if (EditorGUI.EndChangeCheck()) + // { + // property.colorValue = colorValue; + // } + // break; + // } + // case SerializedPropertyType.LayerMask: + // EditorGUI.LayerMaskField(position, property, label); + // break; + // case SerializedPropertyType.Enum: + // EditorGUI.Popup(position, property, label); + // break; + // case SerializedPropertyType.Vector2: + // EditorGUI.Vector2Field(position, property, label); + // break; + // case SerializedPropertyType.Vector3: + // EditorGUI.Vector3Field(position, property, label); + // break; + // case SerializedPropertyType.Rect: + // EditorGUI.RectField(position, property, label); + // break; + // case SerializedPropertyType.AnimationCurve: + // { + // int controlID = GUIUtility.GetControlID(EditorGUI.s_CurveHash, EditorGUIUtility.native, position); + // EditorGUI.DoCurveField(EditorGUI.PrefixLabel(position, controlID, label), controlID, null, EditorGUI.kCurveColor, default(Rect), property); + // break; + // } + // case SerializedPropertyType.Bounds: + // EditorGUI.BoundsField(position, property, label); + // break; + // case SerializedPropertyType.Gradient: + // { + // int controlID2 = GUIUtility.GetControlID(EditorGUI.s_CurveHash, EditorGUIUtility.native, position); + // EditorGUI.DoGradientField(EditorGUI.PrefixLabel(position, controlID2, label), controlID2, null, property); + // break; + // } + } + + private void Begin(Rect position, SerializedProperty property, GUIContent label) + { + label = EditorGUI.BeginProperty(position, label, property); + position.height = 16; + expanded = EditorGUI.ToggleLeft(position, label, expanded == true); + } + + private void End() + { + EditorGUI.EndProperty(); + } + + private void updateExpanded(SerializedProperty property) + { + if (expanded != null) return; + expanded = !isNull(property); + } + + private bool isNull(SerializedProperty property) + { + switch (property.propertyType) + { + case SerializedPropertyType.ObjectReference: + return ReferenceEquals(property.objectReferenceValue, getNullValue(property)); + case SerializedPropertyType.Integer: + return property.intValue == (int)getNullValue(property); + case SerializedPropertyType.Float: + return property.floatValue == (float)getNullValue(property); + } + return false; + } + + private object getNullValue(SerializedProperty property) + { + var attr = attribute as NullToggleAttribute; + switch (property.propertyType) + { + case SerializedPropertyType.ObjectReference: + return attr.NullObjectValue; + case SerializedPropertyType.Integer: + return attr.NullIntValue; + case SerializedPropertyType.Float: + return attr.NullFloatValue; + } + return null; + } + } +} diff --git a/ThirdParty/TouchScript/Editor/Utils/PropertyDrawers/NullToggleDrawer.cs.meta b/ThirdParty/TouchScript/Editor/Utils/PropertyDrawers/NullToggleDrawer.cs.meta new file mode 100644 index 000000000..16d7fe86e --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Utils/PropertyDrawers/NullToggleDrawer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f6ddc10419e484026a3460a6c9518387 +timeCreated: 1447582131 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/Utils/PropertyDrawers/TagsDrawer.cs b/ThirdParty/TouchScript/Editor/Utils/PropertyDrawers/TagsDrawer.cs new file mode 100644 index 000000000..592b077e7 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Utils/PropertyDrawers/TagsDrawer.cs @@ -0,0 +1,39 @@ +using UnityEditor; +using UnityEditorInternal; +using UnityEngine; + +namespace TouchScript.Editor.Utils.PropertyDrawers +{ + [CustomPropertyDrawer(typeof(Tags))] + internal sealed class TagsDrawer : PropertyDrawer + { + private ReorderableList list; + + public override float GetPropertyHeight(SerializedProperty property, GUIContent label) + { + if (list == null) initList(property, label); + + return list.GetHeight(); + } + + public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) + { + if (list == null) initList(property, label); + + list.serializedProperty = property.FindPropertyRelative("tagList"); + list.DoList(position); + } + + private void initList(SerializedProperty property, GUIContent label) + { + list = new ReorderableList(property.serializedObject, property.FindPropertyRelative("tagList"), false, true, true, true); + list.drawHeaderCallback += rect => GUI.Label(rect, label); + list.drawElementCallback += (rect, index, active, focused) => + { + rect.height = 16; + rect.y += 2; + EditorGUI.PropertyField(rect, list.serializedProperty.GetArrayElementAtIndex(index), GUIContent.none); + }; + } + } +} diff --git a/ThirdParty/TouchScript/Editor/Utils/PropertyDrawers/TagsDrawer.cs.meta b/ThirdParty/TouchScript/Editor/Utils/PropertyDrawers/TagsDrawer.cs.meta new file mode 100644 index 000000000..513e13c05 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Utils/PropertyDrawers/TagsDrawer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e373603907e744048b209e3b7bc5e268 +timeCreated: 1447582131 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Editor/Utils/PropertyDrawers/ToggleLeftDrawer.cs b/ThirdParty/TouchScript/Editor/Utils/PropertyDrawers/ToggleLeftDrawer.cs new file mode 100644 index 000000000..18f86b140 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Utils/PropertyDrawers/ToggleLeftDrawer.cs @@ -0,0 +1,22 @@ +using TouchScript.Utils.Attributes; +using UnityEditor; +using UnityEngine; + +namespace TouchScript.Editor.Utils.PropertyDrawers +{ + [CustomPropertyDrawer(typeof(ToggleLeftAttribute))] + internal sealed class ToggleLeftDrawer : PropertyDrawer + { + public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) + { + label = EditorGUI.BeginProperty(position, label, property); + EditorGUI.BeginChangeCheck(); + var boolValue = EditorGUI.ToggleLeft(position, label, property.boolValue); + if (EditorGUI.EndChangeCheck()) + { + property.boolValue = boolValue; + } + EditorGUI.EndProperty(); + } + } +} diff --git a/ThirdParty/TouchScript/Editor/Utils/PropertyDrawers/ToggleLeftDrawer.cs.meta b/ThirdParty/TouchScript/Editor/Utils/PropertyDrawers/ToggleLeftDrawer.cs.meta new file mode 100644 index 000000000..6dd1a11f4 --- /dev/null +++ b/ThirdParty/TouchScript/Editor/Utils/PropertyDrawers/ToggleLeftDrawer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3340d3e5c29c545d9b943193e9ac5b3e +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples.meta b/ThirdParty/TouchScript/Examples.meta deleted file mode 100644 index 096e54dbc..000000000 --- a/ThirdParty/TouchScript/Examples.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 0447d89cb17d741b093a09f8c1a41503 -folderAsset: yes -timeCreated: 1445027516 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/Examples.unity b/ThirdParty/TouchScript/Examples/Examples.unity deleted file mode 100644 index 3ece86d82..000000000 --- a/ThirdParty/TouchScript/Examples/Examples.unity +++ /dev/null @@ -1,933 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!29 &1 -SceneSettings: - m_ObjectHideFlags: 0 - m_PVSData: - m_PVSObjectsArray: [] - m_PVSPortalsArray: [] - m_OcclusionBakeSettings: - smallestOccluder: 5 - smallestHole: .25 - backfaceThreshold: 100 ---- !u!104 &2 -RenderSettings: - m_Fog: 0 - m_FogColor: {r: .5, g: .5, b: .5, a: 1} - m_FogMode: 3 - m_FogDensity: .00999999978 - m_LinearFogStart: 0 - m_LinearFogEnd: 300 - m_AmbientLight: {r: .200000003, g: .200000003, b: .200000003, a: 1} - m_SkyboxMaterial: {fileID: 2100000, guid: a07fadb24ea940240afba3afc1a692cc, type: 2} - m_HaloStrength: .5 - m_FlareStrength: 1 - m_FlareFadeSpeed: 3 - m_HaloTexture: {fileID: 0} - m_SpotCookie: {fileID: 0} - m_ObjectHideFlags: 0 ---- !u!127 &3 -LevelGameManager: - m_ObjectHideFlags: 0 ---- !u!157 &4 -LightmapSettings: - m_ObjectHideFlags: 0 - m_LightProbes: {fileID: 0} - m_Lightmaps: [] - m_LightmapsMode: 1 - m_BakedColorSpace: 0 - m_UseDualLightmapsInForward: 0 - m_LightmapEditorSettings: - m_Resolution: 50 - m_LastUsedResolution: 0 - m_TextureWidth: 1024 - m_TextureHeight: 1024 - m_BounceBoost: 1 - m_BounceIntensity: 1 - m_SkyLightColor: {r: .860000014, g: .930000007, b: 1, a: 1} - m_SkyLightIntensity: 0 - m_Quality: 0 - m_Bounces: 1 - m_FinalGatherRays: 1000 - m_FinalGatherContrastThreshold: .0500000007 - m_FinalGatherGradientThreshold: 0 - m_FinalGatherInterpolationPoints: 15 - m_AOAmount: 0 - m_AOMaxDistance: .100000001 - m_AOContrast: 1 - m_LODSurfaceMappingDistance: 1 - m_Padding: 0 - m_TextureCompression: 0 - m_LockAtlas: 0 ---- !u!196 &5 -NavMeshSettings: - m_ObjectHideFlags: 0 - m_BuildSettings: - agentRadius: .5 - agentHeight: 2 - agentSlope: 45 - agentClimb: .400000006 - ledgeDropHeight: 0 - maxJumpAcrossDistance: 0 - accuratePlacement: 0 - minRegionArea: 2 - widthInaccuracy: 16.666666 - heightInaccuracy: 10 - tileSizeHint: 0 - m_NavMesh: {fileID: 0} ---- !u!1 &62216951 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 62216952} - - 20: {fileID: 62216957} - - 92: {fileID: 62216956} - - 124: {fileID: 62216955} - - 81: {fileID: 62216954} - m_Layer: 0 - m_Name: Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!4 &62216952 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 2 ---- !u!81 &62216954 -AudioListener: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 ---- !u!124 &62216955 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 ---- !u!92 &62216956 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 ---- !u!20 &62216957 -Camera: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1} - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: .300000012 - far clip plane: 1000 - field of view: 30 - orthographic: 0 - orthographic size: 100 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_HDR: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: .0219999999 ---- !u!1 &174295520 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 174295523} - - 114: {fileID: 174295522} - - 114: {fileID: 174295521} - m_Layer: 0 - m_Name: EventSystem - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &174295521 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 174295520} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -839872303, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - horizontalAxis: Horizontal - verticalAxis: Vertical - submitButton: Submit - cancelButton: Cancel - inputActionsPerSecond: 10 - repeatDelay: .5 ---- !u!114 &174295522 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 174295520} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_FirstSelected: {fileID: 0} - m_sendNavigationEvents: 1 - m_DragThreshold: 5 ---- !u!4 &174295523 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 174295520} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1654745587} - m_RootOrder: 0 ---- !u!1 &309713870 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 309713871} - - 222: {fileID: 309713874} - - 114: {fileID: 309713873} - - 114: {fileID: 309713872} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &309713871 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 309713870} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1.63333333, y: 1.63333333, z: 1.63333333} - m_Children: [] - m_Father: {fileID: 1402896514} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: -405.204102, y: -304} - m_Pivot: {x: .5, y: .5} ---- !u!114 &309713872 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 309713870} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -900027084, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 1} - m_EffectDistance: {x: 2, y: 2} - m_UseGraphicAlpha: 1 ---- !u!114 &309713873 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 309713870} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 53 - m_FontStyle: 0 - m_BestFit: 1 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 4 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: Make sure that you add example scenes to build settings! ---- !u!222 &309713874 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 309713870} ---- !u!1001 &671893194 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 11400000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: layers.Array.size - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_RootOrder - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 11400000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: layers.Array.data[0] - value: - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - m_RootGameObject: {fileID: 1324806696} - m_IsPrefabParent: 0 - m_IsExploded: 1 ---- !u!1 &740851131 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 740851132} - - 223: {fileID: 740851135} - - 114: {fileID: 740851134} - - 114: {fileID: 740851133} - m_Layer: 5 - m_Name: Canvas - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &740851132 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0, y: 0, z: 0} - m_Children: - - {fileID: 1412835668} - m_Father: {fileID: 1654745587} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0, y: 0} ---- !u!114 &740851133 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreReversedGraphics: 1 - m_BlockingObjects: 0 - m_BlockingMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!114 &740851134 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UiScaleMode: 1 - m_ReferencePixelsPerUnit: 100 - m_ScaleFactor: 1 - m_ReferenceResolution: {x: 640, y: 480} - m_ScreenMatchMode: 0 - m_MatchWidthOrHeight: 1 - m_PhysicalUnit: 3 - m_FallbackScreenDPI: 96 - m_DefaultSpriteDPI: 96 - m_DynamicPixelsPerUnit: 1 ---- !u!223 &740851135 -Canvas: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_Enabled: 1 - serializedVersion: 2 - m_RenderMode: 0 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingLayerID: 0 - m_SortingOrder: 9001 ---- !u!1 &906624104 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 100000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - m_PrefabInternal: {fileID: 671893194} - serializedVersion: 4 - m_Component: - - 4: {fileID: 906624105} - - 114: {fileID: 906624106} - - 114: {fileID: 906624107} - m_Layer: 0 - m_Name: Inputs - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &906624105 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 400000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - m_PrefabInternal: {fileID: 671893194} - m_GameObject: {fileID: 906624104} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1324806698} - m_RootOrder: 0 ---- !u!114 &906624106 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 11400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, - type: 2} - m_PrefabInternal: {fileID: 671893194} - m_GameObject: {fileID: 906624104} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -102971247, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - DisableOnMobilePlatforms: 1 - Tags: - tagList: - - Mouse ---- !u!114 &906624107 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 11400004, guid: 1c4dd8a13f501b04f84fe824120f70bb, - type: 2} - m_PrefabInternal: {fileID: 671893194} - m_GameObject: {fileID: 906624104} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 770742126, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - DisableOnNonTouchPlatforms: 1 - Tags: - tagList: - - Touch ---- !u!1 &1324806696 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 100002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - m_PrefabInternal: {fileID: 671893194} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1324806698} - - 114: {fileID: 1324806697} - m_Layer: 0 - m_Name: TouchScript - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1324806697 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 11400000, guid: 1c4dd8a13f501b04f84fe824120f70bb, - type: 2} - m_PrefabInternal: {fileID: 671893194} - m_GameObject: {fileID: 1324806696} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -409488130, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - displayDevice: {fileID: 0} - shouldCreateCameraLayer: 1 - useSendMessage: 0 - sendMessageEvents: 60 - sendMessageTarget: {fileID: 0} - layers: [] ---- !u!4 &1324806698 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - m_PrefabInternal: {fileID: 671893194} - m_GameObject: {fileID: 1324806696} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 906624105} - m_Father: {fileID: 0} - m_RootOrder: 3 ---- !u!1 &1402896513 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1402896514} - - 223: {fileID: 1402896517} - - 114: {fileID: 1402896516} - - 114: {fileID: 1402896515} - m_Layer: 5 - m_Name: Canvas - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1402896514 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1402896513} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0, y: 0, z: 0} - m_Children: - - {fileID: 309713871} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0, y: 0} ---- !u!114 &1402896515 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1402896513} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreReversedGraphics: 1 - m_BlockingObjects: 0 - m_BlockingMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!114 &1402896516 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1402896513} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UiScaleMode: 0 - m_ReferencePixelsPerUnit: 100 - m_ScaleFactor: 1 - m_ReferenceResolution: {x: 800, y: 600} - m_ScreenMatchMode: 0 - m_MatchWidthOrHeight: 0 - m_PhysicalUnit: 3 - m_FallbackScreenDPI: 96 - m_DefaultSpriteDPI: 96 - m_DynamicPixelsPerUnit: 1 ---- !u!223 &1402896517 -Canvas: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1402896513} - m_Enabled: 1 - serializedVersion: 2 - m_RenderMode: 0 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!1 &1412835664 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1412835668} - - 222: {fileID: 1412835667} - - 114: {fileID: 1412835666} - - 114: {fileID: 1412835665} - m_Layer: 5 - m_Name: Button - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1412835665 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1412835664} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 0 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1} - m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1} - m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} - m_ColorMultiplier: 1 - m_FadeDuration: .100000001 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 1412835666} - m_OnClick: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 1654745588} - m_MethodName: LoadNextLevel - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine, Version=0.0.0.0, - Culture=neutral, PublicKeyToken=null - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 - m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, - Culture=neutral, PublicKeyToken=null ---- !u!114 &1412835666 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1412835664} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_Sprite: {fileID: 21300000, guid: c9526d00e23c94f788b5b0e8833d5941, type: 3} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &1412835667 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1412835664} ---- !u!224 &1412835668 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1412835664} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1487808224} - m_Father: {fileID: 740851132} - m_RootOrder: 0 - m_AnchorMin: {x: 1, y: 0} - m_AnchorMax: {x: 1, y: 0} - m_AnchoredPosition: {x: -4, y: 4} - m_SizeDelta: {x: 120, y: 40} - m_Pivot: {x: 1, y: 0} ---- !u!1 &1487808223 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1487808224} - - 222: {fileID: 1487808226} - - 114: {fileID: 1487808225} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1487808224 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1487808223} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1412835668} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1487808225 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1487808223} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 12 - m_FontStyle: 1 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 4 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: NEXT EXAMPLE ---- !u!222 &1487808226 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1487808223} ---- !u!1 &1654745586 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1654745587} - - 114: {fileID: 1654745588} - m_Layer: 0 - m_Name: Examples - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1654745587 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1654745586} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 174295523} - - {fileID: 740851132} - m_Father: {fileID: 0} - m_RootOrder: 4 ---- !u!114 &1654745588 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1654745586} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5d0145ec13410624f9b2939e5d5a99be, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!1001 &1772227325 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 11400000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - propertyPath: m_Enabled - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 100000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - m_RootGameObject: {fileID: 2144056002} - m_IsPrefabParent: 0 - m_IsExploded: 1 ---- !u!1 &2144056002 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 100000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - m_PrefabInternal: {fileID: 1772227325} - serializedVersion: 4 - m_Component: - - 4: {fileID: 2144056004} - - 114: {fileID: 2144056003} - m_Layer: 0 - m_Name: Touch Debugger - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &2144056003 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 11400000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, - type: 2} - m_PrefabInternal: {fileID: 1772227325} - m_GameObject: {fileID: 2144056002} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 923107734, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - showTouchId: 1 - showTags: 0 - texture: {fileID: 2800000, guid: f5c75ed8c6bed0f489d9003aa739aff7, type: 3} - useDPI: 1 - touchSize: 1 - fontColor: {r: 0, g: 1, b: 1, a: 1} ---- !u!4 &2144056004 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 400000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - m_PrefabInternal: {fileID: 1772227325} - m_GameObject: {fileID: 2144056002} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 1 diff --git a/ThirdParty/TouchScript/Examples/Examples.unity.meta b/ThirdParty/TouchScript/Examples/Examples.unity.meta deleted file mode 100644 index abb77bd0c..000000000 --- a/ThirdParty/TouchScript/Examples/Examples.unity.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 7cba6bf72365a4167930fec2f6f39b74 -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General.meta b/ThirdParty/TouchScript/Examples/General.meta deleted file mode 100644 index 4ba0e785c..000000000 --- a/ThirdParty/TouchScript/Examples/General.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: a448e59aa1547c94cac64b0e0108caca -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Camera.meta b/ThirdParty/TouchScript/Examples/General/Camera.meta deleted file mode 100644 index 1f053c230..000000000 --- a/ThirdParty/TouchScript/Examples/General/Camera.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 7b6c1fab7bf53408f8cd4957ed8cdfcf -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Camera/Camera.unity b/ThirdParty/TouchScript/Examples/General/Camera/Camera.unity deleted file mode 100644 index 14d6601b8..000000000 --- a/ThirdParty/TouchScript/Examples/General/Camera/Camera.unity +++ /dev/null @@ -1,1739 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!29 &1 -SceneSettings: - m_ObjectHideFlags: 0 - m_PVSData: - m_PVSObjectsArray: [] - m_PVSPortalsArray: [] - m_OcclusionBakeSettings: - smallestOccluder: 5 - smallestHole: .25 - backfaceThreshold: 100 ---- !u!104 &2 -RenderSettings: - m_ObjectHideFlags: 0 - serializedVersion: 6 - m_Fog: 0 - m_FogColor: {r: .5, g: .5, b: .5, a: 1} - m_FogMode: 3 - m_FogDensity: .00999999978 - m_LinearFogStart: 0 - m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} - m_AmbientEquatorColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} - m_AmbientGroundColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} - m_AmbientIntensity: 1 - m_AmbientMode: 3 - m_SkyboxMaterial: {fileID: 2100000, guid: a07fadb24ea940240afba3afc1a692cc, type: 2} - m_HaloStrength: .5 - m_FlareStrength: 1 - m_FlareFadeSpeed: 3 - m_HaloTexture: {fileID: 0} - m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} - m_DefaultReflectionMode: 0 - m_DefaultReflectionResolution: 128 - m_ReflectionBounces: 1 - m_ReflectionIntensity: 1 - m_CustomReflection: {fileID: 0} - m_Sun: {fileID: 0} ---- !u!157 &4 -LightmapSettings: - m_ObjectHideFlags: 0 - serializedVersion: 5 - m_GIWorkflowMode: 1 - m_LightmapsMode: 1 - m_GISettings: - serializedVersion: 2 - m_BounceScale: 1 - m_IndirectOutputScale: 1 - m_AlbedoBoost: 1 - m_TemporalCoherenceThreshold: 1 - m_EnvironmentLightingMode: 0 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 0 - m_LightmapEditorSettings: - serializedVersion: 3 - m_Resolution: 1 - m_BakeResolution: 50 - m_TextureWidth: 1024 - m_TextureHeight: 1024 - m_AOMaxDistance: 1 - m_Padding: 2 - m_CompAOExponent: 0 - m_LightmapParameters: {fileID: 0} - m_TextureCompression: 0 - m_FinalGather: 0 - m_FinalGatherRayCount: 1024 - m_ReflectionCompression: 2 - m_LightmapSnapshot: {fileID: 0} - m_RuntimeCPUUsage: 25 ---- !u!196 &5 -NavMeshSettings: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_BuildSettings: - serializedVersion: 2 - agentRadius: .5 - agentHeight: 2 - agentSlope: 45 - agentClimb: .400000006 - ledgeDropHeight: 0 - maxJumpAcrossDistance: 0 - accuratePlacement: 0 - minRegionArea: 2 - cellSize: .166666657 - manualCellSize: 0 - m_NavMeshData: {fileID: 0} ---- !u!1 &62216951 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 62216952} - - 20: {fileID: 62216957} - - 92: {fileID: 62216956} - - 124: {fileID: 62216955} - - 81: {fileID: 62216954} - m_Layer: 0 - m_Name: Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &62216952 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -11.6400003} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1462230477} - m_RootOrder: 0 ---- !u!81 &62216954 -AudioListener: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 ---- !u!124 &62216955 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 ---- !u!92 &62216956 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 ---- !u!20 &62216957 -Camera: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1} - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: .300000012 - far clip plane: 1000 - field of view: 30 - orthographic: 0 - orthographic size: 100 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: .0219999999 - m_StereoMirrorMode: 0 ---- !u!1 &139543607 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 139543608} - - 114: {fileID: 139543609} - m_Layer: 5 - m_Name: Rotate - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &139543608 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 139543607} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 746517019} - - {fileID: 567050690} - m_Father: {fileID: 250857271} - m_RootOrder: 3 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &139543609 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 139543607} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: 60 - m_PreferredWidth: -1 - m_PreferredHeight: 60 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 ---- !u!1 &242343085 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 242343086} - - 222: {fileID: 242343088} - - 114: {fileID: 242343087} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &242343086 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 242343085} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1962593004} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 31, y: 0} - m_SizeDelta: {x: 60, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &242343087 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 242343085} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 4d2e9d1d9030140608b540e419744612, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &242343088 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 242343085} ---- !u!1 &250857269 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 250857271} - - 114: {fileID: 250857270} - m_Layer: 5 - m_Name: List - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &250857270 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 250857269} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_ChildAlignment: 0 - m_Spacing: 0 - m_ChildForceExpandWidth: 1 - m_ChildForceExpandHeight: 0 ---- !u!224 &250857271 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 250857269} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1679844150} - - {fileID: 624081475} - - {fileID: 1962593004} - - {fileID: 139543608} - m_Father: {fileID: 1981142013} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!1 &567050689 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 567050690} - - 222: {fileID: 567050692} - - 114: {fileID: 567050691} - - 114: {fileID: 567050693} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &567050690 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 567050689} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 139543608} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 177.5, y: 0} - m_SizeDelta: {x: 204.699997, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &567050691 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 567050689} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 3 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: 'Rotate with 2 fingers - - or ALT + Mouse - - to rotate around Z axis' ---- !u!222 &567050692 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 567050689} ---- !u!114 &567050693 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 567050689} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 1} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!1 &624081474 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 624081475} - - 114: {fileID: 624081476} - m_Layer: 5 - m_Name: Drag - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &624081475 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 624081474} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1541924794} - - {fileID: 1713463340} - m_Father: {fileID: 250857271} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &624081476 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 624081474} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: 60 - m_PreferredWidth: -1 - m_PreferredHeight: 60 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 ---- !u!1001 &671893194 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 11400000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: layers.Array.size - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_RootOrder - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 11400000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: layers.Array.data[0] - value: - objectReference: {fileID: 930800605} - - target: {fileID: 11400004, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_Enabled - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 11400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_Enabled - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 11400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: DisableOnMobilePlatforms - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 11400004, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: DisableOnNonTouchPlatforms - value: 1 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &740851131 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 740851132} - - 223: {fileID: 740851135} - - 114: {fileID: 740851134} - - 114: {fileID: 740851133} - m_Layer: 5 - m_Name: Canvas - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &740851132 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0, y: 0, z: 0} - m_Children: - - {fileID: 1981142013} - - {fileID: 1552723601} - m_Father: {fileID: 0} - m_RootOrder: 3 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0, y: 0} ---- !u!114 &740851133 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreReversedGraphics: 1 - m_BlockingObjects: 0 - m_BlockingMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!114 &740851134 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UiScaleMode: 1 - m_ReferencePixelsPerUnit: 100 - m_ScaleFactor: 1 - m_ReferenceResolution: {x: 640, y: 480} - m_ScreenMatchMode: 0 - m_MatchWidthOrHeight: 1 - m_PhysicalUnit: 3 - m_FallbackScreenDPI: 96 - m_DefaultSpriteDPI: 96 - m_DynamicPixelsPerUnit: 1 ---- !u!223 &740851135 -Canvas: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_Enabled: 1 - serializedVersion: 2 - m_RenderMode: 0 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!1 &746517018 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 746517019} - - 222: {fileID: 746517021} - - 114: {fileID: 746517020} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &746517019 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 746517018} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 139543608} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 31, y: 0} - m_SizeDelta: {x: 60, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &746517020 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 746517018} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: a4d8406d5f5c04e2399bbfa832e5c551, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &746517021 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 746517018} ---- !u!1 &906624104 stripped -GameObject: - m_PrefabParentObject: {fileID: 100000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - m_PrefabInternal: {fileID: 671893194} ---- !u!114 &906624105 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 906624104} - m_Enabled: 0 - m_EditorHideFlags: 0 - m_Script: {fileID: 175516946, guid: bb6056dc800c1084da7273cb9f23f5cb, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - TouchTags: - tagList: - - Touch - MouseTags: - tagList: - - Mouse - PenTags: - tagList: - - Pen ---- !u!114 &906624109 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 906624104} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1496140412, guid: bb6056dc800c1084da7273cb9f23f5cb, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - DisableMouseInputInBuilds: 1 - Tags: - tagList: - - Touch ---- !u!1 &930800600 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 930800601} - - 54: {fileID: 930800603} - - 114: {fileID: 930800605} - - 114: {fileID: 930800604} - - 114: {fileID: 930800602} - - 114: {fileID: 930800606} - m_Layer: 0 - m_Name: Scene - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &930800601 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 930800600} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 2135305920} - - {fileID: 1462230477} - - {fileID: 2072767614} - m_Father: {fileID: 0} - m_RootOrder: 1 ---- !u!114 &930800602 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 930800600} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 681217450, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 7 - minScreenPointsDistance: .5 - screenTransformThreshold: .200000003 ---- !u!54 &930800603 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 930800600} - serializedVersion: 2 - m_Mass: 1 - m_Drag: 0 - m_AngularDrag: .0500000007 - m_UseGravity: 0 - m_IsKinematic: 1 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!114 &930800604 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 930800600} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b5f2ff2a908224e94b8dde12c7b83c3d, type: 3} - m_Name: - m_EditorClassIdentifier: - TwoFingerMoveGesture: {fileID: 930800606} - ManipulationGesture: {fileID: 930800602} - PanSpeed: .0199999996 - RotationSpeed: 200 - ZoomSpeed: 10 - camTarget: {fileID: 0} ---- !u!114 &930800605 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 930800600} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1780265814, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - Name: Global Fullscreen - type: 2 - _camera: {fileID: 0} ---- !u!114 &930800606 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 930800600} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 681217450, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 2 - maxTouches: 2 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 1 - minScreenPointsDistance: .5 - screenTransformThreshold: .0500000007 ---- !u!1 &1138005899 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1138005900} - - 222: {fileID: 1138005902} - - 114: {fileID: 1138005901} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1138005900 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1138005899} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1679844150} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 31, y: 0} - m_SizeDelta: {x: 60, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1138005901 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1138005899} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 71e59d6fec0b04b60acf6cad4b860a39, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &1138005902 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1138005899} ---- !u!1 &1399100003 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1399100004} - - 222: {fileID: 1399100006} - - 114: {fileID: 1399100005} - - 114: {fileID: 1399100007} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1399100004 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1399100003} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1962593004} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 177.5, y: 0} - m_SizeDelta: {x: 204.699997, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1399100005 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1399100003} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 3 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: Pinch to zoom ---- !u!222 &1399100006 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1399100003} ---- !u!114 &1399100007 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1399100003} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 1} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!1 &1408280580 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1408280581} - - 222: {fileID: 1408280583} - - 114: {fileID: 1408280582} - - 114: {fileID: 1408280584} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1408280581 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408280580} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1679844150} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 177.5, y: 0} - m_SizeDelta: {x: 204.699997, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1408280582 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408280580} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 3 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: 'Drag using 1 or 3+ fingers - - to rotate the camera' ---- !u!222 &1408280583 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408280580} ---- !u!114 &1408280584 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408280580} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 1} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!1 &1462230476 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1462230477} - m_Layer: 0 - m_Name: Pivot - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1462230477 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1462230476} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 62216952} - m_Father: {fileID: 930800601} - m_RootOrder: 1 ---- !u!1 &1541924793 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1541924794} - - 222: {fileID: 1541924796} - - 114: {fileID: 1541924795} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1541924794 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1541924793} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 624081475} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 31, y: 0} - m_SizeDelta: {x: 60, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1541924795 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1541924793} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 824649cf4fd7146d49f62f76f683801a, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &1541924796 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1541924793} ---- !u!1 &1552723600 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1552723601} - - 222: {fileID: 1552723603} - - 114: {fileID: 1552723602} - - 114: {fileID: 1552723604} - m_Layer: 5 - m_Name: Description - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1552723601 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1552723600} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 740851132} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 156, y: 78} - m_SizeDelta: {x: 276, y: 128} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1552723602 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1552723600} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: 'Camera orbit - - - This example shows how to use TransformGesture to make a camera which can orbit - and move around an object. - - - Check the script on Scene/Pivot.' ---- !u!222 &1552723603 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1552723600} ---- !u!114 &1552723604 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1552723600} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 1} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!1 &1679844149 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1679844150} - - 114: {fileID: 1679844151} - m_Layer: 5 - m_Name: Drag - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1679844150 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1679844149} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1138005900} - - {fileID: 1408280581} - m_Father: {fileID: 250857271} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1679844151 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1679844149} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: 60 - m_PreferredWidth: -1 - m_PreferredHeight: 60 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 ---- !u!1 &1713463339 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1713463340} - - 222: {fileID: 1713463343} - - 114: {fileID: 1713463342} - - 114: {fileID: 1713463341} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1713463340 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1713463339} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 624081475} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 177.5, y: 0} - m_SizeDelta: {x: 204.699997, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1713463341 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1713463339} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 1} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!114 &1713463342 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1713463339} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 3 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: "Drag using 2 fingers \nto move the camera" ---- !u!222 &1713463343 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1713463339} ---- !u!1 &1764701046 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1764701050} - - 114: {fileID: 1764701049} - m_Layer: 0 - m_Name: EventSystem - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1764701049 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1764701046} - m_Enabled: 0 - m_EditorHideFlags: 0 - m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_FirstSelected: {fileID: 0} - m_sendNavigationEvents: 1 - m_DragThreshold: 5 ---- !u!4 &1764701050 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1764701046} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 4 ---- !u!1001 &1772227325 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 11400000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - propertyPath: m_Enabled - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 100000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &1962593003 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1962593004} - - 114: {fileID: 1962593005} - m_Layer: 5 - m_Name: Zoom - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1962593004 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1962593003} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 242343086} - - {fileID: 1399100004} - m_Father: {fileID: 250857271} - m_RootOrder: 2 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1962593005 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1962593003} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: 60 - m_PreferredWidth: -1 - m_PreferredHeight: 60 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 ---- !u!1 &1981142012 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1981142013} - m_Layer: 5 - m_Name: Panel - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1981142013 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1981142012} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 250857271} - m_Father: {fileID: 740851132} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: .252637833, y: 1} - m_AnchoredPosition: {x: 5, y: 50} - m_SizeDelta: {x: -10, y: -120} - m_Pivot: {x: .5, y: .5} ---- !u!1 &2072767610 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 2072767614} - - 33: {fileID: 2072767613} - - 135: {fileID: 2072767612} - - 23: {fileID: 2072767611} - m_Layer: 0 - m_Name: Earth - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!23 &2072767611 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2072767610} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_Materials: - - {fileID: 2100000, guid: 6e379d1ec9f5fd949891068175de34fe, type: 2} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 - m_ProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_ImportantGI: 0 - m_AutoUVMaxDistance: .5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!135 &2072767612 -SphereCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2072767610} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Radius: .5 - m_Center: {x: 0, y: 0, z: 0} ---- !u!33 &2072767613 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2072767610} - m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &2072767614 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2072767610} - m_LocalRotation: {x: -.0799503922, y: .910241425, z: -.208807573, w: .348522633} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 4.29649591, y: 4.29649305, z: 4.29649305} - m_Children: [] - m_Father: {fileID: 930800601} - m_RootOrder: 2 ---- !u!1 &2135305919 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 2135305920} - - 108: {fileID: 2135305921} - m_Layer: 0 - m_Name: Directional light - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2135305920 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2135305919} - m_LocalRotation: {x: .329245895, y: -.19317472, z: .128770933, w: .915258884} - m_LocalPosition: {x: 6.10041475, y: 15.5403843, z: -20.5662251} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 930800601} - m_RootOrder: 0 ---- !u!108 &2135305921 -Light: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2135305919} - m_Enabled: 1 - serializedVersion: 6 - m_Type: 1 - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_Intensity: 1.29999995 - m_Range: 10 - m_SpotAngle: 30 - m_CookieSize: 10 - m_Shadows: - m_Type: 1 - m_Resolution: 3 - m_Strength: .185000002 - m_Bias: .100000001 - m_NormalBias: .400000006 - m_Cookie: {fileID: 0} - m_DrawHalo: 0 - m_Flare: {fileID: 0} - m_RenderMode: 0 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_Lightmapping: 1 - m_BounceIntensity: 1 - m_ShadowRadius: 0 - m_ShadowAngle: 0 - m_AreaSize: {x: 1, y: 1} diff --git a/ThirdParty/TouchScript/Examples/General/Camera/Camera.unity.meta b/ThirdParty/TouchScript/Examples/General/Camera/Camera.unity.meta deleted file mode 100644 index 52c332c96..000000000 --- a/ThirdParty/TouchScript/Examples/General/Camera/Camera.unity.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 9bc4a96ba8ead427ab54f883160abc15 -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Camera/Scripts/CameraController.cs b/ThirdParty/TouchScript/Examples/General/Camera/Scripts/CameraController.cs deleted file mode 100644 index 2d00cc7df..000000000 --- a/ThirdParty/TouchScript/Examples/General/Camera/Scripts/CameraController.cs +++ /dev/null @@ -1,52 +0,0 @@ -using UnityEngine; -using System.Collections; -using TouchScript.Gestures; - -namespace TouchScript.Examples.CameraControl -{ - public class CameraController : MonoBehaviour - { - public ScreenTransformGesture TwoFingerMoveGesture; - public ScreenTransformGesture ManipulationGesture; - public float PanSpeed = 200f; - public float RotationSpeed = 200f; - public float ZoomSpeed = 10f; - public GameObject camTarget; - - private Transform pivot; - private Transform cam; - - private void Awake() - { - pivot = transform.Find("Pivot"); - cam = transform.Find("Pivot/Camera"); - } - - private void OnEnable() - { - TwoFingerMoveGesture.Transformed += twoFingerTransformHandler; - ManipulationGesture.Transformed += manipulationTransformedHandler; - } - - private void OnDisable() - { - TwoFingerMoveGesture.Transformed -= twoFingerTransformHandler; - ManipulationGesture.Transformed -= manipulationTransformedHandler; - } - - private void manipulationTransformedHandler(object sender, System.EventArgs e) - { - var rotation = Quaternion.Euler(ManipulationGesture.DeltaPosition.y / Screen.height * RotationSpeed, - -ManipulationGesture.DeltaPosition.x / Screen.width * RotationSpeed, - ManipulationGesture.DeltaRotation); - pivot.rotation *= rotation; - //cam.LookAt (camTarget.transform.position); - cam.transform.localPosition += Vector3.forward * (ManipulationGesture.DeltaScale - 1) * ZoomSpeed; - } - - private void twoFingerTransformHandler(object sender, System.EventArgs e) - { - pivot.localPosition += pivot.rotation * TwoFingerMoveGesture.DeltaPosition * PanSpeed; - } - } -} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Examples/General/Checkers.meta b/ThirdParty/TouchScript/Examples/General/Checkers.meta deleted file mode 100644 index f2fec1ae0..000000000 --- a/ThirdParty/TouchScript/Examples/General/Checkers.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: d1d16ca2033414c7bbbb10c80670aea0 -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Checkers/Checkers.unity b/ThirdParty/TouchScript/Examples/General/Checkers/Checkers.unity deleted file mode 100644 index d3d55cb3c..000000000 --- a/ThirdParty/TouchScript/Examples/General/Checkers/Checkers.unity +++ /dev/null @@ -1,2111 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!29 &1 -SceneSettings: - m_ObjectHideFlags: 0 - m_PVSData: - m_PVSObjectsArray: [] - m_PVSPortalsArray: [] - m_OcclusionBakeSettings: - smallestOccluder: 5 - smallestHole: .25 - backfaceThreshold: 100 ---- !u!104 &2 -RenderSettings: - m_ObjectHideFlags: 0 - serializedVersion: 6 - m_Fog: 0 - m_FogColor: {r: .5, g: .5, b: .5, a: 1} - m_FogMode: 3 - m_FogDensity: .00999999978 - m_LinearFogStart: 0 - m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} - m_AmbientEquatorColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} - m_AmbientGroundColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} - m_AmbientIntensity: 1 - m_AmbientMode: 3 - m_SkyboxMaterial: {fileID: 2100000, guid: a07fadb24ea940240afba3afc1a692cc, type: 2} - m_HaloStrength: .5 - m_FlareStrength: 1 - m_FlareFadeSpeed: 3 - m_HaloTexture: {fileID: 0} - m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} - m_DefaultReflectionMode: 0 - m_DefaultReflectionResolution: 128 - m_ReflectionBounces: 1 - m_ReflectionIntensity: 1 - m_CustomReflection: {fileID: 0} - m_Sun: {fileID: 0} ---- !u!157 &4 -LightmapSettings: - m_ObjectHideFlags: 0 - serializedVersion: 5 - m_GIWorkflowMode: 1 - m_LightmapsMode: 1 - m_GISettings: - serializedVersion: 2 - m_BounceScale: 1 - m_IndirectOutputScale: 1 - m_AlbedoBoost: 1 - m_TemporalCoherenceThreshold: 1 - m_EnvironmentLightingMode: 0 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 0 - m_LightmapEditorSettings: - serializedVersion: 3 - m_Resolution: 1 - m_BakeResolution: 50 - m_TextureWidth: 1024 - m_TextureHeight: 1024 - m_AOMaxDistance: 1 - m_Padding: 2 - m_CompAOExponent: 0 - m_LightmapParameters: {fileID: 0} - m_TextureCompression: 0 - m_FinalGather: 0 - m_FinalGatherRayCount: 1024 - m_ReflectionCompression: 2 - m_LightmapSnapshot: {fileID: 0} - m_RuntimeCPUUsage: 25 ---- !u!196 &5 -NavMeshSettings: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_BuildSettings: - serializedVersion: 2 - agentRadius: .5 - agentHeight: 2 - agentSlope: 45 - agentClimb: .400000006 - ledgeDropHeight: 0 - maxJumpAcrossDistance: 0 - accuratePlacement: 0 - minRegionArea: 2 - cellSize: .166666657 - manualCellSize: 0 - m_NavMeshData: {fileID: 0} ---- !u!1 &62216951 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 62216952} - - 20: {fileID: 62216957} - - 92: {fileID: 62216956} - - 124: {fileID: 62216955} - - 81: {fileID: 62216954} - m_Layer: 0 - m_Name: Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &62216952 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_LocalRotation: {x: .269457936, y: 0, z: 0, w: .963012159} - m_LocalPosition: {x: -1.11000001, y: 12, z: -20.5799999} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 930800601} - m_RootOrder: 1 ---- !u!81 &62216954 -AudioListener: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 ---- !u!124 &62216955 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 ---- !u!92 &62216956 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 ---- !u!20 &62216957 -Camera: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1} - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: .300000012 - far clip plane: 40 - field of view: 30 - orthographic: 0 - orthographic size: 100 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: .0219999999 - m_StereoMirrorMode: 0 ---- !u!1001 &102000011 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 2130344072} - m_Modifications: - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.x - value: -3.50999999 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.y - value: .200000003 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.z - value: -3.53999996 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_RootOrder - value: 1 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - m_IsPrefabParent: 0 ---- !u!4 &235575575 stripped -Transform: - m_PrefabParentObject: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - m_PrefabInternal: {fileID: 1975095845} ---- !u!1 &242343085 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 242343086} - - 222: {fileID: 242343088} - - 114: {fileID: 242343087} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &242343086 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 242343085} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1962593004} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 31, y: 0} - m_SizeDelta: {x: 60, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &242343087 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 242343085} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 71e59d6fec0b04b60acf6cad4b860a39, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &242343088 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 242343085} ---- !u!1 &250857269 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 250857271} - - 114: {fileID: 250857270} - m_Layer: 5 - m_Name: List - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &250857270 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 250857269} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_ChildAlignment: 0 - m_Spacing: 0 - m_ChildForceExpandWidth: 1 - m_ChildForceExpandHeight: 0 ---- !u!224 &250857271 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 250857269} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1679844150} - - {fileID: 1962593004} - m_Father: {fileID: 1981142013} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!1001 &455061222 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 930800601} - m_Modifications: - - target: {fileID: 419514, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 419514, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 419514, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 419514, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 419514, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 419514, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 419514, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 419514, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - propertyPath: m_RootOrder - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 6519510, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - propertyPath: m_Size.y - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6519510, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - propertyPath: m_Center.y - value: -.5 - objectReference: {fileID: 0} - - target: {fileID: 419512, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - propertyPath: m_LocalPosition.y - value: -.101000004 - objectReference: {fileID: 0} - m_RemovedComponents: - - {fileID: 6519510, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - - {fileID: 5419510, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - m_ParentPrefab: {fileID: 100100000, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - m_IsPrefabParent: 0 ---- !u!4 &503145950 stripped -Transform: - m_PrefabParentObject: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - m_PrefabInternal: {fileID: 1973376682} ---- !u!4 &511902458 stripped -Transform: - m_PrefabParentObject: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - m_PrefabInternal: {fileID: 1766364327} ---- !u!1001 &543251036 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 11400000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: layers.Array.size - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 11400000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: layers.Array.data[0] - value: - objectReference: {fileID: 0} - - target: {fileID: 11400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_Enabled - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 11400004, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_Enabled - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - m_IsPrefabParent: 0 ---- !u!4 &584553677 stripped -Transform: - m_PrefabParentObject: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - m_PrefabInternal: {fileID: 599866430} ---- !u!1001 &599866430 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 930800601} - m_Modifications: - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalPosition.x - value: -.0399999991 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalPosition.y - value: -12.9700003 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalPosition.z - value: .25999999 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalRotation.y - value: .360566735 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalRotation.w - value: .932733476 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_RootOrder - value: 3 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalScale.x - value: 17 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalScale.y - value: 17 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalScale.z - value: 17 - objectReference: {fileID: 0} - m_RemovedComponents: - - {fileID: 9500000, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - m_ParentPrefab: {fileID: 100100000, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - m_IsPrefabParent: 0 ---- !u!1001 &690687408 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 2130344072} - m_Modifications: - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.x - value: 1.50999999 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.y - value: .200000003 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.z - value: 3.53999996 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_RootOrder - value: 3 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &721853795 stripped -GameObject: - m_PrefabParentObject: {fileID: 100006, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - m_PrefabInternal: {fileID: 599866430} ---- !u!64 &721853799 -MeshCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 721853795} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Convex: 1 - m_Mesh: {fileID: 4300006, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} ---- !u!1 &740851131 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 740851132} - - 223: {fileID: 740851135} - - 114: {fileID: 740851134} - - 114: {fileID: 740851133} - m_Layer: 5 - m_Name: Canvas - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &740851132 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0, y: 0, z: 0} - m_Children: - - {fileID: 1981142013} - - {fileID: 1552723601} - m_Father: {fileID: 0} - m_RootOrder: 3 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0, y: 0} ---- !u!114 &740851133 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreReversedGraphics: 1 - m_BlockingObjects: 0 - m_BlockingMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!114 &740851134 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UiScaleMode: 1 - m_ReferencePixelsPerUnit: 100 - m_ScaleFactor: 1 - m_ReferenceResolution: {x: 640, y: 480} - m_ScreenMatchMode: 0 - m_MatchWidthOrHeight: 1 - m_PhysicalUnit: 3 - m_FallbackScreenDPI: 96 - m_DefaultSpriteDPI: 96 - m_DynamicPixelsPerUnit: 1 ---- !u!223 &740851135 -Canvas: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_Enabled: 1 - serializedVersion: 2 - m_RenderMode: 0 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!1001 &746500663 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 2130344072} - m_Modifications: - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.x - value: 1.52999997 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.y - value: .200000003 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.z - value: -2.5 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_RootOrder - value: 13 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - m_IsPrefabParent: 0 ---- !u!4 &812972186 stripped -Transform: - m_PrefabParentObject: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - m_PrefabInternal: {fileID: 102000011} ---- !u!1001 &813591731 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 2130344072} - m_Modifications: - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.x - value: -3.45000005 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.y - value: .200000003 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.z - value: 2.50999999 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_RootOrder - value: 8 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - m_IsPrefabParent: 0 ---- !u!4 &868514750 stripped -Transform: - m_PrefabParentObject: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - m_PrefabInternal: {fileID: 1065738468} ---- !u!1 &906624104 stripped -GameObject: - m_PrefabParentObject: {fileID: 100000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - m_PrefabInternal: {fileID: 543251036} ---- !u!114 &906624105 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 906624104} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 175516946, guid: bb6056dc800c1084da7273cb9f23f5cb, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - TouchTags: - tagList: - - Touch - MouseTags: - tagList: - - Mouse - PenTags: - tagList: - - Pen ---- !u!114 &906624106 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 906624104} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1496140412, guid: bb6056dc800c1084da7273cb9f23f5cb, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - DisableMouseInputInBuilds: 1 - Tags: - tagList: - - Touch ---- !u!4 &909269353 stripped -Transform: - m_PrefabParentObject: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - m_PrefabInternal: {fileID: 997919739} ---- !u!1001 &912356309 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 2130344072} - m_Modifications: - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.x - value: 3.52999997 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.y - value: .200000003 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.z - value: 3.53999996 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_RootOrder - value: 4 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &930800600 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 930800601} - m_Layer: 0 - m_Name: Scene - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &930800601 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 930800600} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 2135305920} - - {fileID: 62216952} - - {fileID: 2027571738} - - {fileID: 584553677} - m_Father: {fileID: 0} - m_RootOrder: 2 ---- !u!1001 &995508551 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 2130344072} - m_Modifications: - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.x - value: -2.47300005 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.y - value: .200000003 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.z - value: 3.54399991 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_RootOrder - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - m_IsPrefabParent: 0 ---- !u!1001 &997919739 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 2130344072} - m_Modifications: - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.x - value: 3.52999997 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.y - value: .200000003 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.z - value: -2.5 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_RootOrder - value: 12 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - m_IsPrefabParent: 0 ---- !u!1001 &1065738468 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 2130344072} - m_Modifications: - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.x - value: -.469999999 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.y - value: .200000003 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.z - value: 3.53999996 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_RootOrder - value: 2 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &1138005899 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1138005900} - - 222: {fileID: 1138005902} - - 114: {fileID: 1138005901} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1138005900 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1138005899} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1679844150} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 31, y: 0} - m_SizeDelta: {x: 60, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1138005901 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1138005899} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 71e59d6fec0b04b60acf6cad4b860a39, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &1138005902 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1138005899} ---- !u!4 &1140064800 stripped -Transform: - m_PrefabParentObject: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - m_PrefabInternal: {fileID: 1242757937} ---- !u!4 &1172386710 stripped -Transform: - m_PrefabParentObject: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - m_PrefabInternal: {fileID: 813591731} ---- !u!1001 &1242757937 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 2130344072} - m_Modifications: - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.x - value: -2.50999999 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.y - value: .200000003 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.z - value: -2.5 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_RootOrder - value: 15 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &1271849413 stripped -GameObject: - m_PrefabParentObject: {fileID: 100008, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - m_PrefabInternal: {fileID: 599866430} ---- !u!64 &1271849417 -MeshCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1271849413} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Convex: 1 - m_Mesh: {fileID: 4300004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} ---- !u!1 &1399100003 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1399100004} - - 222: {fileID: 1399100006} - - 114: {fileID: 1399100005} - - 114: {fileID: 1399100007} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1399100004 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1399100003} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1962593004} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 177.5, y: 0} - m_SizeDelta: {x: 204.699997, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1399100005 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1399100003} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 3 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: 'Drag the board - - to rotate it' ---- !u!222 &1399100006 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1399100003} ---- !u!114 &1399100007 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1399100003} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 1} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!1001 &1404673428 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 2130344072} - m_Modifications: - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.x - value: -1.45000005 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.y - value: .200000003 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.z - value: 2.5 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_RootOrder - value: 7 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &1408280580 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1408280581} - - 222: {fileID: 1408280583} - - 114: {fileID: 1408280582} - - 114: {fileID: 1408280584} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1408280581 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408280580} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1679844150} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 177.5, y: 0} - m_SizeDelta: {x: 204.699997, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1408280582 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408280580} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 3 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: Drag a figure to move it ---- !u!222 &1408280583 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408280580} ---- !u!114 &1408280584 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408280580} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 1} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!4 &1423153197 stripped -Transform: - m_PrefabParentObject: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - m_PrefabInternal: {fileID: 995508551} ---- !u!4 &1437042110 stripped -Transform: - m_PrefabParentObject: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - m_PrefabInternal: {fileID: 1404673428} ---- !u!1001 &1492764721 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 2130344072} - m_Modifications: - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.x - value: .529999971 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.y - value: .200000003 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.z - value: 2.5 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_RootOrder - value: 6 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - m_IsPrefabParent: 0 ---- !u!4 &1512539946 stripped -Transform: - m_PrefabParentObject: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - m_PrefabInternal: {fileID: 690687408} ---- !u!1001 &1525929576 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 2130344072} - m_Modifications: - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.x - value: 2.52999997 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.y - value: .200000003 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.z - value: -3.53999996 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_RootOrder - value: 11 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &1552723600 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1552723601} - - 222: {fileID: 1552723603} - - 114: {fileID: 1552723602} - - 114: {fileID: 1552723604} - m_Layer: 5 - m_Name: Description - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1552723601 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1552723600} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 740851132} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 178, y: 78} - m_SizeDelta: {x: 320, y: 128} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1552723602 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1552723600} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: "Checkers\n\nThis example shows how to use TransformGesture and PinnedTransformGesture.\n\nCheck - the script on Scene/Board \nand CheckerDark prefab." ---- !u!222 &1552723603 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1552723600} ---- !u!114 &1552723604 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1552723600} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 1} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!1 &1679844149 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1679844150} - - 114: {fileID: 1679844151} - m_Layer: 5 - m_Name: Drag - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1679844150 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1679844149} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1138005900} - - {fileID: 1408280581} - m_Father: {fileID: 250857271} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1679844151 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1679844149} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: 60 - m_PreferredWidth: -1 - m_PreferredHeight: 60 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 ---- !u!1001 &1726854358 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 2130344072} - m_Modifications: - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.x - value: .550000012 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.y - value: .200000003 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.z - value: -3.53999996 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_RootOrder - value: 10 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - m_IsPrefabParent: 0 ---- !u!4 &1760708079 stripped -Transform: - m_PrefabParentObject: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - m_PrefabInternal: {fileID: 1492764721} ---- !u!1 &1764701046 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1764701050} - - 114: {fileID: 1764701049} - m_Layer: 0 - m_Name: EventSystem - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1764701049 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1764701046} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_FirstSelected: {fileID: 0} - m_sendNavigationEvents: 1 - m_DragThreshold: 5 ---- !u!4 &1764701050 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1764701046} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 4 ---- !u!1001 &1766364327 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 2130344072} - m_Modifications: - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.x - value: -1.49000001 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.y - value: .200000003 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.z - value: -3.53999996 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_RootOrder - value: 9 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - m_IsPrefabParent: 0 ---- !u!1001 &1772227325 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 11400000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - propertyPath: m_Enabled - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 100000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - propertyPath: m_RootOrder - value: 1 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - m_IsPrefabParent: 0 ---- !u!4 &1953507434 stripped -Transform: - m_PrefabParentObject: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - m_PrefabInternal: {fileID: 1726854358} ---- !u!1 &1962593003 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1962593004} - - 114: {fileID: 1962593005} - m_Layer: 5 - m_Name: Rotate - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1962593004 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1962593003} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 242343086} - - {fileID: 1399100004} - m_Father: {fileID: 250857271} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1962593005 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1962593003} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: 60 - m_PreferredWidth: -1 - m_PreferredHeight: 60 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 ---- !u!1001 &1973376682 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 2130344072} - m_Modifications: - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.x - value: -.469999999 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.y - value: .200000003 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.z - value: -2.5 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_RootOrder - value: 14 - objectReference: {fileID: 0} - - target: {fileID: 6437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_Convex - value: 1 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - m_IsPrefabParent: 0 ---- !u!1001 &1975095845 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 2130344072} - m_Modifications: - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.x - value: 2.54999995 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.y - value: .200000003 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.z - value: 2.5 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_RootOrder - value: 5 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &1981142012 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1981142013} - m_Layer: 5 - m_Name: Panel - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1981142013 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1981142012} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 250857271} - m_Father: {fileID: 740851132} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: .252637833, y: 1} - m_AnchoredPosition: {x: 5, y: 50} - m_SizeDelta: {x: -10, y: -120} - m_Pivot: {x: .5, y: .5} ---- !u!4 &1983636052 stripped -Transform: - m_PrefabParentObject: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - m_PrefabInternal: {fileID: 912356309} ---- !u!1 &2027571734 stripped -GameObject: - m_PrefabParentObject: {fileID: 119514, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - m_PrefabInternal: {fileID: 455061222} ---- !u!114 &2027571736 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2027571734} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 66947205b8dad437e8e87b03573f74b3, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!4 &2027571738 stripped -Transform: - m_PrefabParentObject: {fileID: 419514, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - m_PrefabInternal: {fileID: 455061222} ---- !u!114 &2027571739 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2027571734} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -471660803, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 2 - screenTransformThreshold: .100000001 - projection: 2 - projectionPlaneNormal: {x: 0, y: 1, z: 0} ---- !u!1 &2041409366 stripped -GameObject: - m_PrefabParentObject: {fileID: 119512, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - m_PrefabInternal: {fileID: 455061222} ---- !u!65 &2041409370 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2041409366} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: .00999999978, z: 0} ---- !u!54 &2041409371 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2041409366} - serializedVersion: 2 - m_Mass: 1 - m_Drag: 0 - m_AngularDrag: .0500000007 - m_UseGravity: 0 - m_IsKinematic: 1 - m_Interpolate: 0 - m_Constraints: 14 - m_CollisionDetection: 2 ---- !u!4 &2102641840 stripped -Transform: - m_PrefabParentObject: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - m_PrefabInternal: {fileID: 746500663} ---- !u!1 &2130344071 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 2130344072} - m_Layer: 0 - m_Name: Container - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2130344072 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2130344071} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1423153197} - - {fileID: 812972186} - - {fileID: 868514750} - - {fileID: 1512539946} - - {fileID: 1983636052} - - {fileID: 235575575} - - {fileID: 1760708079} - - {fileID: 1437042110} - - {fileID: 1172386710} - - {fileID: 511902458} - - {fileID: 1953507434} - - {fileID: 2137966724} - - {fileID: 909269353} - - {fileID: 2102641840} - - {fileID: 503145950} - - {fileID: 1140064800} - m_Father: {fileID: 2027571738} - m_RootOrder: 1 ---- !u!1 &2135305919 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 2135305920} - - 108: {fileID: 2135305921} - m_Layer: 0 - m_Name: Directional light - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2135305920 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2135305919} - m_LocalRotation: {x: .241942912, y: -.49854365, z: .221075788, w: .802523136} - m_LocalPosition: {x: 6.10041475, y: 15.5403843, z: -20.5662251} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 930800601} - m_RootOrder: 0 ---- !u!108 &2135305921 -Light: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2135305919} - m_Enabled: 1 - serializedVersion: 6 - m_Type: 1 - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_Intensity: 1.29999995 - m_Range: 10 - m_SpotAngle: 30 - m_CookieSize: 10 - m_Shadows: - m_Type: 2 - m_Resolution: 3 - m_Strength: .560000002 - m_Bias: .100000001 - m_NormalBias: .400000006 - m_Cookie: {fileID: 0} - m_DrawHalo: 0 - m_Flare: {fileID: 0} - m_RenderMode: 0 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_Lightmapping: 1 - m_BounceIntensity: 1 - m_ShadowRadius: 0 - m_ShadowAngle: 0 - m_AreaSize: {x: 1, y: 1} ---- !u!4 &2137966724 stripped -Transform: - m_PrefabParentObject: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - m_PrefabInternal: {fileID: 1525929576} diff --git a/ThirdParty/TouchScript/Examples/General/Checkers/Checkers.unity.meta b/ThirdParty/TouchScript/Examples/General/Checkers/Checkers.unity.meta deleted file mode 100644 index 6e334773c..000000000 --- a/ThirdParty/TouchScript/Examples/General/Checkers/Checkers.unity.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 6ba58961df0a14cad91763f92bda13b9 -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Checkers/Scripts/Board.cs b/ThirdParty/TouchScript/Examples/General/Checkers/Scripts/Board.cs deleted file mode 100644 index 62da87a60..000000000 --- a/ThirdParty/TouchScript/Examples/General/Checkers/Scripts/Board.cs +++ /dev/null @@ -1,25 +0,0 @@ -using UnityEngine; -using System.Collections; -using TouchScript.Gestures; - -namespace TouchScript.Examples.Checkers -{ - public class Board : MonoBehaviour - { - PinnedTransformGesture gesture; - - private void OnEnable() { - gesture = GetComponent(); - gesture.Transformed += transformedHandler; - } - - private void OnDisable() { - gesture.Transformed -= transformedHandler; - } - - private void transformedHandler(object sender, System.EventArgs e) - { - transform.rotation *= Quaternion.AngleAxis(gesture.DeltaRotation, gesture.RotationAxis); - } - } -} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Examples/General/Checkers/Scripts/Board.cs.meta b/ThirdParty/TouchScript/Examples/General/Checkers/Scripts/Board.cs.meta deleted file mode 100644 index 8a23a459b..000000000 --- a/ThirdParty/TouchScript/Examples/General/Checkers/Scripts/Board.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: 66947205b8dad437e8e87b03573f74b3 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Colors.meta b/ThirdParty/TouchScript/Examples/General/Colors.meta deleted file mode 100644 index 74a5fb98e..000000000 --- a/ThirdParty/TouchScript/Examples/General/Colors.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 9b36900fe6ffb414297f579bdc2df773 -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Colors/Colors.unity b/ThirdParty/TouchScript/Examples/General/Colors/Colors.unity deleted file mode 100644 index 3a6b3e3e0..000000000 --- a/ThirdParty/TouchScript/Examples/General/Colors/Colors.unity +++ /dev/null @@ -1,908 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!29 &1 -SceneSettings: - m_ObjectHideFlags: 0 - m_PVSData: - m_PVSObjectsArray: [] - m_PVSPortalsArray: [] - m_OcclusionBakeSettings: - smallestOccluder: 5 - smallestHole: .25 - backfaceThreshold: 100 ---- !u!104 &2 -RenderSettings: - m_ObjectHideFlags: 0 - serializedVersion: 6 - m_Fog: 0 - m_FogColor: {r: .5, g: .5, b: .5, a: 1} - m_FogMode: 3 - m_FogDensity: .00999999978 - m_LinearFogStart: 0 - m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} - m_AmbientEquatorColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} - m_AmbientGroundColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} - m_AmbientIntensity: 1 - m_AmbientMode: 3 - m_SkyboxMaterial: {fileID: 2100000, guid: a07fadb24ea940240afba3afc1a692cc, type: 2} - m_HaloStrength: .5 - m_FlareStrength: 1 - m_FlareFadeSpeed: 3 - m_HaloTexture: {fileID: 0} - m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} - m_DefaultReflectionMode: 0 - m_DefaultReflectionResolution: 128 - m_ReflectionBounces: 1 - m_ReflectionIntensity: 1 - m_CustomReflection: {fileID: 0} - m_Sun: {fileID: 0} ---- !u!157 &4 -LightmapSettings: - m_ObjectHideFlags: 0 - serializedVersion: 5 - m_GIWorkflowMode: 1 - m_LightmapsMode: 1 - m_GISettings: - serializedVersion: 2 - m_BounceScale: 1 - m_IndirectOutputScale: 1 - m_AlbedoBoost: 1 - m_TemporalCoherenceThreshold: 1 - m_EnvironmentLightingMode: 0 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 0 - m_LightmapEditorSettings: - serializedVersion: 3 - m_Resolution: 1 - m_BakeResolution: 50 - m_TextureWidth: 1024 - m_TextureHeight: 1024 - m_AOMaxDistance: 1 - m_Padding: 2 - m_CompAOExponent: 0 - m_LightmapParameters: {fileID: 0} - m_TextureCompression: 0 - m_FinalGather: 0 - m_FinalGatherRayCount: 1024 - m_ReflectionCompression: 2 - m_LightmapSnapshot: {fileID: 0} - m_RuntimeCPUUsage: 25 ---- !u!196 &5 -NavMeshSettings: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_BuildSettings: - serializedVersion: 2 - agentRadius: .5 - agentHeight: 2 - agentSlope: 45 - agentClimb: .400000006 - ledgeDropHeight: 0 - maxJumpAcrossDistance: 0 - accuratePlacement: 0 - minRegionArea: 2 - cellSize: .166666657 - manualCellSize: 0 - m_NavMeshData: {fileID: 0} ---- !u!1 &62216951 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 62216952} - - 20: {fileID: 62216957} - - 92: {fileID: 62216956} - - 124: {fileID: 62216955} - - 81: {fileID: 62216954} - - 114: {fileID: 62216953} - m_Layer: 0 - m_Name: Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &62216952 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -10} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 930800601} - m_RootOrder: 0 ---- !u!114 &62216953 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 902259921, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - Name: Camera - layerMask: - serializedVersion: 2 - m_Bits: 4294967295 - layerIds: 00000000 ---- !u!81 &62216954 -AudioListener: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 ---- !u!124 &62216955 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 ---- !u!92 &62216956 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 ---- !u!20 &62216957 -Camera: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1} - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: .300000012 - far clip plane: 40 - field of view: 30 - orthographic: 1 - orthographic size: 100 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: .0219999999 - m_StereoMirrorMode: 0 ---- !u!1 &68250096 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 68250097} - m_Layer: 0 - m_Name: Container - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &68250097 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 68250096} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 930800601} - m_RootOrder: 1 ---- !u!1 &250857269 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 250857271} - - 114: {fileID: 250857270} - m_Layer: 5 - m_Name: List - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &250857270 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 250857269} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_ChildAlignment: 0 - m_Spacing: 0 - m_ChildForceExpandWidth: 1 - m_ChildForceExpandHeight: 0 ---- !u!224 &250857271 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 250857269} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1679844150} - m_Father: {fileID: 1981142013} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!1001 &543251036 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 11400000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: layers.Array.size - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 11400000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: layers.Array.data[0] - value: - objectReference: {fileID: 62216953} - - target: {fileID: 11400000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: layers.Array.data[1] - value: - objectReference: {fileID: 0} - - target: {fileID: 11400000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: layers.Array.data[2] - value: - objectReference: {fileID: 0} - - target: {fileID: 11400004, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_Enabled - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 11400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_Enabled - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &740851131 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 740851132} - - 223: {fileID: 740851135} - - 114: {fileID: 740851134} - - 114: {fileID: 740851133} - m_Layer: 5 - m_Name: Canvas - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &740851132 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0, y: 0, z: 0} - m_Children: - - {fileID: 1981142013} - - {fileID: 1552723601} - m_Father: {fileID: 0} - m_RootOrder: 3 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0, y: 0} ---- !u!114 &740851133 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreReversedGraphics: 1 - m_BlockingObjects: 0 - m_BlockingMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!114 &740851134 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UiScaleMode: 1 - m_ReferencePixelsPerUnit: 100 - m_ScaleFactor: 1 - m_ReferenceResolution: {x: 640, y: 480} - m_ScreenMatchMode: 0 - m_MatchWidthOrHeight: 1 - m_PhysicalUnit: 3 - m_FallbackScreenDPI: 96 - m_DefaultSpriteDPI: 96 - m_DynamicPixelsPerUnit: 1 ---- !u!223 &740851135 -Canvas: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_Enabled: 1 - serializedVersion: 2 - m_RenderMode: 0 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!1 &906624104 stripped -GameObject: - m_PrefabParentObject: {fileID: 100000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - m_PrefabInternal: {fileID: 543251036} ---- !u!114 &906624105 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 906624104} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 175516946, guid: bb6056dc800c1084da7273cb9f23f5cb, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - TouchTags: - tagList: - - Touch - MouseTags: - tagList: - - Mouse - PenTags: - tagList: - - Pen ---- !u!114 &906624106 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 906624104} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1496140412, guid: bb6056dc800c1084da7273cb9f23f5cb, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - DisableMouseInputInBuilds: 1 - Tags: - tagList: - - Touch ---- !u!1 &930800600 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 930800601} - - 114: {fileID: 930800602} - m_Layer: 0 - m_Name: Scene - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &930800601 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 930800600} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 62216952} - - {fileID: 68250097} - m_Father: {fileID: 0} - m_RootOrder: 2 ---- !u!114 &930800602 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 930800600} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: c8b337721b25c44a1bd825aa64c2df73, type: 3} - m_Name: - m_EditorClassIdentifier: - Prefab: {fileID: 487322, guid: 2b3f65a7742c848579d12e8fc10951b1, type: 2} - Total: 40 ---- !u!1 &1138005899 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1138005900} - - 222: {fileID: 1138005902} - - 114: {fileID: 1138005901} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1138005900 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1138005899} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1679844150} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 31, y: 0} - m_SizeDelta: {x: 60, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1138005901 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1138005899} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 71e59d6fec0b04b60acf6cad4b860a39, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &1138005902 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1138005899} ---- !u!1 &1408280580 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1408280581} - - 222: {fileID: 1408280583} - - 114: {fileID: 1408280582} - - 114: {fileID: 1408280584} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1408280581 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408280580} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1679844150} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 196, y: 0} - m_SizeDelta: {x: 242, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1408280582 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408280580} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 3 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: 'Drag circles around. - - When overlapped they will spawn another circle of combined volume.' ---- !u!222 &1408280583 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408280580} ---- !u!114 &1408280584 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408280580} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 1} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!1 &1552723600 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1552723601} - - 222: {fileID: 1552723603} - - 114: {fileID: 1552723602} - - 114: {fileID: 1552723604} - m_Layer: 5 - m_Name: Description - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1552723601 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1552723600} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 740851132} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 178, y: 78} - m_SizeDelta: {x: 320, y: 128} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1552723602 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1552723600} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: 'Colors - - - This example shows how to use CameraLayer2D and Gesture.Cancel() to "give" touches - from one gesture to another. - - - Check the script on Scene and Circle prefab.' ---- !u!222 &1552723603 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1552723600} ---- !u!114 &1552723604 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1552723600} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 1} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!1 &1679844149 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1679844150} - - 114: {fileID: 1679844151} - m_Layer: 5 - m_Name: Drag - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1679844150 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1679844149} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1138005900} - - {fileID: 1408280581} - m_Father: {fileID: 250857271} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1679844151 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1679844149} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: 60 - m_PreferredWidth: -1 - m_PreferredHeight: 60 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 ---- !u!1 &1764701046 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1764701050} - - 114: {fileID: 1764701049} - m_Layer: 0 - m_Name: EventSystem - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1764701049 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1764701046} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_FirstSelected: {fileID: 0} - m_sendNavigationEvents: 1 - m_DragThreshold: 5 ---- !u!4 &1764701050 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1764701046} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 4 ---- !u!1001 &1772227325 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 11400000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - propertyPath: m_Enabled - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 100000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - propertyPath: m_RootOrder - value: 1 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &1981142012 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1981142013} - m_Layer: 5 - m_Name: Panel - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1981142013 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1981142012} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 250857271} - m_Father: {fileID: 740851132} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: .252637833, y: 1} - m_AnchoredPosition: {x: 5, y: 50} - m_SizeDelta: {x: -10, y: -120} - m_Pivot: {x: .5, y: .5} diff --git a/ThirdParty/TouchScript/Examples/General/Colors/Colors.unity.meta b/ThirdParty/TouchScript/Examples/General/Colors/Colors.unity.meta deleted file mode 100644 index 9b15622de..000000000 --- a/ThirdParty/TouchScript/Examples/General/Colors/Colors.unity.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: c56b29ea5ec5a4713b65552d4a8bd9ac -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Colors/Materials.meta b/ThirdParty/TouchScript/Examples/General/Colors/Materials.meta deleted file mode 100644 index ac1bab65f..000000000 --- a/ThirdParty/TouchScript/Examples/General/Colors/Materials.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 693a5205c3d48441bb5a2f2745f043b5 -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Colors/Materials/Color.mat b/ThirdParty/TouchScript/Examples/General/Colors/Materials/Color.mat deleted file mode 100644 index 3f1bcbdaa..000000000 --- a/ThirdParty/TouchScript/Examples/General/Colors/Materials/Color.mat +++ /dev/null @@ -1,28 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: Color - m_Shader: {fileID: 4800000, guid: 94cdda6d3ac3444ee82497c3ca14a496, type: 3} - m_ShaderKeywords: [] - m_CustomRenderQueue: -1 - m_SavedProperties: - serializedVersion: 2 - m_TexEnvs: - data: - first: - name: _MainTex - second: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: {} - m_Colors: - data: - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} diff --git a/ThirdParty/TouchScript/Examples/General/Colors/Materials/Color.mat.meta b/ThirdParty/TouchScript/Examples/General/Colors/Materials/Color.mat.meta deleted file mode 100644 index 62e159ef7..000000000 --- a/ThirdParty/TouchScript/Examples/General/Colors/Materials/Color.mat.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 912f6e5f5f74c4db4b9d8e196e3b9309 -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Colors/Prefabs/Circle.prefab b/ThirdParty/TouchScript/Examples/General/Colors/Prefabs/Circle.prefab deleted file mode 100644 index be8248cab..000000000 --- a/ThirdParty/TouchScript/Examples/General/Colors/Prefabs/Circle.prefab +++ /dev/null @@ -1,161 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &187322 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 4 - m_Component: - - 4: {fileID: 487322} - - 33: {fileID: 3387322} - - 23: {fileID: 2387322} - - 114: {fileID: 11408658} - - 114: {fileID: 11478144} - - 58: {fileID: 5878144} - - 58: {fileID: 5815760} - - 114: {fileID: 11416092} - - 50: {fileID: 5031796} - m_Layer: 0 - m_Name: Circle - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &487322 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 187322} - m_LocalRotation: {x: -.716292739, y: 0, z: 0, w: .697799981} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 15, y: 1, z: 15} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 ---- !u!23 &2387322 -Renderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 187322} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_LightmapIndex: 255 - m_LightmapTilingOffset: {x: 1, y: 1, z: 0, w: 0} - m_Materials: - - {fileID: 2100000, guid: 912f6e5f5f74c4db4b9d8e196e3b9309, type: 2} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_LightProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!33 &3387322 -MeshFilter: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 187322} - m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} ---- !u!50 &5031796 -Rigidbody2D: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 187322} - m_Mass: 1 - m_LinearDrag: 0 - m_AngularDrag: .0500000007 - m_GravityScale: 1 - m_FixedAngle: 0 - m_IsKinematic: 1 - m_Interpolate: 0 - m_SleepingMode: 1 - m_CollisionDetection: 0 ---- !u!58 &5815760 -CircleCollider2D: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 187322} - m_Enabled: 1 - m_Material: {fileID: 0} - m_IsTrigger: 1 - m_Radius: .100000001 - m_Center: {x: 0, y: 0} ---- !u!58 &5878144 -CircleCollider2D: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 187322} - m_Enabled: 1 - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Radius: .5 - m_Center: {x: 0, y: 0} ---- !u!114 &11408658 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 187322} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1097873817, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 7 - minScreenPointsDistance: .5 - screenTransformThreshold: .100000001 - projection: 2 - projectionPlaneNormal: {x: 0, y: 0, z: 1} ---- !u!114 &11416092 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 187322} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d2d1ded9b7682453b9db33938fecf06b, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &11478144 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 187322} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1905284378, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!1001 &100100000 -Prefab: - m_ObjectHideFlags: 1 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: [] - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 0} - m_RootGameObject: {fileID: 187322} - m_IsPrefabParent: 1 - m_IsExploded: 1 diff --git a/ThirdParty/TouchScript/Examples/General/Colors/Prefabs/Circle.prefab.meta b/ThirdParty/TouchScript/Examples/General/Colors/Prefabs/Circle.prefab.meta deleted file mode 100644 index b32d04baa..000000000 --- a/ThirdParty/TouchScript/Examples/General/Colors/Prefabs/Circle.prefab.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 2b3f65a7742c848579d12e8fc10951b1 -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Colors/Scripts.meta b/ThirdParty/TouchScript/Examples/General/Colors/Scripts.meta deleted file mode 100644 index 3f8fb5f9a..000000000 --- a/ThirdParty/TouchScript/Examples/General/Colors/Scripts.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 3cccfbbd62bbf4353a5a2b0aa16fe14b -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Colors/Scripts/Circle.cs b/ThirdParty/TouchScript/Examples/General/Colors/Scripts/Circle.cs deleted file mode 100644 index 5c28f5330..000000000 --- a/ThirdParty/TouchScript/Examples/General/Colors/Scripts/Circle.cs +++ /dev/null @@ -1,46 +0,0 @@ -using UnityEngine; -using System.Collections; -using TouchScript.Gestures; - -namespace TouchScript.Examples.Colors -{ - public class Circle : MonoBehaviour - { - private bool isDestroyed = false; - - public Color Kill() - { - isDestroyed = true; - - GetComponent().Cancel(true, true); - GetComponent().Cancel(true, true); - var color = GetComponent().sharedMaterial.color; - Destroy (gameObject); - return color; - } - - private void OnTriggerEnter2D(Collider2D other) - { - if (isDestroyed) return; - - var gesture = GetComponent(); - if (gesture.State != Gesture.GestureState.Changed && gesture.State != Gesture.GestureState.Began) return; - - var otherCircle = other.GetComponent(); - if (!otherCircle) return; - - var otherColor = otherCircle.Kill(); - var scale = Mathf.Sqrt(otherCircle.transform.localScale.x * otherCircle.transform.localScale.x + transform.localScale.x * transform.localScale.x); - var color = Color.Lerp(GetComponent().sharedMaterial.color, otherColor, .5f); - - var obj = Instantiate(gameObject) as GameObject; - obj.transform.SetParent(transform.parent); - obj.transform.localPosition = transform.localPosition; - obj.transform.rotation = transform.rotation; - obj.transform.localScale = new Vector3(scale, 1, scale); - obj.GetComponent().sharedMaterial.color = color; - - Kill (); - } - } -} diff --git a/ThirdParty/TouchScript/Examples/General/Colors/Scripts/Circle.cs.meta b/ThirdParty/TouchScript/Examples/General/Colors/Scripts/Circle.cs.meta deleted file mode 100644 index 379e2f5de..000000000 --- a/ThirdParty/TouchScript/Examples/General/Colors/Scripts/Circle.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: d2d1ded9b7682453b9db33938fecf06b -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Colors/Scripts/Colors.cs b/ThirdParty/TouchScript/Examples/General/Colors/Scripts/Colors.cs deleted file mode 100644 index f9017ad31..000000000 --- a/ThirdParty/TouchScript/Examples/General/Colors/Scripts/Colors.cs +++ /dev/null @@ -1,25 +0,0 @@ -using UnityEngine; -using System.Collections; -using System.Collections.Generic; - -namespace TouchScript.Examples.Colors -{ - public class Colors : MonoBehaviour - { - public Transform Prefab; - public int Total = 10; - - private List colors = new List() {Color.blue, Color.cyan, Color.gray, Color.green, Color.magenta, Color.red, Color.white, Color.yellow, Color.black}; - - void Start () - { - var container = transform.Find("Container"); - for (var i = 0; i < Total; i++) { - var obj = Instantiate(Prefab) as Transform; - obj.SetParent(container); - obj.localPosition = new Vector3(Random.Range(-100, 100), Random.Range(-100, 100), 0); - obj.GetComponent().material.color = colors[Random.Range(0, colors.Count)]; - } - } - } -} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Examples/General/Colors/Scripts/Colors.cs.meta b/ThirdParty/TouchScript/Examples/General/Colors/Scripts/Colors.cs.meta deleted file mode 100644 index 870b9b227..000000000 --- a/ThirdParty/TouchScript/Examples/General/Colors/Scripts/Colors.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: c8b337721b25c44a1bd825aa64c2df73 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Input.meta b/ThirdParty/TouchScript/Examples/General/Input.meta deleted file mode 100644 index 499788753..000000000 --- a/ThirdParty/TouchScript/Examples/General/Input.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: fb16005fe3d3346e9b8f3ffd00cf4f47 -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Input/Input.unity b/ThirdParty/TouchScript/Examples/General/Input/Input.unity deleted file mode 100644 index 6240cdb57..000000000 --- a/ThirdParty/TouchScript/Examples/General/Input/Input.unity +++ /dev/null @@ -1,952 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!29 &1 -SceneSettings: - m_ObjectHideFlags: 0 - m_PVSData: - m_PVSObjectsArray: [] - m_PVSPortalsArray: [] - m_OcclusionBakeSettings: - smallestOccluder: 5 - smallestHole: .25 - backfaceThreshold: 100 ---- !u!104 &2 -RenderSettings: - m_ObjectHideFlags: 0 - serializedVersion: 6 - m_Fog: 0 - m_FogColor: {r: .5, g: .5, b: .5, a: 1} - m_FogMode: 3 - m_FogDensity: .00999999978 - m_LinearFogStart: 0 - m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} - m_AmbientEquatorColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} - m_AmbientGroundColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} - m_AmbientIntensity: 1 - m_AmbientMode: 3 - m_SkyboxMaterial: {fileID: 2100000, guid: a07fadb24ea940240afba3afc1a692cc, type: 2} - m_HaloStrength: .5 - m_FlareStrength: 1 - m_FlareFadeSpeed: 3 - m_HaloTexture: {fileID: 0} - m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} - m_DefaultReflectionMode: 0 - m_DefaultReflectionResolution: 128 - m_ReflectionBounces: 1 - m_ReflectionIntensity: 1 - m_CustomReflection: {fileID: 0} - m_Sun: {fileID: 0} ---- !u!157 &4 -LightmapSettings: - m_ObjectHideFlags: 0 - serializedVersion: 5 - m_GIWorkflowMode: 1 - m_LightmapsMode: 1 - m_GISettings: - serializedVersion: 2 - m_BounceScale: 1 - m_IndirectOutputScale: 1 - m_AlbedoBoost: 1 - m_TemporalCoherenceThreshold: 1 - m_EnvironmentLightingMode: 0 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 0 - m_LightmapEditorSettings: - serializedVersion: 3 - m_Resolution: 1 - m_BakeResolution: 50 - m_TextureWidth: 1024 - m_TextureHeight: 1024 - m_AOMaxDistance: 1 - m_Padding: 2 - m_CompAOExponent: 0 - m_LightmapParameters: {fileID: 0} - m_TextureCompression: 0 - m_FinalGather: 0 - m_FinalGatherRayCount: 1024 - m_ReflectionCompression: 2 - m_LightmapSnapshot: {fileID: 0} - m_RuntimeCPUUsage: 25 ---- !u!196 &5 -NavMeshSettings: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_BuildSettings: - serializedVersion: 2 - agentRadius: .5 - agentHeight: 2 - agentSlope: 45 - agentClimb: .400000006 - ledgeDropHeight: 0 - maxJumpAcrossDistance: 0 - accuratePlacement: 0 - minRegionArea: 2 - cellSize: .166666657 - manualCellSize: 0 - m_NavMeshData: {fileID: 0} ---- !u!1 &62216951 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 62216952} - - 20: {fileID: 62216957} - - 92: {fileID: 62216956} - - 124: {fileID: 62216955} - - 81: {fileID: 62216954} - - 114: {fileID: 62216953} - m_Layer: 0 - m_Name: Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &62216952 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_LocalRotation: {x: .978753865, y: 0, z: 0, w: .205038756} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 930800601} - m_RootOrder: 1 ---- !u!114 &62216953 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6f1cd32130056441f8df44d2168b8816, type: 3} - m_Name: - m_EditorClassIdentifier: - Prefab: {fileID: 125364, guid: 970484224830949ada146ff42a9f50e6, type: 2} ---- !u!81 &62216954 -AudioListener: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 ---- !u!124 &62216955 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 ---- !u!92 &62216956 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 ---- !u!20 &62216957 -Camera: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1} - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: .300000012 - far clip plane: 1000 - field of view: 30 - orthographic: 0 - orthographic size: 10 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: .0219999999 - m_StereoMirrorMode: 0 ---- !u!1 &250857269 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 250857271} - - 114: {fileID: 250857270} - m_Layer: 5 - m_Name: List - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &250857270 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 250857269} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_ChildAlignment: 0 - m_Spacing: 0 - m_ChildForceExpandWidth: 1 - m_ChildForceExpandHeight: 0 ---- !u!224 &250857271 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 250857269} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1679844150} - m_Father: {fileID: 1981142013} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!1001 &543251036 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 11400000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: layers.Array.size - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 11400000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: layers.Array.data[0] - value: - objectReference: {fileID: 0} - - target: {fileID: 11400004, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_Enabled - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 11400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_Enabled - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &740851131 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 740851132} - - 223: {fileID: 740851135} - - 114: {fileID: 740851134} - - 114: {fileID: 740851133} - m_Layer: 5 - m_Name: Canvas - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &740851132 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0, y: 0, z: 0} - m_Children: - - {fileID: 1981142013} - - {fileID: 1552723601} - m_Father: {fileID: 0} - m_RootOrder: 3 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0, y: 0} ---- !u!114 &740851133 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreReversedGraphics: 1 - m_BlockingObjects: 0 - m_BlockingMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!114 &740851134 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UiScaleMode: 1 - m_ReferencePixelsPerUnit: 100 - m_ScaleFactor: 1 - m_ReferenceResolution: {x: 640, y: 480} - m_ScreenMatchMode: 0 - m_MatchWidthOrHeight: 1 - m_PhysicalUnit: 3 - m_FallbackScreenDPI: 96 - m_DefaultSpriteDPI: 96 - m_DynamicPixelsPerUnit: 1 ---- !u!223 &740851135 -Canvas: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_Enabled: 1 - serializedVersion: 2 - m_RenderMode: 0 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!1 &906624104 stripped -GameObject: - m_PrefabParentObject: {fileID: 100000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - m_PrefabInternal: {fileID: 543251036} ---- !u!114 &906624105 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 906624104} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 175516946, guid: bb6056dc800c1084da7273cb9f23f5cb, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - TouchTags: - tagList: - - Touch - MouseTags: - tagList: - - Mouse - PenTags: - tagList: - - Pen ---- !u!114 &906624106 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 906624104} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1496140412, guid: bb6056dc800c1084da7273cb9f23f5cb, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - DisableMouseInputInBuilds: 1 - Tags: - tagList: - - Touch ---- !u!1 &930800600 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 930800601} - m_Layer: 0 - m_Name: Scene - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &930800601 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 930800600} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 2135305920} - - {fileID: 62216952} - m_Father: {fileID: 0} - m_RootOrder: 2 ---- !u!1001 &1022246830 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 425364, guid: 970484224830949ada146ff42a9f50e6, type: 2} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 425364, guid: 970484224830949ada146ff42a9f50e6, type: 2} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 425364, guid: 970484224830949ada146ff42a9f50e6, type: 2} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 425364, guid: 970484224830949ada146ff42a9f50e6, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 425364, guid: 970484224830949ada146ff42a9f50e6, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 425364, guid: 970484224830949ada146ff42a9f50e6, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 425364, guid: 970484224830949ada146ff42a9f50e6, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 425364, guid: 970484224830949ada146ff42a9f50e6, type: 2} - propertyPath: m_RootOrder - value: 5 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: 970484224830949ada146ff42a9f50e6, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &1138005899 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1138005900} - - 222: {fileID: 1138005902} - - 114: {fileID: 1138005901} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1138005900 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1138005899} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1679844150} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 31, y: 0} - m_SizeDelta: {x: 60, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1138005901 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1138005899} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 26489b03725f747f998c39661c2583b5, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &1138005902 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1138005899} ---- !u!1 &1408280580 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1408280581} - - 222: {fileID: 1408280583} - - 114: {fileID: 1408280582} - - 114: {fileID: 1408280584} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1408280581 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408280580} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1679844150} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 177.5, y: 0} - m_SizeDelta: {x: 204.699997, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1408280582 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408280580} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 3 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: Touch the screen with your fingers to spawn planets ---- !u!222 &1408280583 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408280580} ---- !u!114 &1408280584 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408280580} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 1} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!1 &1552723600 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1552723601} - - 222: {fileID: 1552723603} - - 114: {fileID: 1552723602} - - 114: {fileID: 1552723604} - m_Layer: 5 - m_Name: Description - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1552723601 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1552723600} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 740851132} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 178, y: 48.2000008} - m_SizeDelta: {x: 320, y: 68.4000015} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1552723602 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1552723600} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: 'Input - - - This example shows how to use TouchScript simply as a source of touches with no - gestures in scene.' ---- !u!222 &1552723603 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1552723600} ---- !u!114 &1552723604 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1552723600} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 1} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!1 &1679844149 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1679844150} - - 114: {fileID: 1679844151} - m_Layer: 5 - m_Name: Touch - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1679844150 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1679844149} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1138005900} - - {fileID: 1408280581} - m_Father: {fileID: 250857271} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1679844151 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1679844149} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: 60 - m_PreferredWidth: -1 - m_PreferredHeight: 60 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 ---- !u!1 &1764701046 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1764701050} - - 114: {fileID: 1764701049} - m_Layer: 0 - m_Name: EventSystem - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1764701049 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1764701046} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_FirstSelected: {fileID: 0} - m_sendNavigationEvents: 1 - m_DragThreshold: 5 ---- !u!4 &1764701050 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1764701046} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 4 ---- !u!1001 &1772227325 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 11400000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - propertyPath: m_Enabled - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 100000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - propertyPath: m_RootOrder - value: 1 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &1981142012 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1981142013} - m_Layer: 5 - m_Name: Panel - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1981142013 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1981142012} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 250857271} - m_Father: {fileID: 740851132} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: .252637833, y: 1} - m_AnchoredPosition: {x: 5, y: 50} - m_SizeDelta: {x: -10, y: -120} - m_Pivot: {x: .5, y: .5} ---- !u!1 &2135305919 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 2135305920} - - 108: {fileID: 2135305921} - m_Layer: 0 - m_Name: Directional light - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2135305920 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2135305919} - m_LocalRotation: {x: .32484895, y: -.867448151, z: .0434053168, w: .374329984} - m_LocalPosition: {x: 6.10041475, y: 15.5403843, z: -20.5662251} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 930800601} - m_RootOrder: 0 ---- !u!108 &2135305921 -Light: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2135305919} - m_Enabled: 1 - serializedVersion: 6 - m_Type: 1 - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_Intensity: 1.29999995 - m_Range: 10 - m_SpotAngle: 30 - m_CookieSize: 10 - m_Shadows: - m_Type: 2 - m_Resolution: 3 - m_Strength: .560000002 - m_Bias: .100000001 - m_NormalBias: .400000006 - m_Cookie: {fileID: 0} - m_DrawHalo: 0 - m_Flare: {fileID: 0} - m_RenderMode: 0 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_Lightmapping: 1 - m_BounceIntensity: 1 - m_ShadowRadius: 0 - m_ShadowAngle: 0 - m_AreaSize: {x: 1, y: 1} diff --git a/ThirdParty/TouchScript/Examples/General/Input/Input.unity.meta b/ThirdParty/TouchScript/Examples/General/Input/Input.unity.meta deleted file mode 100644 index 83444a1f1..000000000 --- a/ThirdParty/TouchScript/Examples/General/Input/Input.unity.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 9ee061879a6b743808a9f9056a52d885 -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Input/Prefabs.meta b/ThirdParty/TouchScript/Examples/General/Input/Prefabs.meta deleted file mode 100644 index 3dfc47a89..000000000 --- a/ThirdParty/TouchScript/Examples/General/Input/Prefabs.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: fa5fe381834354d57882172e5f64ecd1 -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Input/Prefabs/Ball.prefab b/ThirdParty/TouchScript/Examples/General/Input/Prefabs/Ball.prefab deleted file mode 100644 index 9b4f6bfab..000000000 --- a/ThirdParty/TouchScript/Examples/General/Input/Prefabs/Ball.prefab +++ /dev/null @@ -1,83 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &125364 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 4 - m_Component: - - 4: {fileID: 425364} - - 33: {fileID: 3325364} - - 23: {fileID: 2325364} - - 114: {fileID: 11482678} - m_Layer: 0 - m_Name: Ball - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &425364 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 125364} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: .5, y: .5, z: .5} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 ---- !u!23 &2325364 -Renderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 125364} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_LightmapIndex: 255 - m_LightmapTilingOffset: {x: 1, y: 1, z: 0, w: 0} - m_Materials: - - {fileID: 2100000, guid: 6e379d1ec9f5fd949891068175de34fe, type: 2} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_LightProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!33 &3325364 -MeshFilter: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 125364} - m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} ---- !u!114 &11482678 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 125364} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 55895789e0b15491c9f15cf2249a6ccf, type: 3} - m_Name: - m_EditorClassIdentifier: - Speed: 1 ---- !u!1001 &100100000 -Prefab: - m_ObjectHideFlags: 1 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: [] - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 0} - m_RootGameObject: {fileID: 125364} - m_IsPrefabParent: 1 - m_IsExploded: 1 diff --git a/ThirdParty/TouchScript/Examples/General/Input/Prefabs/Ball.prefab.meta b/ThirdParty/TouchScript/Examples/General/Input/Prefabs/Ball.prefab.meta deleted file mode 100644 index 59a994b19..000000000 --- a/ThirdParty/TouchScript/Examples/General/Input/Prefabs/Ball.prefab.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 970484224830949ada146ff42a9f50e6 -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Input/Scripts.meta b/ThirdParty/TouchScript/Examples/General/Input/Scripts.meta deleted file mode 100644 index e2ba94429..000000000 --- a/ThirdParty/TouchScript/Examples/General/Input/Scripts.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: e4b9e0f55ea14406b96b7bce340eb515 -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Input/Scripts/Ball.cs b/ThirdParty/TouchScript/Examples/General/Input/Scripts/Ball.cs deleted file mode 100644 index 7b68b79f3..000000000 --- a/ThirdParty/TouchScript/Examples/General/Input/Scripts/Ball.cs +++ /dev/null @@ -1,17 +0,0 @@ -using UnityEngine; -using System.Collections; - -namespace TouchScript.Examples.Input -{ - public class Ball : MonoBehaviour - { - public float Speed = 1f; - - private void Update() - { - Speed *= 1.01f; - transform.position += transform.forward*Speed*Time.deltaTime; - if (Speed > 1000) Destroy(gameObject); - } - } -} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Examples/General/Input/Scripts/Ball.cs.meta b/ThirdParty/TouchScript/Examples/General/Input/Scripts/Ball.cs.meta deleted file mode 100644 index 478d170b2..000000000 --- a/ThirdParty/TouchScript/Examples/General/Input/Scripts/Ball.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: 55895789e0b15491c9f15cf2249a6ccf -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Input/Scripts/Spawner.cs b/ThirdParty/TouchScript/Examples/General/Input/Scripts/Spawner.cs deleted file mode 100644 index 240903e41..000000000 --- a/ThirdParty/TouchScript/Examples/General/Input/Scripts/Spawner.cs +++ /dev/null @@ -1,41 +0,0 @@ -using UnityEngine; -using System.Collections; - -namespace TouchScript.Examples.Input -{ - public class Spawner : MonoBehaviour - { - public GameObject Prefab; - - private void OnEnable() - { - if (TouchManager.Instance != null) - { - TouchManager.Instance.TouchesBegan += touchBeganHandler; - } - } - - private void OnDisable() - { - if (TouchManager.Instance != null) - { - TouchManager.Instance.TouchesBegan -= touchBeganHandler; - } - } - - private void spawnPrefabAt(Vector2 position) - { - var obj = Instantiate(Prefab) as GameObject; - obj.transform.position = Camera.main.ScreenToWorldPoint(new Vector3(position.x, position.y, 10)); - obj.transform.rotation = transform.rotation; - } - - private void touchBeganHandler(object sender, TouchEventArgs e) - { - foreach (var point in e.Touches) - { - spawnPrefabAt(point.Position); - } - } - } -} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Examples/General/Input/Scripts/Spawner.cs.meta b/ThirdParty/TouchScript/Examples/General/Input/Scripts/Spawner.cs.meta deleted file mode 100644 index 594581e6c..000000000 --- a/ThirdParty/TouchScript/Examples/General/Input/Scripts/Spawner.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: 6f1cd32130056441f8df44d2168b8816 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Multiuser.meta b/ThirdParty/TouchScript/Examples/General/Multiuser.meta deleted file mode 100644 index f774c2f91..000000000 --- a/ThirdParty/TouchScript/Examples/General/Multiuser.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: e683097c72ada4d62bec21955dffd74b -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Multiuser/Multiuser.unity b/ThirdParty/TouchScript/Examples/General/Multiuser/Multiuser.unity deleted file mode 100644 index 01f73e1f8..000000000 --- a/ThirdParty/TouchScript/Examples/General/Multiuser/Multiuser.unity +++ /dev/null @@ -1,2313 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!29 &1 -SceneSettings: - m_ObjectHideFlags: 0 - m_PVSData: - m_PVSObjectsArray: [] - m_PVSPortalsArray: [] - m_OcclusionBakeSettings: - smallestOccluder: 5 - smallestHole: .25 - backfaceThreshold: 100 ---- !u!104 &2 -RenderSettings: - m_ObjectHideFlags: 0 - serializedVersion: 6 - m_Fog: 0 - m_FogColor: {r: .5, g: .5, b: .5, a: 1} - m_FogMode: 3 - m_FogDensity: .00999999978 - m_LinearFogStart: 0 - m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} - m_AmbientEquatorColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} - m_AmbientGroundColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} - m_AmbientIntensity: 1 - m_AmbientMode: 3 - m_SkyboxMaterial: {fileID: 2100000, guid: a07fadb24ea940240afba3afc1a692cc, type: 2} - m_HaloStrength: .5 - m_FlareStrength: 1 - m_FlareFadeSpeed: 3 - m_HaloTexture: {fileID: 0} - m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} - m_DefaultReflectionMode: 0 - m_DefaultReflectionResolution: 128 - m_ReflectionBounces: 1 - m_ReflectionIntensity: 1 - m_CustomReflection: {fileID: 0} - m_Sun: {fileID: 0} ---- !u!157 &4 -LightmapSettings: - m_ObjectHideFlags: 0 - serializedVersion: 5 - m_GIWorkflowMode: 1 - m_LightmapsMode: 1 - m_GISettings: - serializedVersion: 2 - m_BounceScale: 1 - m_IndirectOutputScale: 1 - m_AlbedoBoost: 1 - m_TemporalCoherenceThreshold: 1 - m_EnvironmentLightingMode: 0 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 0 - m_LightmapEditorSettings: - serializedVersion: 3 - m_Resolution: 1 - m_BakeResolution: 50 - m_TextureWidth: 1024 - m_TextureHeight: 1024 - m_AOMaxDistance: 1 - m_Padding: 2 - m_CompAOExponent: 0 - m_LightmapParameters: {fileID: 0} - m_TextureCompression: 0 - m_FinalGather: 0 - m_FinalGatherRayCount: 1024 - m_ReflectionCompression: 2 - m_LightmapSnapshot: {fileID: 0} - m_RuntimeCPUUsage: 25 ---- !u!196 &5 -NavMeshSettings: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_BuildSettings: - serializedVersion: 2 - agentRadius: .5 - agentHeight: 2 - agentSlope: 45 - agentClimb: .400000006 - ledgeDropHeight: 0 - maxJumpAcrossDistance: 0 - accuratePlacement: 0 - minRegionArea: 2 - cellSize: .166666657 - manualCellSize: 0 - m_NavMeshData: {fileID: 0} ---- !u!1001 &1169191 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 723351974} - m_Modifications: - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.x - value: 2.51999998 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.y - value: .189999998 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.z - value: 1.52999997 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.y - value: -1.78813934e-07 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_RootOrder - value: 4 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalScale.x - value: .899999917 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalScale.z - value: .900000036 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - m_IsPrefabParent: 0 ---- !u!4 &112947644 stripped -Transform: - m_PrefabParentObject: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - m_PrefabInternal: {fileID: 676638055} ---- !u!1001 &300499920 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 2041906756} - m_Modifications: - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.x - value: -2.46000004 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.y - value: .189999998 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.z - value: .600000024 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_RootOrder - value: 4 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &437243915 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 437243916} - - 222: {fileID: 437243919} - - 114: {fileID: 437243918} - - 114: {fileID: 437243917} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &437243916 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 437243915} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1622510500} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 177.5, y: 0} - m_SizeDelta: {x: 204.699997, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &437243917 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 437243915} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 1} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!114 &437243918 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 437243915} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 3 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: 'Tap Unity logos ' ---- !u!222 &437243919 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 437243915} ---- !u!1001 &444438048 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 723351974} - m_Modifications: - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.x - value: -2.46000004 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.y - value: .189999998 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.z - value: -.370000005 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.y - value: -1.78813934e-07 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_RootOrder - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalScale.x - value: .899999917 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalScale.z - value: .900000036 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &479835905 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 479835906} - - 223: {fileID: 479835909} - - 114: {fileID: 479835908} - - 114: {fileID: 479835907} - m_Layer: 5 - m_Name: Canvas - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &479835906 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 479835905} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0, y: 0, z: 0} - m_Children: - - {fileID: 1360329865} - - {fileID: 878382147} - m_Father: {fileID: 0} - m_RootOrder: 3 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0, y: 0} ---- !u!114 &479835907 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 479835905} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreReversedGraphics: 1 - m_BlockingObjects: 0 - m_BlockingMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!114 &479835908 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 479835905} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UiScaleMode: 1 - m_ReferencePixelsPerUnit: 100 - m_ScaleFactor: 1 - m_ReferenceResolution: {x: 640, y: 480} - m_ScreenMatchMode: 0 - m_MatchWidthOrHeight: 1 - m_PhysicalUnit: 3 - m_FallbackScreenDPI: 96 - m_DefaultSpriteDPI: 96 - m_DynamicPixelsPerUnit: 1 ---- !u!223 &479835909 -Canvas: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 479835905} - m_Enabled: 1 - serializedVersion: 2 - m_RenderMode: 0 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!1 &501236164 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 100000, guid: e489ac3472ad77e4496ad84b9af2013a, type: 2} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 501236165} - - 212: {fileID: 501236169} - - 61: {fileID: 501236168} - - 114: {fileID: 501236167} - - 114: {fileID: 501236166} - m_Layer: 0 - m_Name: Unity_Logo - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &501236165 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 400000, guid: e489ac3472ad77e4496ad84b9af2013a, type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 501236164} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -1.20000005, y: -22.1000004, z: 0} - m_LocalScale: {x: 3, y: 3, z: 3} - m_Children: [] - m_Father: {fileID: 2096873804} - m_RootOrder: 0 ---- !u!114 &501236166 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 11400002, guid: e489ac3472ad77e4496ad84b9af2013a, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 501236164} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1235405773, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - numberOfTapsRequired: 1 - timeLimit: Infinity - distanceLimit: 1 ---- !u!114 &501236167 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 11400000, guid: e489ac3472ad77e4496ad84b9af2013a, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 501236164} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 2e92e2b213d0040cd99ba07a7da907dd, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!61 &501236168 -BoxCollider2D: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 6100000, guid: e489ac3472ad77e4496ad84b9af2013a, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 501236164} - m_Enabled: 1 - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_UsedByEffector: 0 - m_Offset: {x: 0, y: 0} - serializedVersion: 2 - m_Size: {x: 2, y: 2} ---- !u!212 &501236169 -SpriteRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 21200000, guid: e489ac3472ad77e4496ad84b9af2013a, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 501236164} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_Materials: - - {fileID: 10754, guid: 0000000000000000e000000000000000, type: 0} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 0 - m_ProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_ImportantGI: 0 - m_AutoUVMaxDistance: .5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingOrder: 0 - m_Sprite: {fileID: 21300000, guid: 533b9df4691d947d9921a0053b5ce231, type: 3} - m_Color: {r: 1, g: 1, b: 1, a: 1} ---- !u!4 &505714449 stripped -Transform: - m_PrefabParentObject: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - m_PrefabInternal: {fileID: 1694402602} ---- !u!1 &529543778 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 100000, guid: e489ac3472ad77e4496ad84b9af2013a, type: 2} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 529543779} - - 212: {fileID: 529543783} - - 61: {fileID: 529543782} - - 114: {fileID: 529543781} - - 114: {fileID: 529543780} - m_Layer: 0 - m_Name: Unity_Logo - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &529543779 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 400000, guid: e489ac3472ad77e4496ad84b9af2013a, type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 529543778} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 6.5999999, y: -22.1000004, z: 0} - m_LocalScale: {x: 3, y: 3, z: 3} - m_Children: [] - m_Father: {fileID: 2096873804} - m_RootOrder: 2 ---- !u!114 &529543780 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 11400002, guid: e489ac3472ad77e4496ad84b9af2013a, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 529543778} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1235405773, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - numberOfTapsRequired: 1 - timeLimit: Infinity - distanceLimit: 1 ---- !u!114 &529543781 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 11400000, guid: e489ac3472ad77e4496ad84b9af2013a, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 529543778} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 2e92e2b213d0040cd99ba07a7da907dd, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!61 &529543782 -BoxCollider2D: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 6100000, guid: e489ac3472ad77e4496ad84b9af2013a, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 529543778} - m_Enabled: 1 - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_UsedByEffector: 0 - m_Offset: {x: 0, y: 0} - serializedVersion: 2 - m_Size: {x: 2, y: 2} ---- !u!212 &529543783 -SpriteRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 21200000, guid: e489ac3472ad77e4496ad84b9af2013a, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 529543778} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_Materials: - - {fileID: 10754, guid: 0000000000000000e000000000000000, type: 0} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 0 - m_ProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_ImportantGI: 0 - m_AutoUVMaxDistance: .5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingOrder: 0 - m_Sprite: {fileID: 21300000, guid: 533b9df4691d947d9921a0053b5ce231, type: 3} - m_Color: {r: 1, g: 1, b: 1, a: 1} ---- !u!1001 &543251036 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 11400000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: layers.Array.size - value: 5 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_RootOrder - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 11400000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: layers.Array.data[0] - value: - objectReference: {fileID: 1416507468} - - target: {fileID: 11400000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: layers.Array.data[1] - value: - objectReference: {fileID: 871116141} - - target: {fileID: 11400000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: layers.Array.data[2] - value: - objectReference: {fileID: 1969944225} - - target: {fileID: 11400000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: layers.Array.data[3] - value: - objectReference: {fileID: 723351973} - - target: {fileID: 11400000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: layers.Array.data[4] - value: - objectReference: {fileID: 2041906757} - - target: {fileID: 11400004, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_Enabled - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 11400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_Enabled - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 11400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: DisableOnMobilePlatforms - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 11400004, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: DisableOnNonTouchPlatforms - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &655915740 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 655915741} - m_Layer: 0 - m_Name: Scene - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &655915741 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 655915740} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1969944223} - - {fileID: 871116140} - - {fileID: 1416507463} - - {fileID: 2096873804} - - {fileID: 2041906756} - - {fileID: 723351974} - - {fileID: 1810922940} - m_Father: {fileID: 0} - m_RootOrder: 1 ---- !u!1001 &676638055 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 723351974} - m_Modifications: - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.x - value: -.479999989 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.y - value: .189999998 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.z - value: .660000026 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_RootOrder - value: 1 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &723351972 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 723351974} - - 114: {fileID: 723351973} - - 114: {fileID: 723351976} - - 114: {fileID: 723351975} - m_Layer: 0 - m_Name: Right - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &723351973 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 723351972} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1780265814, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - Name: Fullscreen @ Right 3D Camera - type: 1 - _camera: {fileID: 871116139} ---- !u!4 &723351974 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 723351972} - m_LocalRotation: {x: 0, y: .347671896, z: 0, w: -.937616289} - m_LocalPosition: {x: 100, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1179775455} - - {fileID: 112947644} - - {fileID: 918714815} - - {fileID: 1081621263} - - {fileID: 1005634965} - m_Father: {fileID: 655915741} - m_RootOrder: 5 ---- !u!114 &723351975 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 723351972} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1905284378, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &723351976 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 723351972} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1097873817, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 1 - minScreenPointsDistance: .5 - screenTransformThreshold: .100000001 - projection: 0 - projectionPlaneNormal: {x: 0, y: 0, z: 1} ---- !u!1 &759689236 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 759689238} - - 114: {fileID: 759689237} - m_Layer: 0 - m_Name: EventSystem - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &759689237 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 759689236} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_FirstSelected: {fileID: 0} - m_sendNavigationEvents: 1 - m_DragThreshold: 5 ---- !u!4 &759689238 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 759689236} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 4 ---- !u!4 &808890202 stripped -Transform: - m_PrefabParentObject: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - m_PrefabInternal: {fileID: 1777335247} ---- !u!1 &871116138 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 871116140} - - 20: {fileID: 871116139} - - 114: {fileID: 871116141} - m_Layer: 0 - m_Name: Right 3D Camera - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!20 &871116139 -Camera: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 871116138} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1} - m_NormalizedViewPortRect: - serializedVersion: 2 - x: .5 - y: 0 - width: .5 - height: 1 - near clip plane: .300000012 - far clip plane: 1000 - field of view: 60 - orthographic: 0 - orthographic size: 5 - m_Depth: 0 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: .0219999999 - m_StereoMirrorMode: 0 ---- !u!4 &871116140 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 871116138} - m_LocalRotation: {x: -.426461279, y: .452098191, z: -.261019111, w: -.738652229} - m_LocalPosition: {x: 104.459999, y: 9.65999985, z: -2.17000008} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 655915741} - m_RootOrder: 1 ---- !u!114 &871116141 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 871116138} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1298086939, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - Name: Right 3D Camera - layerMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!1 &878382146 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 878382147} - - 222: {fileID: 878382150} - - 114: {fileID: 878382149} - - 114: {fileID: 878382148} - m_Layer: 5 - m_Name: Description - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &878382147 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 878382146} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 479835906} - m_RootOrder: 1 - m_AnchorMin: {x: 1, y: 1} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -152, y: -74} - m_SizeDelta: {x: 276, y: 128} - m_Pivot: {x: .5, y: .5} ---- !u!114 &878382148 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 878382146} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 1} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!114 &878382149 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 878382146} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 2 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: "Multiuser environment\n\nThis example shows how to use \n3D and - 2D layers simultaneously." ---- !u!222 &878382150 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 878382146} ---- !u!1 &897580452 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 897580453} - - 114: {fileID: 897580454} - m_Layer: 5 - m_Name: Drag - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &897580453 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 897580452} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1495978976} - - {fileID: 1863190594} - m_Father: {fileID: 1735991412} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &897580454 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 897580452} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: 60 - m_PreferredWidth: -1 - m_PreferredHeight: 60 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 ---- !u!1 &906624104 stripped -GameObject: - m_PrefabParentObject: {fileID: 100000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - m_PrefabInternal: {fileID: 543251036} ---- !u!114 &906624105 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 906624104} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 175516946, guid: bb6056dc800c1084da7273cb9f23f5cb, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - TouchTags: - tagList: - - Touch - MouseTags: - tagList: - - Mouse - PenTags: - tagList: - - Pen ---- !u!114 &906624106 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 906624104} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1496140412, guid: bb6056dc800c1084da7273cb9f23f5cb, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - DisableMouseInputInBuilds: 1 - Tags: - tagList: - - Touch ---- !u!4 &918714815 stripped -Transform: - m_PrefabParentObject: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - m_PrefabInternal: {fileID: 444438048} ---- !u!4 &1005634965 stripped -Transform: - m_PrefabParentObject: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - m_PrefabInternal: {fileID: 1169191} ---- !u!1 &1060318960 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 100000, guid: e489ac3472ad77e4496ad84b9af2013a, type: 2} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1060318961} - - 212: {fileID: 1060318965} - - 61: {fileID: 1060318964} - - 114: {fileID: 1060318963} - - 114: {fileID: 1060318962} - m_Layer: 0 - m_Name: Unity_Logo - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1060318961 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 400000, guid: e489ac3472ad77e4496ad84b9af2013a, type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1060318960} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -9, y: -22.1000004, z: 0} - m_LocalScale: {x: 3, y: 3, z: 3} - m_Children: [] - m_Father: {fileID: 2096873804} - m_RootOrder: 1 ---- !u!114 &1060318962 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 11400002, guid: e489ac3472ad77e4496ad84b9af2013a, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1060318960} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1235405773, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - numberOfTapsRequired: 1 - timeLimit: Infinity - distanceLimit: 1 ---- !u!114 &1060318963 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 11400000, guid: e489ac3472ad77e4496ad84b9af2013a, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1060318960} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 2e92e2b213d0040cd99ba07a7da907dd, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!61 &1060318964 -BoxCollider2D: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 6100000, guid: e489ac3472ad77e4496ad84b9af2013a, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1060318960} - m_Enabled: 1 - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_UsedByEffector: 0 - m_Offset: {x: 0, y: 0} - serializedVersion: 2 - m_Size: {x: 2, y: 2} ---- !u!212 &1060318965 -SpriteRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 21200000, guid: e489ac3472ad77e4496ad84b9af2013a, - type: 2} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1060318960} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_Materials: - - {fileID: 10754, guid: 0000000000000000e000000000000000, type: 0} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 0 - m_ProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_ImportantGI: 0 - m_AutoUVMaxDistance: .5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingOrder: 0 - m_Sprite: {fileID: 21300000, guid: 533b9df4691d947d9921a0053b5ce231, type: 3} - m_Color: {r: 1, g: 1, b: 1, a: 1} ---- !u!1001 &1070768294 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 2041906756} - m_Modifications: - - target: {fileID: 419514, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 419514, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 419514, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - propertyPath: m_LocalPosition.z - value: .100000001 - objectReference: {fileID: 0} - - target: {fileID: 419514, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 419514, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 419514, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 419514, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 419514, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - propertyPath: m_RootOrder - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 419514, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - propertyPath: m_LocalScale.z - value: 1 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - m_IsPrefabParent: 0 ---- !u!4 &1081621263 stripped -Transform: - m_PrefabParentObject: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - m_PrefabInternal: {fileID: 1314813188} ---- !u!1001 &1098595501 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 723351974} - m_Modifications: - - target: {fileID: 419514, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - propertyPath: m_LocalPosition.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 419514, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 419514, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - propertyPath: m_LocalPosition.z - value: .100000001 - objectReference: {fileID: 0} - - target: {fileID: 419514, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 419514, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 419514, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 419514, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 419514, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - propertyPath: m_RootOrder - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - m_IsPrefabParent: 0 ---- !u!4 &1179775455 stripped -Transform: - m_PrefabParentObject: {fileID: 419514, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - m_PrefabInternal: {fileID: 1098595501} ---- !u!4 &1198783432 stripped -Transform: - m_PrefabParentObject: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - m_PrefabInternal: {fileID: 1333142589} ---- !u!1 &1266638324 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1266638325} - - 222: {fileID: 1266638327} - - 114: {fileID: 1266638326} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1266638325 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1266638324} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1622510500} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 31, y: 0} - m_SizeDelta: {x: 60, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1266638326 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1266638324} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 26489b03725f747f998c39661c2583b5, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &1266638327 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1266638324} ---- !u!1001 &1314813188 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 723351974} - m_Modifications: - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.x - value: 2.5 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.y - value: .189999998 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalPosition.z - value: -2.31999993 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.y - value: -1.78813934e-07 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_RootOrder - value: 3 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalScale.x - value: .899999917 - objectReference: {fileID: 0} - - target: {fileID: 437898, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - propertyPath: m_LocalScale.z - value: .900000036 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: b4fd857376bb94265b47bcf5b50f67fa, type: 2} - m_IsPrefabParent: 0 ---- !u!1001 &1333142589 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 2041906756} - m_Modifications: - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.x - value: 1.52999997 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.y - value: .189999998 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.z - value: 1.62 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_RootOrder - value: 3 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &1360329864 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1360329865} - m_Layer: 5 - m_Name: Panel - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1360329865 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1360329864} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1735991412} - m_Father: {fileID: 479835906} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: .252637833, y: 1} - m_AnchoredPosition: {x: 5, y: 50} - m_SizeDelta: {x: -10, y: -120} - m_Pivot: {x: .5, y: .5} ---- !u!1 &1416507462 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1416507463} - - 20: {fileID: 1416507467} - - 124: {fileID: 1416507466} - - 92: {fileID: 1416507465} - - 81: {fileID: 1416507464} - - 114: {fileID: 1416507468} - m_Layer: 0 - m_Name: 2D Camera - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1416507463 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1416507462} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -51.8510284} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 655915741} - m_RootOrder: 2 ---- !u!81 &1416507464 -AudioListener: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1416507462} - m_Enabled: 1 ---- !u!92 &1416507465 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1416507462} - m_Enabled: 1 ---- !u!124 &1416507466 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1416507462} - m_Enabled: 1 ---- !u!20 &1416507467 -Camera: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1416507462} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 3 - m_BackGroundColor: {r: .192156866, g: .301960796, b: .474509805, a: .0196078438} - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: .300000012 - far clip plane: 1000 - field of view: 60 - orthographic: 0 - orthographic size: 5 - m_Depth: 2 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: .0219999999 - m_StereoMirrorMode: 0 ---- !u!114 &1416507468 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1416507462} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 902259921, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - Name: 2D Camera - layerMask: - serializedVersion: 2 - m_Bits: 4294967295 - layerIds: 00000000 ---- !u!4 &1474074319 stripped -Transform: - m_PrefabParentObject: {fileID: 419514, guid: 4af91eff6c67b4995be4765a62f7eb5d, type: 2} - m_PrefabInternal: {fileID: 1070768294} ---- !u!1 &1495978975 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1495978976} - - 222: {fileID: 1495978978} - - 114: {fileID: 1495978977} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1495978976 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1495978975} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 897580453} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 31, y: 0} - m_SizeDelta: {x: 60, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1495978977 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1495978975} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 71e59d6fec0b04b60acf6cad4b860a39, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &1495978978 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1495978975} ---- !u!1 &1622510499 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1622510500} - - 114: {fileID: 1622510501} - m_Layer: 5 - m_Name: Tap - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1622510500 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1622510499} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1266638325} - - {fileID: 437243916} - m_Father: {fileID: 1735991412} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1622510501 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1622510499} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: 60 - m_PreferredWidth: -1 - m_PreferredHeight: 60 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 ---- !u!1001 &1694402602 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 2041906756} - m_Modifications: - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.x - value: 2.51999998 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.y - value: .189999998 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.z - value: -.379999995 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_RootOrder - value: 1 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &1735991410 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1735991412} - - 114: {fileID: 1735991411} - m_Layer: 5 - m_Name: List - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1735991411 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1735991410} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_ChildAlignment: 0 - m_Spacing: 0 - m_ChildForceExpandWidth: 1 - m_ChildForceExpandHeight: 0 ---- !u!224 &1735991412 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1735991410} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 897580453} - - {fileID: 1622510500} - m_Father: {fileID: 1360329865} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!1001 &1772227325 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: [] - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - m_IsPrefabParent: 0 ---- !u!1001 &1777335247 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 2041906756} - m_Modifications: - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.x - value: -.50999999 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.y - value: .189999998 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalPosition.z - value: -2.4000001 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - propertyPath: m_RootOrder - value: 2 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &1810922939 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1810922940} - - 108: {fileID: 1810922941} - m_Layer: 0 - m_Name: Directional light - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1810922940 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1810922939} - m_LocalRotation: {x: .408217937, y: -.234569728, z: .109381661, w: .875426114} - m_LocalPosition: {x: 0, y: 2, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 655915741} - m_RootOrder: 6 ---- !u!108 &1810922941 -Light: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1810922939} - m_Enabled: 1 - serializedVersion: 6 - m_Type: 1 - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_Intensity: 1 - m_Range: 10 - m_SpotAngle: 30 - m_CookieSize: 10 - m_Shadows: - m_Type: 1 - m_Resolution: 3 - m_Strength: .109999999 - m_Bias: .0500000007 - m_NormalBias: .400000006 - m_Cookie: {fileID: 0} - m_DrawHalo: 0 - m_Flare: {fileID: 0} - m_RenderMode: 0 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_Lightmapping: 1 - m_BounceIntensity: 1 - m_ShadowRadius: 0 - m_ShadowAngle: 0 - m_AreaSize: {x: 1, y: 1} ---- !u!4 &1829680160 stripped -Transform: - m_PrefabParentObject: {fileID: 491238, guid: bb0a05fd2c374477cba1d93212b4600c, type: 2} - m_PrefabInternal: {fileID: 300499920} ---- !u!1 &1863190593 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1863190594} - - 222: {fileID: 1863190597} - - 114: {fileID: 1863190596} - - 114: {fileID: 1863190595} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1863190594 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1863190593} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 897580453} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 177.5, y: 0} - m_SizeDelta: {x: 204.699997, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1863190595 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1863190593} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 1} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!114 &1863190596 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1863190593} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 3 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: Drag halves of the screen and checkers separately ---- !u!222 &1863190597 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1863190593} ---- !u!1 &1969944222 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1969944223} - - 20: {fileID: 1969944224} - - 114: {fileID: 1969944225} - m_Layer: 0 - m_Name: Left 3D Camera - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1969944223 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1969944222} - m_LocalRotation: {x: .493134707, y: .143018648, z: -.0825718939, w: .85413456} - m_LocalPosition: {x: -101.980003, y: 10.0500002, z: -4.73999977} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 655915741} - m_RootOrder: 0 ---- !u!20 &1969944224 -Camera: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1969944222} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1} - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: .5 - height: 1 - near clip plane: .300000012 - far clip plane: 1000 - field of view: 60 - orthographic: 0 - orthographic size: 5 - m_Depth: 0 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: .0219999999 - m_StereoMirrorMode: 0 ---- !u!114 &1969944225 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1969944222} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1298086939, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - Name: Left 3D Camera - layerMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!1 &2041906755 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 2041906756} - - 114: {fileID: 2041906757} - - 114: {fileID: 2041906759} - - 114: {fileID: 2041906758} - m_Layer: 0 - m_Name: Left - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2041906756 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2041906755} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -100, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1474074319} - - {fileID: 505714449} - - {fileID: 808890202} - - {fileID: 1198783432} - - {fileID: 1829680160} - m_Father: {fileID: 655915741} - m_RootOrder: 4 ---- !u!114 &2041906757 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2041906755} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1780265814, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - Name: Fullscreen @ Left 3D Camera - type: 1 - _camera: {fileID: 1969944224} ---- !u!114 &2041906758 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2041906755} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1905284378, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &2041906759 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2041906755} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1097873817, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 1 - minScreenPointsDistance: .5 - screenTransformThreshold: .100000001 - projection: 0 - projectionPlaneNormal: {x: 0, y: 0, z: 1} ---- !u!1 &2096873803 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 2096873804} - m_Layer: 0 - m_Name: 2D - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2096873804 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2096873803} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 501236165} - - {fileID: 1060318961} - - {fileID: 529543779} - m_Father: {fileID: 655915741} - m_RootOrder: 3 diff --git a/ThirdParty/TouchScript/Examples/General/Multiuser/Multiuser.unity.meta b/ThirdParty/TouchScript/Examples/General/Multiuser/Multiuser.unity.meta deleted file mode 100644 index 51763fd0b..000000000 --- a/ThirdParty/TouchScript/Examples/General/Multiuser/Multiuser.unity.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 3b34d0a4b336446dd98f5f9951fe6480 -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Multiuser/Scripts.meta b/ThirdParty/TouchScript/Examples/General/Multiuser/Scripts.meta deleted file mode 100644 index 428e605e3..000000000 --- a/ThirdParty/TouchScript/Examples/General/Multiuser/Scripts.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: e01a728bd0eea4e0580bfda4b46b6cf0 -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Multiuser/Scripts/Logo.cs b/ThirdParty/TouchScript/Examples/General/Multiuser/Scripts/Logo.cs deleted file mode 100644 index 86bdae37f..000000000 --- a/ThirdParty/TouchScript/Examples/General/Multiuser/Scripts/Logo.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System; -using TouchScript.Gestures; -using UnityEngine; -using Random = UnityEngine.Random; - -namespace TouchScript.Examples.Multiuser -{ - public class Logo : MonoBehaviour - { - private static Color[] COLORS = new[] { Color.yellow, Color.red, Color.magenta, Color.green, Color.cyan, Color.blue }; - - private void OnEnable() - { - GetComponent().Tapped += tappedHandler; - } - - private void OnDisable() - { - GetComponent().Tapped -= tappedHandler; - } - - private void changeColor() - { - Color newColor = COLORS[Random.Range(0, COLORS.Length)]; - while (newColor == GetComponent().material.color) newColor = COLORS[Random.Range(0, COLORS.Length)]; - - GetComponent().material.color = newColor; - } - - private void tappedHandler(object sender, EventArgs eventArgs) - { - changeColor(); - } - } -} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Examples/General/Multiuser/Scripts/Logo.cs.meta b/ThirdParty/TouchScript/Examples/General/Multiuser/Scripts/Logo.cs.meta deleted file mode 100644 index 091acb88d..000000000 --- a/ThirdParty/TouchScript/Examples/General/Multiuser/Scripts/Logo.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: 2e92e2b213d0040cd99ba07a7da907dd -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Photos.meta b/ThirdParty/TouchScript/Examples/General/Photos.meta deleted file mode 100644 index d2aedc5d8..000000000 --- a/ThirdParty/TouchScript/Examples/General/Photos.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 938fb81d8d6ee44f1a6570978d02820d -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Photos/Materials.meta b/ThirdParty/TouchScript/Examples/General/Photos/Materials.meta deleted file mode 100644 index 9c10c5c76..000000000 --- a/ThirdParty/TouchScript/Examples/General/Photos/Materials.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 2be11aeaaa5234a408e1298c895958b9 -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 1.mat b/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 1.mat deleted file mode 100644 index 71e97594b..000000000 --- a/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 1.mat +++ /dev/null @@ -1,40 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: Photo 1 - m_Shader: {fileID: 4800000, guid: c316336e4e7e741118da40d9d340cd27, type: 3} - m_ShaderKeywords: [] - m_CustomRenderQueue: -1 - m_SavedProperties: - serializedVersion: 2 - m_TexEnvs: - data: - first: - name: _MainTex - second: - m_Texture: {fileID: 2800000, guid: 97bf9d574de664236942f6c91db57ef6, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - data: - first: - name: _Shininess - second: .078125 - data: - first: - name: _Border - second: .0500000007 - m_Colors: - data: - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} - data: - first: - name: _SpecColor - second: {r: .5, g: .5, b: .5, a: 1} diff --git a/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 1.mat.meta b/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 1.mat.meta deleted file mode 100644 index 982b560da..000000000 --- a/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 1.mat.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 2b32041c6d1424a9588e36548cca9b39 -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 2.mat b/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 2.mat deleted file mode 100644 index 1db2687e8..000000000 --- a/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 2.mat +++ /dev/null @@ -1,40 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: Photo 2 - m_Shader: {fileID: 4800000, guid: c316336e4e7e741118da40d9d340cd27, type: 3} - m_ShaderKeywords: [] - m_CustomRenderQueue: -1 - m_SavedProperties: - serializedVersion: 2 - m_TexEnvs: - data: - first: - name: _MainTex - second: - m_Texture: {fileID: 2800000, guid: 3877e55a8f20d4ed281d3011c791d7a0, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - data: - first: - name: _Shininess - second: .078125 - data: - first: - name: _Border - second: .0500000007 - m_Colors: - data: - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} - data: - first: - name: _SpecColor - second: {r: .5, g: .5, b: .5, a: 1} diff --git a/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 2.mat.meta b/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 2.mat.meta deleted file mode 100644 index 5d9f4a833..000000000 --- a/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 2.mat.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 65e991e81f3c04bd2be45b064f6bfc37 -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 3.mat b/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 3.mat deleted file mode 100644 index 0f08cce82..000000000 --- a/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 3.mat +++ /dev/null @@ -1,40 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: Photo 3 - m_Shader: {fileID: 4800000, guid: c316336e4e7e741118da40d9d340cd27, type: 3} - m_ShaderKeywords: [] - m_CustomRenderQueue: -1 - m_SavedProperties: - serializedVersion: 2 - m_TexEnvs: - data: - first: - name: _MainTex - second: - m_Texture: {fileID: 2800000, guid: 4289a9689f19344b8a9c1fb0d65361ee, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - data: - first: - name: _Shininess - second: .078125 - data: - first: - name: _Border - second: .0500000007 - m_Colors: - data: - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} - data: - first: - name: _SpecColor - second: {r: .5, g: .5, b: .5, a: 1} diff --git a/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 3.mat.meta b/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 3.mat.meta deleted file mode 100644 index 9dc8b1927..000000000 --- a/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 3.mat.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 5c60d14d247a3402ba293ed2175264cf -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 4.mat b/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 4.mat deleted file mode 100644 index 9f79efc36..000000000 --- a/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 4.mat +++ /dev/null @@ -1,40 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: Photo 4 - m_Shader: {fileID: 4800000, guid: c316336e4e7e741118da40d9d340cd27, type: 3} - m_ShaderKeywords: [] - m_CustomRenderQueue: -1 - m_SavedProperties: - serializedVersion: 2 - m_TexEnvs: - data: - first: - name: _MainTex - second: - m_Texture: {fileID: 2800000, guid: 57a936b69d896483dab1f9afe96e8ff9, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - data: - first: - name: _Shininess - second: .078125 - data: - first: - name: _Border - second: .0500000007 - m_Colors: - data: - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} - data: - first: - name: _SpecColor - second: {r: .5, g: .5, b: .5, a: 1} diff --git a/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 4.mat.meta b/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 4.mat.meta deleted file mode 100644 index 658d4e765..000000000 --- a/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 4.mat.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 6c7c9b701b5b243b89569daa003da10a -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 5.mat b/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 5.mat deleted file mode 100644 index 0405198b8..000000000 --- a/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 5.mat +++ /dev/null @@ -1,40 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: Photo 5 - m_Shader: {fileID: 4800000, guid: c316336e4e7e741118da40d9d340cd27, type: 3} - m_ShaderKeywords: [] - m_CustomRenderQueue: -1 - m_SavedProperties: - serializedVersion: 2 - m_TexEnvs: - data: - first: - name: _MainTex - second: - m_Texture: {fileID: 2800000, guid: 7c625bf6ca9a9407bb4d5cdf08367926, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - data: - first: - name: _Shininess - second: .078125 - data: - first: - name: _Border - second: .0500000007 - m_Colors: - data: - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} - data: - first: - name: _SpecColor - second: {r: .5, g: .5, b: .5, a: 1} diff --git a/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 5.mat.meta b/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 5.mat.meta deleted file mode 100644 index 3c45fb2d9..000000000 --- a/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 5.mat.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: dddd0246cccb34bc28e3b01bcd33cc9d -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 6.mat b/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 6.mat deleted file mode 100644 index b843d2938..000000000 --- a/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 6.mat +++ /dev/null @@ -1,40 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: Photo 6 - m_Shader: {fileID: 4800000, guid: c316336e4e7e741118da40d9d340cd27, type: 3} - m_ShaderKeywords: [] - m_CustomRenderQueue: -1 - m_SavedProperties: - serializedVersion: 2 - m_TexEnvs: - data: - first: - name: _MainTex - second: - m_Texture: {fileID: 2800000, guid: 1d22a1f67974a45a1bdfb0503b81ec57, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - data: - first: - name: _Shininess - second: .078125 - data: - first: - name: _Border - second: .0500000007 - m_Colors: - data: - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} - data: - first: - name: _SpecColor - second: {r: .5, g: .5, b: .5, a: 1} diff --git a/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 6.mat.meta b/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 6.mat.meta deleted file mode 100644 index 88eaf4aa8..000000000 --- a/ThirdParty/TouchScript/Examples/General/Photos/Materials/Photo 6.mat.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 5062478a104a94f9ca023feb3e9878f8 -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Photos/Photos.unity b/ThirdParty/TouchScript/Examples/General/Photos/Photos.unity deleted file mode 100644 index c4fbdecf1..000000000 --- a/ThirdParty/TouchScript/Examples/General/Photos/Photos.unity +++ /dev/null @@ -1,2330 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!29 &1 -SceneSettings: - m_ObjectHideFlags: 0 - m_PVSData: - m_PVSObjectsArray: [] - m_PVSPortalsArray: [] - m_OcclusionBakeSettings: - smallestOccluder: 5 - smallestHole: .25 - backfaceThreshold: 100 ---- !u!104 &2 -RenderSettings: - m_ObjectHideFlags: 0 - serializedVersion: 6 - m_Fog: 0 - m_FogColor: {r: .5, g: .5, b: .5, a: 1} - m_FogMode: 3 - m_FogDensity: .00999999978 - m_LinearFogStart: 0 - m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} - m_AmbientEquatorColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} - m_AmbientGroundColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} - m_AmbientIntensity: 1 - m_AmbientMode: 3 - m_SkyboxMaterial: {fileID: 2100000, guid: a07fadb24ea940240afba3afc1a692cc, type: 2} - m_HaloStrength: .5 - m_FlareStrength: 1 - m_FlareFadeSpeed: 3 - m_HaloTexture: {fileID: 0} - m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} - m_DefaultReflectionMode: 0 - m_DefaultReflectionResolution: 128 - m_ReflectionBounces: 1 - m_ReflectionIntensity: 1 - m_CustomReflection: {fileID: 0} - m_Sun: {fileID: 0} ---- !u!157 &4 -LightmapSettings: - m_ObjectHideFlags: 0 - serializedVersion: 5 - m_GIWorkflowMode: 1 - m_LightmapsMode: 1 - m_GISettings: - serializedVersion: 2 - m_BounceScale: 1 - m_IndirectOutputScale: 1 - m_AlbedoBoost: 1 - m_TemporalCoherenceThreshold: 1 - m_EnvironmentLightingMode: 0 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 0 - m_LightmapEditorSettings: - serializedVersion: 3 - m_Resolution: 1 - m_BakeResolution: 50 - m_TextureWidth: 1024 - m_TextureHeight: 1024 - m_AOMaxDistance: 1 - m_Padding: 2 - m_CompAOExponent: 0 - m_LightmapParameters: {fileID: 0} - m_TextureCompression: 0 - m_FinalGather: 0 - m_FinalGatherRayCount: 1024 - m_ReflectionCompression: 2 - m_LightmapSnapshot: {fileID: 0} - m_RuntimeCPUUsage: 25 ---- !u!196 &5 -NavMeshSettings: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_BuildSettings: - serializedVersion: 2 - agentRadius: .5 - agentHeight: 2 - agentSlope: 45 - agentClimb: .400000006 - ledgeDropHeight: 0 - maxJumpAcrossDistance: 0 - accuratePlacement: 0 - minRegionArea: 2 - cellSize: .166666657 - manualCellSize: 0 - m_NavMeshData: {fileID: 0} ---- !u!1 &62216951 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 62216952} - - 20: {fileID: 62216957} - - 92: {fileID: 62216956} - - 124: {fileID: 62216955} - - 81: {fileID: 62216954} - m_Layer: 0 - m_Name: Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &62216952 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_LocalRotation: {x: .504000127, y: 0, z: 0, w: .863703549} - m_LocalPosition: {x: -.349999994, y: 3.95000005, z: -2.25999999} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 930800601} - m_RootOrder: 1 ---- !u!81 &62216954 -AudioListener: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 ---- !u!124 &62216955 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 ---- !u!92 &62216956 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 ---- !u!20 &62216957 -Camera: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1} - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: .300000012 - far clip plane: 10 - field of view: 30 - orthographic: 0 - orthographic size: 100 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: .0219999999 - m_StereoMirrorMode: 0 ---- !u!1 &242343085 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 242343086} - - 222: {fileID: 242343088} - - 114: {fileID: 242343087} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &242343086 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 242343085} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1962593004} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 31, y: 0} - m_SizeDelta: {x: 60, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &242343087 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 242343085} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: a4d8406d5f5c04e2399bbfa832e5c551, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &242343088 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 242343085} ---- !u!1 &250857269 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 250857271} - - 114: {fileID: 250857270} - m_Layer: 5 - m_Name: List - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &250857270 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 250857269} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_ChildAlignment: 0 - m_Spacing: 0 - m_ChildForceExpandWidth: 1 - m_ChildForceExpandHeight: 0 ---- !u!224 &250857271 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 250857269} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1679844150} - - {fileID: 1962593004} - - {fileID: 744958296} - m_Father: {fileID: 1981142013} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!1001 &543251036 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 11400000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: layers.Array.size - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 11400000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: layers.Array.data[0] - value: - objectReference: {fileID: 0} - - target: {fileID: 11400004, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_Enabled - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 11400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_Enabled - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - m_IsPrefabParent: 0 ---- !u!4 &584553677 stripped -Transform: - m_PrefabParentObject: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - m_PrefabInternal: {fileID: 599866430} ---- !u!1001 &599866430 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 930800601} - m_Modifications: - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalPosition.x - value: -.0399999991 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalPosition.y - value: -2.32999992 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalPosition.z - value: .25999999 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalRotation.y - value: .360566735 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalRotation.w - value: .932733476 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_RootOrder - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalScale.x - value: 3 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalScale.y - value: 3 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalScale.z - value: 3 - objectReference: {fileID: 0} - m_RemovedComponents: - - {fileID: 9500000, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - m_ParentPrefab: {fileID: 100100000, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - m_IsPrefabParent: 0 ---- !u!1 &616894716 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 616894717} - - 33: {fileID: 616894721} - - 23: {fileID: 616894720} - - 65: {fileID: 616894719} - - 54: {fileID: 616894718} - - 114: {fileID: 616894723} - - 114: {fileID: 616894722} - - 114: {fileID: 616894724} - m_Layer: 0 - m_Name: Photo - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &616894717 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 616894716} - m_LocalRotation: {x: 0, y: 0, z: -.146083042, w: .989272356} - m_LocalPosition: {x: .217999995, y: .407999992, z: -0} - m_LocalScale: {x: .5, y: .5, z: .5} - m_Children: [] - m_Father: {fileID: 1663453577} - m_RootOrder: 1 ---- !u!54 &616894718 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 616894716} - serializedVersion: 2 - m_Mass: 1 - m_Drag: 0 - m_AngularDrag: .0500000007 - m_UseGravity: 0 - m_IsKinematic: 1 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!65 &616894719 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 616894716} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 9.99999975e-05} - m_Center: {x: 0, y: 0, z: 0} ---- !u!23 &616894720 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 616894716} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 0 - m_Materials: - - {fileID: 2100000, guid: 65e991e81f3c04bd2be45b064f6bfc37, type: 2} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 - m_ProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_ImportantGI: 0 - m_AutoUVMaxDistance: .5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!33 &616894721 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 616894716} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!114 &616894722 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 616894716} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1905284378, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &616894723 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 616894716} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1097873817, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 7 - minScreenPointsDistance: .5 - screenTransformThreshold: .100000001 - projection: 2 - projectionPlaneNormal: {x: 0, y: 1, z: 0} ---- !u!114 &616894724 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 616894716} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1088824302, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - ignoreChildren: 0 ---- !u!1 &740851131 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 740851132} - - 223: {fileID: 740851135} - - 114: {fileID: 740851134} - - 114: {fileID: 740851133} - m_Layer: 5 - m_Name: Canvas - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &740851132 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0, y: 0, z: 0} - m_Children: - - {fileID: 1981142013} - - {fileID: 1552723601} - m_Father: {fileID: 0} - m_RootOrder: 3 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0, y: 0} ---- !u!114 &740851133 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreReversedGraphics: 1 - m_BlockingObjects: 0 - m_BlockingMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!114 &740851134 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UiScaleMode: 1 - m_ReferencePixelsPerUnit: 100 - m_ScaleFactor: 1 - m_ReferenceResolution: {x: 640, y: 480} - m_ScreenMatchMode: 0 - m_MatchWidthOrHeight: 1 - m_PhysicalUnit: 3 - m_FallbackScreenDPI: 96 - m_DefaultSpriteDPI: 96 - m_DynamicPixelsPerUnit: 1 ---- !u!223 &740851135 -Canvas: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_Enabled: 1 - serializedVersion: 2 - m_RenderMode: 0 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!1 &744958294 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 744958296} - - 114: {fileID: 744958295} - m_Layer: 5 - m_Name: Scale - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &744958295 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 744958294} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: 60 - m_PreferredWidth: -1 - m_PreferredHeight: 60 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 ---- !u!224 &744958296 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 744958294} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 973350275} - - {fileID: 990023250} - m_Father: {fileID: 250857271} - m_RootOrder: 2 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!1 &906624104 stripped -GameObject: - m_PrefabParentObject: {fileID: 100000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - m_PrefabInternal: {fileID: 543251036} ---- !u!114 &906624105 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 906624104} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 175516946, guid: bb6056dc800c1084da7273cb9f23f5cb, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - TouchTags: - tagList: - - Touch - MouseTags: - tagList: - - Mouse - PenTags: - tagList: - - Pen ---- !u!114 &906624106 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 906624104} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1496140412, guid: bb6056dc800c1084da7273cb9f23f5cb, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - DisableMouseInputInBuilds: 1 - Tags: - tagList: - - Touch ---- !u!1 &930800600 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 930800601} - m_Layer: 0 - m_Name: Scene - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &930800601 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 930800600} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 2135305920} - - {fileID: 62216952} - - {fileID: 584553677} - - {fileID: 1663453577} - m_Father: {fileID: 0} - m_RootOrder: 2 ---- !u!1 &973350274 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 973350275} - - 222: {fileID: 973350277} - - 114: {fileID: 973350276} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &973350275 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 973350274} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 744958296} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 31, y: 0} - m_SizeDelta: {x: 60, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &973350276 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 973350274} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 4d2e9d1d9030140608b540e419744612, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &973350277 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 973350274} ---- !u!1 &990023249 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 990023250} - - 222: {fileID: 990023253} - - 114: {fileID: 990023252} - - 114: {fileID: 990023251} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &990023250 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 990023249} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 744958296} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 177.5, y: 0} - m_SizeDelta: {x: 204.699997, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &990023251 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 990023249} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 1} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!114 &990023252 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 990023249} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 3 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: 'Use two fingers - - or ALT + Mouse - - to scale a photo' ---- !u!222 &990023253 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 990023249} ---- !u!1 &1138005899 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1138005900} - - 222: {fileID: 1138005902} - - 114: {fileID: 1138005901} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1138005900 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1138005899} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1679844150} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 31, y: 0} - m_SizeDelta: {x: 60, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1138005901 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1138005899} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 71e59d6fec0b04b60acf6cad4b860a39, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &1138005902 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1138005899} ---- !u!1 &1399100003 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1399100004} - - 222: {fileID: 1399100006} - - 114: {fileID: 1399100005} - - 114: {fileID: 1399100007} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1399100004 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1399100003} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1962593004} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 177.5, y: 0} - m_SizeDelta: {x: 204.699997, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1399100005 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1399100003} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 3 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: 'Use two fingers - - or ALT + Mouse - - to rotate a photo' ---- !u!222 &1399100006 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1399100003} ---- !u!114 &1399100007 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1399100003} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 1} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!1 &1408280580 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1408280581} - - 222: {fileID: 1408280583} - - 114: {fileID: 1408280582} - - 114: {fileID: 1408280584} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1408280581 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408280580} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1679844150} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 177.5, y: 0} - m_SizeDelta: {x: 204.699997, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1408280582 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408280580} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 3 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: Drag a photo to move it ---- !u!222 &1408280583 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408280580} ---- !u!114 &1408280584 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408280580} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 1} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!1 &1552723600 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1552723601} - - 222: {fileID: 1552723603} - - 114: {fileID: 1552723602} - - 114: {fileID: 1552723604} - m_Layer: 5 - m_Name: Description - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1552723601 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1552723600} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 740851132} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 178, y: 78} - m_SizeDelta: {x: 320, y: 128} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1552723602 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1552723600} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: "Photos\n\nThis example shows how to use TransformGesture and PressGesture.\n\nCheck - the scripts on Scene/Container \nand its children." ---- !u!222 &1552723603 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1552723600} ---- !u!114 &1552723604 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1552723600} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 1} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!1 &1602395996 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1602395997} - - 33: {fileID: 1602396001} - - 23: {fileID: 1602396000} - - 65: {fileID: 1602395999} - - 54: {fileID: 1602395998} - - 114: {fileID: 1602396003} - - 114: {fileID: 1602396002} - - 114: {fileID: 1602396004} - m_Layer: 0 - m_Name: Photo - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1602395997 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1602395996} - m_LocalRotation: {x: 0, y: 0, z: .0849821866, w: .996382475} - m_LocalPosition: {x: -.382999986, y: -.141000003, z: 0} - m_LocalScale: {x: .5, y: .5, z: .5} - m_Children: [] - m_Father: {fileID: 1663453577} - m_RootOrder: 2 ---- !u!54 &1602395998 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1602395996} - serializedVersion: 2 - m_Mass: 1 - m_Drag: 0 - m_AngularDrag: .0500000007 - m_UseGravity: 0 - m_IsKinematic: 1 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!65 &1602395999 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1602395996} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 9.99999975e-05} - m_Center: {x: 0, y: 0, z: 0} ---- !u!23 &1602396000 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1602395996} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 0 - m_Materials: - - {fileID: 2100000, guid: 5c60d14d247a3402ba293ed2175264cf, type: 2} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 - m_ProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_ImportantGI: 0 - m_AutoUVMaxDistance: .5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!33 &1602396001 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1602395996} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!114 &1602396002 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1602395996} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1905284378, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &1602396003 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1602395996} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1097873817, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 7 - minScreenPointsDistance: .5 - screenTransformThreshold: .100000001 - projection: 2 - projectionPlaneNormal: {x: 0, y: 1, z: 0} ---- !u!114 &1602396004 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1602395996} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1088824302, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - ignoreChildren: 0 ---- !u!1 &1663453576 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1663453577} - - 114: {fileID: 1663453578} - m_Layer: 0 - m_Name: Container - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1663453577 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1663453576} - m_LocalRotation: {x: .707106829, y: 0, z: 0, w: .707106709} - m_LocalPosition: {x: 0, y: -.0299999993, z: 0} - m_LocalScale: {x: 2, y: 2, z: 2} - m_Children: - - {fileID: 1939589034} - - {fileID: 616894717} - - {fileID: 1602395997} - - {fileID: 2057033769} - - {fileID: 1851360212} - - {fileID: 1985307887} - m_Father: {fileID: 930800601} - m_RootOrder: 3 ---- !u!114 &1663453578 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1663453576} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0b1369f3c70c84786b656739dc52e9b3, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!1 &1679844149 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1679844150} - - 114: {fileID: 1679844151} - m_Layer: 5 - m_Name: Drag - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1679844150 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1679844149} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1138005900} - - {fileID: 1408280581} - m_Father: {fileID: 250857271} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1679844151 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1679844149} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: 60 - m_PreferredWidth: -1 - m_PreferredHeight: 60 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 ---- !u!1 &1764701046 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1764701050} - - 114: {fileID: 1764701049} - m_Layer: 0 - m_Name: EventSystem - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1764701049 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1764701046} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_FirstSelected: {fileID: 0} - m_sendNavigationEvents: 1 - m_DragThreshold: 5 ---- !u!4 &1764701050 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1764701046} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 4 ---- !u!1001 &1772227325 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 11400000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - propertyPath: m_Enabled - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 100000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - propertyPath: m_RootOrder - value: 1 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &1851360211 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1851360212} - - 33: {fileID: 1851360216} - - 23: {fileID: 1851360215} - - 65: {fileID: 1851360214} - - 54: {fileID: 1851360213} - - 114: {fileID: 1851360218} - - 114: {fileID: 1851360217} - - 114: {fileID: 1851360219} - m_Layer: 0 - m_Name: Photo - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1851360212 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1851360211} - m_LocalRotation: {x: -3.82131802e-08, y: -5.85195004e-09, z: -.253097028, w: .967440963} - m_LocalPosition: {x: .398000002, y: .0949990302, z: -1.48897783e-10} - m_LocalScale: {x: .5, y: .5, z: .5} - m_Children: [] - m_Father: {fileID: 1663453577} - m_RootOrder: 4 ---- !u!54 &1851360213 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1851360211} - serializedVersion: 2 - m_Mass: 1 - m_Drag: 0 - m_AngularDrag: .0500000007 - m_UseGravity: 0 - m_IsKinematic: 1 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!65 &1851360214 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1851360211} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 9.99999975e-05} - m_Center: {x: 0, y: 0, z: 0} ---- !u!23 &1851360215 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1851360211} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 0 - m_Materials: - - {fileID: 2100000, guid: dddd0246cccb34bc28e3b01bcd33cc9d, type: 2} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 - m_ProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_ImportantGI: 0 - m_AutoUVMaxDistance: .5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!33 &1851360216 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1851360211} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!114 &1851360217 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1851360211} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1905284378, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &1851360218 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1851360211} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1097873817, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 7 - minScreenPointsDistance: .5 - screenTransformThreshold: .100000001 - projection: 2 - projectionPlaneNormal: {x: 0, y: 1, z: 0} ---- !u!114 &1851360219 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1851360211} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1088824302, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - ignoreChildren: 0 ---- !u!1 &1939589033 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1939589034} - - 33: {fileID: 1939589038} - - 23: {fileID: 1939589037} - - 65: {fileID: 1939589036} - - 54: {fileID: 1939589035} - - 114: {fileID: 1939589040} - - 114: {fileID: 1939589039} - - 114: {fileID: 1939589041} - m_Layer: 0 - m_Name: Photo - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1939589034 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1939589033} - m_LocalRotation: {x: 0, y: 0, z: -.196972951, w: .980408967} - m_LocalPosition: {x: -.268999994, y: .333999991, z: 0} - m_LocalScale: {x: .5, y: .5, z: .5} - m_Children: [] - m_Father: {fileID: 1663453577} - m_RootOrder: 0 ---- !u!54 &1939589035 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1939589033} - serializedVersion: 2 - m_Mass: 1 - m_Drag: 0 - m_AngularDrag: .0500000007 - m_UseGravity: 0 - m_IsKinematic: 1 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!65 &1939589036 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1939589033} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 9.99999975e-05} - m_Center: {x: 0, y: 0, z: 0} ---- !u!23 &1939589037 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1939589033} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 0 - m_Materials: - - {fileID: 2100000, guid: 2b32041c6d1424a9588e36548cca9b39, type: 2} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 - m_ProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_ImportantGI: 0 - m_AutoUVMaxDistance: .5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!33 &1939589038 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1939589033} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!114 &1939589039 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1939589033} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1905284378, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &1939589040 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1939589033} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1097873817, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 7 - minScreenPointsDistance: .5 - screenTransformThreshold: .100000001 - projection: 2 - projectionPlaneNormal: {x: 0, y: 1, z: 0} ---- !u!114 &1939589041 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1939589033} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1088824302, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - ignoreChildren: 0 ---- !u!1 &1962593003 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1962593004} - - 114: {fileID: 1962593005} - m_Layer: 5 - m_Name: Rotate - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1962593004 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1962593003} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 242343086} - - {fileID: 1399100004} - m_Father: {fileID: 250857271} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1962593005 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1962593003} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: 60 - m_PreferredWidth: -1 - m_PreferredHeight: 60 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 ---- !u!1 &1981142012 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1981142013} - m_Layer: 5 - m_Name: Panel - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1981142013 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1981142012} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 250857271} - m_Father: {fileID: 740851132} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: .252637833, y: 1} - m_AnchoredPosition: {x: 5, y: 50} - m_SizeDelta: {x: -10, y: -120} - m_Pivot: {x: .5, y: .5} ---- !u!1 &1985307886 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1985307887} - - 33: {fileID: 1985307891} - - 23: {fileID: 1985307890} - - 65: {fileID: 1985307889} - - 54: {fileID: 1985307888} - - 114: {fileID: 1985307893} - - 114: {fileID: 1985307892} - - 114: {fileID: 1985307894} - m_Layer: 0 - m_Name: Photo - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1985307887 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1985307886} - m_LocalRotation: {x: 0, y: 0, z: .133467302, w: .991053224} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: .5, y: .5, z: .5} - m_Children: [] - m_Father: {fileID: 1663453577} - m_RootOrder: 5 ---- !u!54 &1985307888 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1985307886} - serializedVersion: 2 - m_Mass: 1 - m_Drag: 0 - m_AngularDrag: .0500000007 - m_UseGravity: 0 - m_IsKinematic: 1 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!65 &1985307889 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1985307886} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 9.99999975e-05} - m_Center: {x: 0, y: 0, z: 0} ---- !u!23 &1985307890 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1985307886} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 0 - m_Materials: - - {fileID: 2100000, guid: 5062478a104a94f9ca023feb3e9878f8, type: 2} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 - m_ProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_ImportantGI: 0 - m_AutoUVMaxDistance: .5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!33 &1985307891 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1985307886} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!114 &1985307892 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1985307886} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1905284378, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &1985307893 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1985307886} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1097873817, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 7 - minScreenPointsDistance: .5 - screenTransformThreshold: .100000001 - projection: 2 - projectionPlaneNormal: {x: 0, y: 1, z: 0} ---- !u!114 &1985307894 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1985307886} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1088824302, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - ignoreChildren: 0 ---- !u!1 &2057033768 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 2057033769} - - 33: {fileID: 2057033773} - - 23: {fileID: 2057033772} - - 65: {fileID: 2057033771} - - 54: {fileID: 2057033770} - - 114: {fileID: 2057033775} - - 114: {fileID: 2057033774} - - 114: {fileID: 2057033776} - m_Layer: 0 - m_Name: Photo - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2057033769 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2057033768} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: .0710000023, y: -.257999986, z: 0} - m_LocalScale: {x: .5, y: .5, z: .5} - m_Children: [] - m_Father: {fileID: 1663453577} - m_RootOrder: 3 ---- !u!54 &2057033770 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2057033768} - serializedVersion: 2 - m_Mass: 1 - m_Drag: 0 - m_AngularDrag: .0500000007 - m_UseGravity: 0 - m_IsKinematic: 1 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!65 &2057033771 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2057033768} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 9.99999975e-05} - m_Center: {x: 0, y: 0, z: 0} ---- !u!23 &2057033772 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2057033768} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 0 - m_Materials: - - {fileID: 2100000, guid: 6c7c9b701b5b243b89569daa003da10a, type: 2} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 - m_ProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_ImportantGI: 0 - m_AutoUVMaxDistance: .5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!33 &2057033773 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2057033768} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!114 &2057033774 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2057033768} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1905284378, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &2057033775 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2057033768} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1097873817, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 7 - minScreenPointsDistance: .5 - screenTransformThreshold: .100000001 - projection: 2 - projectionPlaneNormal: {x: 0, y: 1, z: 0} ---- !u!114 &2057033776 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2057033768} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1088824302, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - ignoreChildren: 0 ---- !u!1 &2135305919 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 2135305920} - - 108: {fileID: 2135305921} - m_Layer: 0 - m_Name: Directional light - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2135305920 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2135305919} - m_LocalRotation: {x: .241942912, y: -.49854365, z: .221075788, w: .802523136} - m_LocalPosition: {x: 6.10041475, y: 15.5403843, z: -20.5662251} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 930800601} - m_RootOrder: 0 ---- !u!108 &2135305921 -Light: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2135305919} - m_Enabled: 1 - serializedVersion: 6 - m_Type: 1 - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_Intensity: 1.29999995 - m_Range: 10 - m_SpotAngle: 30 - m_CookieSize: 10 - m_Shadows: - m_Type: 2 - m_Resolution: 3 - m_Strength: .560000002 - m_Bias: .100000001 - m_NormalBias: .400000006 - m_Cookie: {fileID: 0} - m_DrawHalo: 0 - m_Flare: {fileID: 0} - m_RenderMode: 0 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_Lightmapping: 1 - m_BounceIntensity: 1 - m_ShadowRadius: 0 - m_ShadowAngle: 0 - m_AreaSize: {x: 1, y: 1} diff --git a/ThirdParty/TouchScript/Examples/General/Photos/Photos.unity.meta b/ThirdParty/TouchScript/Examples/General/Photos/Photos.unity.meta deleted file mode 100644 index 167cf18ef..000000000 --- a/ThirdParty/TouchScript/Examples/General/Photos/Photos.unity.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: e43bdd4f3bf144b74b4726208781dd66 -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Photos/Photos2D.unity b/ThirdParty/TouchScript/Examples/General/Photos/Photos2D.unity deleted file mode 100644 index 40b7572f6..000000000 --- a/ThirdParty/TouchScript/Examples/General/Photos/Photos2D.unity +++ /dev/null @@ -1,2323 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!29 &1 -SceneSettings: - m_ObjectHideFlags: 0 - m_PVSData: - m_PVSObjectsArray: [] - m_PVSPortalsArray: [] - m_OcclusionBakeSettings: - smallestOccluder: 5 - smallestHole: .25 - backfaceThreshold: 100 ---- !u!104 &2 -RenderSettings: - m_ObjectHideFlags: 0 - serializedVersion: 6 - m_Fog: 0 - m_FogColor: {r: .5, g: .5, b: .5, a: 1} - m_FogMode: 3 - m_FogDensity: .00999999978 - m_LinearFogStart: 0 - m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} - m_AmbientEquatorColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} - m_AmbientGroundColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} - m_AmbientIntensity: 1 - m_AmbientMode: 3 - m_SkyboxMaterial: {fileID: 2100000, guid: a07fadb24ea940240afba3afc1a692cc, type: 2} - m_HaloStrength: .5 - m_FlareStrength: 1 - m_FlareFadeSpeed: 3 - m_HaloTexture: {fileID: 0} - m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} - m_DefaultReflectionMode: 0 - m_DefaultReflectionResolution: 128 - m_ReflectionBounces: 1 - m_ReflectionIntensity: 1 - m_CustomReflection: {fileID: 0} - m_Sun: {fileID: 0} ---- !u!157 &4 -LightmapSettings: - m_ObjectHideFlags: 0 - serializedVersion: 5 - m_GIWorkflowMode: 1 - m_LightmapsMode: 1 - m_GISettings: - serializedVersion: 2 - m_BounceScale: 1 - m_IndirectOutputScale: 1 - m_AlbedoBoost: 1 - m_TemporalCoherenceThreshold: 1 - m_EnvironmentLightingMode: 0 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 0 - m_LightmapEditorSettings: - serializedVersion: 3 - m_Resolution: 1 - m_BakeResolution: 50 - m_TextureWidth: 1024 - m_TextureHeight: 1024 - m_AOMaxDistance: 1 - m_Padding: 2 - m_CompAOExponent: 0 - m_LightmapParameters: {fileID: 0} - m_TextureCompression: 0 - m_FinalGather: 0 - m_FinalGatherRayCount: 1024 - m_ReflectionCompression: 2 - m_LightmapSnapshot: {fileID: 0} - m_RuntimeCPUUsage: 25 ---- !u!196 &5 -NavMeshSettings: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_BuildSettings: - serializedVersion: 2 - agentRadius: .5 - agentHeight: 2 - agentSlope: 45 - agentClimb: .400000006 - ledgeDropHeight: 0 - maxJumpAcrossDistance: 0 - accuratePlacement: 0 - minRegionArea: 2 - cellSize: .166666657 - manualCellSize: 0 - m_NavMeshData: {fileID: 0} ---- !u!1 &62216951 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 62216952} - - 20: {fileID: 62216957} - - 92: {fileID: 62216956} - - 124: {fileID: 62216955} - - 81: {fileID: 62216954} - - 114: {fileID: 62216953} - m_Layer: 0 - m_Name: Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &62216952 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 930800601} - m_RootOrder: 1 ---- !u!114 &62216953 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 902259921, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - Name: Camera - layerMask: - serializedVersion: 2 - m_Bits: 4294967295 - layerIds: 00000000 ---- !u!81 &62216954 -AudioListener: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 ---- !u!124 &62216955 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 ---- !u!92 &62216956 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 ---- !u!20 &62216957 -Camera: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1} - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: .300000012 - far clip plane: 1000 - field of view: 30 - orthographic: 1 - orthographic size: 100 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: .0219999999 - m_StereoMirrorMode: 0 ---- !u!1 &242343085 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 242343086} - - 222: {fileID: 242343088} - - 114: {fileID: 242343087} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &242343086 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 242343085} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1962593004} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 31, y: 0} - m_SizeDelta: {x: 60, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &242343087 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 242343085} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: a4d8406d5f5c04e2399bbfa832e5c551, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &242343088 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 242343085} ---- !u!1 &250857269 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 250857271} - - 114: {fileID: 250857270} - m_Layer: 5 - m_Name: List - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &250857270 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 250857269} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_ChildAlignment: 0 - m_Spacing: 0 - m_ChildForceExpandWidth: 1 - m_ChildForceExpandHeight: 0 ---- !u!224 &250857271 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 250857269} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1679844150} - - {fileID: 1962593004} - - {fileID: 744958296} - m_Father: {fileID: 1981142013} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!1 &491658844 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 491658845} - - 114: {fileID: 491658851} - - 114: {fileID: 491658850} - - 114: {fileID: 491658849} - - 212: {fileID: 491658848} - - 61: {fileID: 491658847} - - 50: {fileID: 491658846} - m_Layer: 0 - m_Name: Photo - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &491658845 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 491658844} - m_LocalRotation: {x: 0, y: 0, z: .138991401, w: .990293622} - m_LocalPosition: {x: 29.8999996, y: -7.10000038, z: 0} - m_LocalScale: {x: 1.5, y: 1.5, z: 1.5} - m_Children: [] - m_Father: {fileID: 1663453577} - m_RootOrder: 2 ---- !u!50 &491658846 -Rigidbody2D: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 491658844} - m_Mass: 1 - m_LinearDrag: 0 - m_AngularDrag: .0500000007 - m_GravityScale: 0 - m_IsKinematic: 1 - m_Interpolate: 0 - m_SleepingMode: 1 - m_CollisionDetection: 0 - m_Constraints: 0 ---- !u!61 &491658847 -BoxCollider2D: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 491658844} - m_Enabled: 1 - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_UsedByEffector: 0 - m_Offset: {x: 0, y: 0} - serializedVersion: 2 - m_Size: {x: 50, y: 50} ---- !u!212 &491658848 -SpriteRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 491658844} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_Materials: - - {fileID: 10754, guid: 0000000000000000e000000000000000, type: 0} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 0 - m_ProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_ImportantGI: 0 - m_AutoUVMaxDistance: .5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingOrder: 0 - m_Sprite: {fileID: 21300000, guid: 38a938bf90ab148aa876e01f4793580f, type: 3} - m_Color: {r: 1, g: 1, b: 1, a: 1} ---- !u!114 &491658849 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 491658844} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1088824302, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - ignoreChildren: 0 ---- !u!114 &491658850 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 491658844} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1905284378, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &491658851 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 491658844} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1097873817, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 7 - minScreenPointsDistance: .5 - screenTransformThreshold: .100000001 - projection: 2 - projectionPlaneNormal: {x: 0, y: 0, z: 1} ---- !u!1001 &543251036 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 11400000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: layers.Array.size - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 11400000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: layers.Array.data[0] - value: - objectReference: {fileID: 62216953} - - target: {fileID: 11400004, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_Enabled - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 11400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_Enabled - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - m_IsPrefabParent: 0 ---- !u!4 &584553677 stripped -Transform: - m_PrefabParentObject: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - m_PrefabInternal: {fileID: 599866430} ---- !u!1001 &599866430 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 930800601} - m_Modifications: - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalPosition.x - value: 23.6000004 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalPosition.y - value: -22.1000004 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalPosition.z - value: 195.899994 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalRotation.x - value: -.648102105 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalRotation.y - value: -.282778561 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalRotation.z - value: .282778591 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalRotation.w - value: .648102045 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_RootOrder - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalScale.x - value: 253.408234 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalScale.y - value: 253.408508 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalScale.z - value: 253.408508 - objectReference: {fileID: 0} - m_RemovedComponents: - - {fileID: 9500000, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - m_ParentPrefab: {fileID: 100100000, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - m_IsPrefabParent: 0 ---- !u!1 &740851131 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 740851132} - - 223: {fileID: 740851135} - - 114: {fileID: 740851134} - - 114: {fileID: 740851133} - m_Layer: 5 - m_Name: Canvas - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &740851132 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0, y: 0, z: 0} - m_Children: - - {fileID: 1981142013} - - {fileID: 1552723601} - m_Father: {fileID: 0} - m_RootOrder: 3 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0, y: 0} ---- !u!114 &740851133 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreReversedGraphics: 1 - m_BlockingObjects: 0 - m_BlockingMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!114 &740851134 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UiScaleMode: 1 - m_ReferencePixelsPerUnit: 100 - m_ScaleFactor: 1 - m_ReferenceResolution: {x: 640, y: 480} - m_ScreenMatchMode: 0 - m_MatchWidthOrHeight: 1 - m_PhysicalUnit: 3 - m_FallbackScreenDPI: 96 - m_DefaultSpriteDPI: 96 - m_DynamicPixelsPerUnit: 1 ---- !u!223 &740851135 -Canvas: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_Enabled: 1 - serializedVersion: 2 - m_RenderMode: 0 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!1 &744958294 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 744958296} - - 114: {fileID: 744958295} - m_Layer: 5 - m_Name: Scale - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &744958295 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 744958294} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: 60 - m_PreferredWidth: -1 - m_PreferredHeight: 60 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 ---- !u!224 &744958296 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 744958294} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 973350275} - - {fileID: 990023250} - m_Father: {fileID: 250857271} - m_RootOrder: 2 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!1 &802042456 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 802042457} - - 114: {fileID: 802042463} - - 114: {fileID: 802042462} - - 114: {fileID: 802042461} - - 212: {fileID: 802042460} - - 61: {fileID: 802042459} - - 50: {fileID: 802042458} - m_Layer: 0 - m_Name: Photo - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &802042457 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 802042456} - m_LocalRotation: {x: 0, y: 0, z: .138395324, w: .990377069} - m_LocalPosition: {x: 72.5, y: -49.7000008, z: 0} - m_LocalScale: {x: 1.5, y: 1.5, z: 1.5} - m_Children: [] - m_Father: {fileID: 1663453577} - m_RootOrder: 3 ---- !u!50 &802042458 -Rigidbody2D: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 802042456} - m_Mass: 1 - m_LinearDrag: 0 - m_AngularDrag: .0500000007 - m_GravityScale: 0 - m_IsKinematic: 1 - m_Interpolate: 0 - m_SleepingMode: 1 - m_CollisionDetection: 0 - m_Constraints: 0 ---- !u!61 &802042459 -BoxCollider2D: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 802042456} - m_Enabled: 1 - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_UsedByEffector: 0 - m_Offset: {x: 0, y: 0} - serializedVersion: 2 - m_Size: {x: 50, y: 50} ---- !u!212 &802042460 -SpriteRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 802042456} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_Materials: - - {fileID: 10754, guid: 0000000000000000e000000000000000, type: 0} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 0 - m_ProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_ImportantGI: 0 - m_AutoUVMaxDistance: .5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingOrder: 0 - m_Sprite: {fileID: 21300000, guid: 7da97751c83374f8bbc7096c6acdd2a3, type: 3} - m_Color: {r: 1, g: 1, b: 1, a: 1} ---- !u!114 &802042461 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 802042456} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1088824302, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - ignoreChildren: 0 ---- !u!114 &802042462 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 802042456} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1905284378, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &802042463 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 802042456} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1097873817, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 7 - minScreenPointsDistance: .5 - screenTransformThreshold: .100000001 - projection: 2 - projectionPlaneNormal: {x: 0, y: 0, z: 1} ---- !u!1 &906624104 stripped -GameObject: - m_PrefabParentObject: {fileID: 100000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - m_PrefabInternal: {fileID: 543251036} ---- !u!114 &906624105 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 906624104} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 175516946, guid: bb6056dc800c1084da7273cb9f23f5cb, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - TouchTags: - tagList: - - Touch - MouseTags: - tagList: - - Mouse - PenTags: - tagList: - - Pen ---- !u!114 &906624106 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 906624104} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1496140412, guid: bb6056dc800c1084da7273cb9f23f5cb, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - DisableMouseInputInBuilds: 1 - Tags: - tagList: - - Touch ---- !u!1 &930800600 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 930800601} - m_Layer: 0 - m_Name: Scene - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &930800601 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 930800600} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 2135305920} - - {fileID: 62216952} - - {fileID: 584553677} - - {fileID: 1663453577} - m_Father: {fileID: 0} - m_RootOrder: 2 ---- !u!1 &973350274 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 973350275} - - 222: {fileID: 973350277} - - 114: {fileID: 973350276} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &973350275 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 973350274} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 744958296} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 31, y: 0} - m_SizeDelta: {x: 60, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &973350276 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 973350274} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 4d2e9d1d9030140608b540e419744612, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &973350277 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 973350274} ---- !u!1 &990023249 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 990023250} - - 222: {fileID: 990023253} - - 114: {fileID: 990023252} - - 114: {fileID: 990023251} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &990023250 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 990023249} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 744958296} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 177.5, y: 0} - m_SizeDelta: {x: 204.699997, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &990023251 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 990023249} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 1} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!114 &990023252 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 990023249} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 3 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: 'Use two fingers - - or ALT + Mouse - - to scale a photo' ---- !u!222 &990023253 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 990023249} ---- !u!1 &999524391 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 999524392} - - 114: {fileID: 999524398} - - 114: {fileID: 999524397} - - 114: {fileID: 999524396} - - 212: {fileID: 999524395} - - 61: {fileID: 999524394} - - 50: {fileID: 999524393} - m_Layer: 0 - m_Name: Photo - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &999524392 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 999524391} - m_LocalRotation: {x: 0, y: 0, z: .173734143, w: .98479259} - m_LocalPosition: {x: -30.9001484, y: 0, z: 0} - m_LocalScale: {x: 1.5, y: 1.5, z: 1.5} - m_Children: [] - m_Father: {fileID: 1663453577} - m_RootOrder: 4 ---- !u!50 &999524393 -Rigidbody2D: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 999524391} - m_Mass: 1 - m_LinearDrag: 0 - m_AngularDrag: .0500000007 - m_GravityScale: 0 - m_IsKinematic: 1 - m_Interpolate: 0 - m_SleepingMode: 1 - m_CollisionDetection: 0 - m_Constraints: 0 ---- !u!61 &999524394 -BoxCollider2D: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 999524391} - m_Enabled: 1 - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_UsedByEffector: 0 - m_Offset: {x: 0, y: 0} - serializedVersion: 2 - m_Size: {x: 50, y: 50} ---- !u!212 &999524395 -SpriteRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 999524391} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_Materials: - - {fileID: 10754, guid: 0000000000000000e000000000000000, type: 0} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 0 - m_ProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_ImportantGI: 0 - m_AutoUVMaxDistance: .5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingOrder: 0 - m_Sprite: {fileID: 21300000, guid: 5f03781450cc3480cb9b840656e79cf4, type: 3} - m_Color: {r: 1, g: 1, b: 1, a: 1} ---- !u!114 &999524396 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 999524391} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1088824302, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - ignoreChildren: 0 ---- !u!114 &999524397 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 999524391} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1905284378, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &999524398 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 999524391} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1097873817, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 7 - minScreenPointsDistance: .5 - screenTransformThreshold: .100000001 - projection: 2 - projectionPlaneNormal: {x: 0, y: 0, z: 1} ---- !u!1 &1138005899 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1138005900} - - 222: {fileID: 1138005902} - - 114: {fileID: 1138005901} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1138005900 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1138005899} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1679844150} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 31, y: 0} - m_SizeDelta: {x: 60, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1138005901 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1138005899} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 71e59d6fec0b04b60acf6cad4b860a39, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &1138005902 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1138005899} ---- !u!1 &1399100003 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1399100004} - - 222: {fileID: 1399100006} - - 114: {fileID: 1399100005} - - 114: {fileID: 1399100007} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1399100004 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1399100003} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1962593004} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 177.5, y: 0} - m_SizeDelta: {x: 204.699997, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1399100005 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1399100003} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 3 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: 'Use two fingers - - or ALT + Mouse - - to rotate a photo' ---- !u!222 &1399100006 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1399100003} ---- !u!114 &1399100007 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1399100003} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 1} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!1 &1408280580 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1408280581} - - 222: {fileID: 1408280583} - - 114: {fileID: 1408280582} - - 114: {fileID: 1408280584} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1408280581 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408280580} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1679844150} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 177.5, y: 0} - m_SizeDelta: {x: 204.699997, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1408280582 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408280580} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 3 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: Drag a photo to move it ---- !u!222 &1408280583 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408280580} ---- !u!114 &1408280584 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408280580} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 1} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!1 &1455603805 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1455603806} - - 114: {fileID: 1455603812} - - 114: {fileID: 1455603811} - - 114: {fileID: 1455603810} - - 212: {fileID: 1455603809} - - 61: {fileID: 1455603808} - - 50: {fileID: 1455603807} - m_Layer: 0 - m_Name: Photo - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1455603806 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1455603805} - m_LocalRotation: {x: 0, y: 0, z: -.130353168, w: .991467655} - m_LocalPosition: {x: 9.89999962, y: 43.7999992, z: 0} - m_LocalScale: {x: 1.5, y: 1.5, z: 1.5} - m_Children: [] - m_Father: {fileID: 1663453577} - m_RootOrder: 5 ---- !u!50 &1455603807 -Rigidbody2D: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1455603805} - m_Mass: 1 - m_LinearDrag: 0 - m_AngularDrag: .0500000007 - m_GravityScale: 0 - m_IsKinematic: 1 - m_Interpolate: 0 - m_SleepingMode: 1 - m_CollisionDetection: 0 - m_Constraints: 0 ---- !u!61 &1455603808 -BoxCollider2D: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1455603805} - m_Enabled: 1 - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_UsedByEffector: 0 - m_Offset: {x: 0, y: 0} - serializedVersion: 2 - m_Size: {x: 50, y: 50} ---- !u!212 &1455603809 -SpriteRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1455603805} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_Materials: - - {fileID: 10754, guid: 0000000000000000e000000000000000, type: 0} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 0 - m_ProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_ImportantGI: 0 - m_AutoUVMaxDistance: .5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingOrder: 0 - m_Sprite: {fileID: 21300000, guid: a841ae0dfb0a7453c804239de5edb1e2, type: 3} - m_Color: {r: 1, g: 1, b: 1, a: 1} ---- !u!114 &1455603810 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1455603805} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1088824302, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - ignoreChildren: 0 ---- !u!114 &1455603811 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1455603805} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1905284378, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &1455603812 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1455603805} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1097873817, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 7 - minScreenPointsDistance: .5 - screenTransformThreshold: .100000001 - projection: 2 - projectionPlaneNormal: {x: 0, y: 0, z: 1} ---- !u!1 &1552723600 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1552723601} - - 222: {fileID: 1552723603} - - 114: {fileID: 1552723602} - - 114: {fileID: 1552723604} - m_Layer: 5 - m_Name: Description - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1552723601 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1552723600} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 740851132} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 178, y: 78} - m_SizeDelta: {x: 320, y: 128} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1552723602 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1552723600} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: "2D Photos\n\nThis example shows how to use TransformGesture and - PressGesture.\n\nCheck the scripts on Scene/Container \nand its children." ---- !u!222 &1552723603 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1552723600} ---- !u!114 &1552723604 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1552723600} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 1} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!1 &1655248264 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1655248265} - - 114: {fileID: 1655248271} - - 114: {fileID: 1655248270} - - 114: {fileID: 1655248269} - - 212: {fileID: 1655248268} - - 61: {fileID: 1655248267} - - 50: {fileID: 1655248266} - m_Layer: 0 - m_Name: Photo - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1655248265 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1655248264} - m_LocalRotation: {x: 0, y: 0, z: .176912963, w: .984226525} - m_LocalPosition: {x: 79.6999969, y: 29.6000004, z: 0} - m_LocalScale: {x: 1.5, y: 1.5, z: 1.5} - m_Children: [] - m_Father: {fileID: 1663453577} - m_RootOrder: 1 ---- !u!50 &1655248266 -Rigidbody2D: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1655248264} - m_Mass: 1 - m_LinearDrag: 0 - m_AngularDrag: .0500000007 - m_GravityScale: 0 - m_IsKinematic: 1 - m_Interpolate: 0 - m_SleepingMode: 1 - m_CollisionDetection: 0 - m_Constraints: 0 ---- !u!61 &1655248267 -BoxCollider2D: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1655248264} - m_Enabled: 1 - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_UsedByEffector: 0 - m_Offset: {x: 0, y: 0} - serializedVersion: 2 - m_Size: {x: 50, y: 50} ---- !u!212 &1655248268 -SpriteRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1655248264} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_Materials: - - {fileID: 10754, guid: 0000000000000000e000000000000000, type: 0} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 0 - m_ProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_ImportantGI: 0 - m_AutoUVMaxDistance: .5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingOrder: 0 - m_Sprite: {fileID: 21300000, guid: 1d9cc62dcb0f848fc9e8c69298152f48, type: 3} - m_Color: {r: 1, g: 1, b: 1, a: 1} ---- !u!114 &1655248269 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1655248264} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1088824302, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - ignoreChildren: 0 ---- !u!114 &1655248270 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1655248264} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1905284378, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &1655248271 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1655248264} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1097873817, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 7 - minScreenPointsDistance: .5 - screenTransformThreshold: .100000001 - projection: 2 - projectionPlaneNormal: {x: 0, y: 0, z: 1} ---- !u!1 &1663453576 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1663453577} - - 114: {fileID: 1663453578} - m_Layer: 0 - m_Name: Container - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1663453577 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1663453576} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: -.0850000009, z: .352999985} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1939589034} - - {fileID: 1655248265} - - {fileID: 491658845} - - {fileID: 802042457} - - {fileID: 999524392} - - {fileID: 1455603806} - m_Father: {fileID: 930800601} - m_RootOrder: 3 ---- !u!114 &1663453578 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1663453576} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b547708fbb8f041f688093804084d13f, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!1 &1679844149 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1679844150} - - 114: {fileID: 1679844151} - m_Layer: 5 - m_Name: Drag - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1679844150 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1679844149} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1138005900} - - {fileID: 1408280581} - m_Father: {fileID: 250857271} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1679844151 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1679844149} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: 60 - m_PreferredWidth: -1 - m_PreferredHeight: 60 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 ---- !u!1 &1764701046 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1764701050} - - 114: {fileID: 1764701049} - m_Layer: 0 - m_Name: EventSystem - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1764701049 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1764701046} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_FirstSelected: {fileID: 0} - m_sendNavigationEvents: 1 - m_DragThreshold: 5 ---- !u!4 &1764701050 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1764701046} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 4 ---- !u!1001 &1772227325 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 11400000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - propertyPath: m_Enabled - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 100000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - propertyPath: m_RootOrder - value: 1 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &1939589033 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1939589034} - - 114: {fileID: 1939589040} - - 114: {fileID: 1939589039} - - 114: {fileID: 1939589041} - - 212: {fileID: 1939589037} - - 61: {fileID: 1939589036} - - 50: {fileID: 1939589035} - m_Layer: 0 - m_Name: Photo - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1939589034 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1939589033} - m_LocalRotation: {x: 0, y: 0, z: -.230049759, w: .973178864} - m_LocalPosition: {x: -5.4000001, y: -48.7999992, z: 0} - m_LocalScale: {x: 1.5, y: 1.5, z: 1.5} - m_Children: [] - m_Father: {fileID: 1663453577} - m_RootOrder: 0 ---- !u!50 &1939589035 -Rigidbody2D: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1939589033} - m_Mass: 1 - m_LinearDrag: 0 - m_AngularDrag: .0500000007 - m_GravityScale: 0 - m_IsKinematic: 1 - m_Interpolate: 0 - m_SleepingMode: 1 - m_CollisionDetection: 0 - m_Constraints: 0 ---- !u!61 &1939589036 -BoxCollider2D: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1939589033} - m_Enabled: 1 - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_UsedByEffector: 0 - m_Offset: {x: 0, y: 0} - serializedVersion: 2 - m_Size: {x: 50, y: 50} ---- !u!212 &1939589037 -SpriteRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1939589033} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_Materials: - - {fileID: 10754, guid: 0000000000000000e000000000000000, type: 0} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 0 - m_ProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_ImportantGI: 0 - m_AutoUVMaxDistance: .5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingOrder: 0 - m_Sprite: {fileID: 21300000, guid: a24aa458b050f4b4cb2451ad643eec5c, type: 3} - m_Color: {r: 1, g: 1, b: 1, a: 1} ---- !u!114 &1939589039 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1939589033} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1905284378, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &1939589040 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1939589033} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1097873817, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 7 - minScreenPointsDistance: .5 - screenTransformThreshold: .100000001 - projection: 2 - projectionPlaneNormal: {x: 0, y: 0, z: 1} ---- !u!114 &1939589041 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1939589033} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1088824302, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - ignoreChildren: 0 ---- !u!1 &1962593003 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1962593004} - - 114: {fileID: 1962593005} - m_Layer: 5 - m_Name: Rotate - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1962593004 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1962593003} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 242343086} - - {fileID: 1399100004} - m_Father: {fileID: 250857271} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1962593005 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1962593003} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: 60 - m_PreferredWidth: -1 - m_PreferredHeight: 60 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 ---- !u!1 &1981142012 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1981142013} - m_Layer: 5 - m_Name: Panel - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1981142013 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1981142012} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 250857271} - m_Father: {fileID: 740851132} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: .252637833, y: 1} - m_AnchoredPosition: {x: 5, y: 50} - m_SizeDelta: {x: -10, y: -120} - m_Pivot: {x: .5, y: .5} ---- !u!1 &2135305919 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 2135305920} - - 108: {fileID: 2135305921} - m_Layer: 0 - m_Name: Directional light - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2135305920 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2135305919} - m_LocalRotation: {x: .241942912, y: -.49854365, z: .221075788, w: .802523136} - m_LocalPosition: {x: 6.10041475, y: 15.5403843, z: -20.5662251} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 930800601} - m_RootOrder: 0 ---- !u!108 &2135305921 -Light: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2135305919} - m_Enabled: 1 - serializedVersion: 6 - m_Type: 1 - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_Intensity: 1.29999995 - m_Range: 10 - m_SpotAngle: 30 - m_CookieSize: 10 - m_Shadows: - m_Type: 2 - m_Resolution: 3 - m_Strength: .560000002 - m_Bias: .100000001 - m_NormalBias: .400000006 - m_Cookie: {fileID: 0} - m_DrawHalo: 0 - m_Flare: {fileID: 0} - m_RenderMode: 0 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_Lightmapping: 1 - m_BounceIntensity: 1 - m_ShadowRadius: 0 - m_ShadowAngle: 0 - m_AreaSize: {x: 1, y: 1} diff --git a/ThirdParty/TouchScript/Examples/General/Photos/Photos2D.unity.meta b/ThirdParty/TouchScript/Examples/General/Photos/Photos2D.unity.meta deleted file mode 100644 index a0465e2e1..000000000 --- a/ThirdParty/TouchScript/Examples/General/Photos/Photos2D.unity.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 96ed2aed486b0439f9de4062f3d03503 -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Photos/Scripts.meta b/ThirdParty/TouchScript/Examples/General/Photos/Scripts.meta deleted file mode 100644 index 39508455f..000000000 --- a/ThirdParty/TouchScript/Examples/General/Photos/Scripts.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 98a2696d2a3cc402086de811ce14a60d -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Photos/Scripts/Container2D.cs b/ThirdParty/TouchScript/Examples/General/Photos/Scripts/Container2D.cs deleted file mode 100644 index b01c6cdd0..000000000 --- a/ThirdParty/TouchScript/Examples/General/Photos/Scripts/Container2D.cs +++ /dev/null @@ -1,44 +0,0 @@ -using UnityEngine; -using System.Collections; -using System.Collections.Generic; -using TouchScript.Gestures; - -namespace TouchScript.Examples.Photos -{ - public class Container2D : MonoBehaviour - { - private List children; - - private void Start() - { - var count = transform.childCount; - children = new List(count); - for (var i = 0; i < count; i++) - { - var child = transform.GetChild(i).GetComponent(); - children.Add(child); - var pressGesture = child.GetComponent(); - if (pressGesture != null) pressGesture.Pressed += pressedHandler; - } - sortChildren(); - } - - private void sortChildren() - { - var count = children.Count; - for (var i = 0; i < count; i++) - { - var child = children[i]; - child.sortingOrder = i; - } - } - - private void pressedHandler(object sender, System.EventArgs e) - { - var child = (sender as Gesture).GetComponent(); - children.Remove(child); - children.Add(child); - sortChildren(); - } - } -} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Examples/General/Photos/Scripts/Container2D.cs.meta b/ThirdParty/TouchScript/Examples/General/Photos/Scripts/Container2D.cs.meta deleted file mode 100644 index 8a155e79b..000000000 --- a/ThirdParty/TouchScript/Examples/General/Photos/Scripts/Container2D.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: b547708fbb8f041f688093804084d13f -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Photos/Scripts/Container3D.cs b/ThirdParty/TouchScript/Examples/General/Photos/Scripts/Container3D.cs deleted file mode 100644 index 77ca6cff4..000000000 --- a/ThirdParty/TouchScript/Examples/General/Photos/Scripts/Container3D.cs +++ /dev/null @@ -1,44 +0,0 @@ -using UnityEngine; -using System.Collections; -using System.Collections.Generic; -using TouchScript.Gestures; - -namespace TouchScript.Examples.Photos -{ - public class Container3D : MonoBehaviour - { - private List children; - - private void Start() - { - var count = transform.childCount; - children = new List(count); - for (var i = 0; i < count; i++) - { - var child = transform.GetChild(i); - children.Add(child); - var pressGesture = child.GetComponent(); - if (pressGesture != null) pressGesture.Pressed += pressedHandler; - } - sortChildren(); - } - - private void sortChildren() - { - var count = children.Count; - for (var i = 0; i < count; i++) - { - var child = children[i]; - child.localPosition = new Vector3(child.localPosition.x, child.localPosition.y, -i * 0.003f); - } - } - - private void pressedHandler(object sender, System.EventArgs e) - { - var child = (sender as Gesture).transform; - children.Remove(child); - children.Add(child); - sortChildren(); - } - } -} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Examples/General/Photos/Scripts/Container3D.cs.meta b/ThirdParty/TouchScript/Examples/General/Photos/Scripts/Container3D.cs.meta deleted file mode 100644 index f597a66db..000000000 --- a/ThirdParty/TouchScript/Examples/General/Photos/Scripts/Container3D.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: 0b1369f3c70c84786b656739dc52e9b3 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Portal.meta b/ThirdParty/TouchScript/Examples/General/Portal.meta deleted file mode 100644 index dbfe0fe3e..000000000 --- a/ThirdParty/TouchScript/Examples/General/Portal.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: c1b7698eb5ecd44c1a7ec6c90a68a207 -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Portal/Materials.meta b/ThirdParty/TouchScript/Examples/General/Portal/Materials.meta deleted file mode 100644 index 8c077818d..000000000 --- a/ThirdParty/TouchScript/Examples/General/Portal/Materials.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 099a6fc8ea2584622971a8d1098238c6 -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Portal/Materials/Vortex.mat b/ThirdParty/TouchScript/Examples/General/Portal/Materials/Vortex.mat deleted file mode 100644 index 1332aff84..000000000 --- a/ThirdParty/TouchScript/Examples/General/Portal/Materials/Vortex.mat +++ /dev/null @@ -1,36 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: Vortex - m_Shader: {fileID: 200, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: [] - m_CustomRenderQueue: -1 - m_SavedProperties: - serializedVersion: 2 - m_TexEnvs: - data: - first: - name: _MainTex - second: - m_Texture: {fileID: 2800000, guid: db8fa2b50ab1244fd8d75ed3ee8c0ee5, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - data: - first: - name: _InvFade - second: .00999999978 - m_Colors: - data: - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} - data: - first: - name: _TintColor - second: {r: 1, g: 1, b: 1, a: .345098048} diff --git a/ThirdParty/TouchScript/Examples/General/Portal/Materials/Vortex.mat.meta b/ThirdParty/TouchScript/Examples/General/Portal/Materials/Vortex.mat.meta deleted file mode 100644 index 81d4bc8a9..000000000 --- a/ThirdParty/TouchScript/Examples/General/Portal/Materials/Vortex.mat.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 2105a6ce9f7624161ba30eefc0d839f3 -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Portal/Portal.unity b/ThirdParty/TouchScript/Examples/General/Portal/Portal.unity deleted file mode 100644 index 41bfd338d..000000000 --- a/ThirdParty/TouchScript/Examples/General/Portal/Portal.unity +++ /dev/null @@ -1,1918 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!29 &1 -SceneSettings: - m_ObjectHideFlags: 0 - m_PVSData: - m_PVSObjectsArray: [] - m_PVSPortalsArray: [] - m_OcclusionBakeSettings: - smallestOccluder: 5 - smallestHole: .25 - backfaceThreshold: 100 ---- !u!104 &2 -RenderSettings: - m_ObjectHideFlags: 0 - serializedVersion: 6 - m_Fog: 0 - m_FogColor: {r: .5, g: .5, b: .5, a: 1} - m_FogMode: 3 - m_FogDensity: .00999999978 - m_LinearFogStart: 0 - m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} - m_AmbientEquatorColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} - m_AmbientGroundColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} - m_AmbientIntensity: 1 - m_AmbientMode: 3 - m_SkyboxMaterial: {fileID: 2100000, guid: a07fadb24ea940240afba3afc1a692cc, type: 2} - m_HaloStrength: .5 - m_FlareStrength: 1 - m_FlareFadeSpeed: 3 - m_HaloTexture: {fileID: 0} - m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} - m_DefaultReflectionMode: 0 - m_DefaultReflectionResolution: 128 - m_ReflectionBounces: 1 - m_ReflectionIntensity: 1 - m_CustomReflection: {fileID: 0} - m_Sun: {fileID: 0} ---- !u!157 &4 -LightmapSettings: - m_ObjectHideFlags: 0 - serializedVersion: 5 - m_GIWorkflowMode: 1 - m_LightmapsMode: 1 - m_GISettings: - serializedVersion: 2 - m_BounceScale: 1 - m_IndirectOutputScale: 1 - m_AlbedoBoost: 1 - m_TemporalCoherenceThreshold: 1 - m_EnvironmentLightingMode: 0 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 0 - m_LightmapEditorSettings: - serializedVersion: 3 - m_Resolution: 1 - m_BakeResolution: 50 - m_TextureWidth: 1024 - m_TextureHeight: 1024 - m_AOMaxDistance: 1 - m_Padding: 2 - m_CompAOExponent: 0 - m_LightmapParameters: {fileID: 0} - m_TextureCompression: 0 - m_FinalGather: 0 - m_FinalGatherRayCount: 1024 - m_ReflectionCompression: 2 - m_LightmapSnapshot: {fileID: 0} - m_RuntimeCPUUsage: 25 ---- !u!196 &5 -NavMeshSettings: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_BuildSettings: - serializedVersion: 2 - agentRadius: .5 - agentHeight: 2 - agentSlope: 45 - agentClimb: .400000006 - ledgeDropHeight: 0 - maxJumpAcrossDistance: 0 - accuratePlacement: 0 - minRegionArea: 2 - cellSize: .166666657 - manualCellSize: 0 - m_NavMeshData: {fileID: 0} ---- !u!1 &62216951 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 62216952} - - 20: {fileID: 62216957} - - 92: {fileID: 62216956} - - 124: {fileID: 62216955} - - 81: {fileID: 62216954} - m_Layer: 0 - m_Name: Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &62216952 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_LocalRotation: {x: .707106829, y: 0, z: 0, w: .707106709} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 498618157} - m_Father: {fileID: 930800601} - m_RootOrder: 1 ---- !u!81 &62216954 -AudioListener: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 ---- !u!124 &62216955 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 ---- !u!92 &62216956 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 ---- !u!20 &62216957 -Camera: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1} - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: .300000012 - far clip plane: 40 - field of view: 30 - orthographic: 1 - orthographic size: 10 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: .0219999999 - m_StereoMirrorMode: 0 ---- !u!1 &250857269 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 250857271} - - 114: {fileID: 250857270} - m_Layer: 5 - m_Name: List - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &250857270 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 250857269} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_ChildAlignment: 0 - m_Spacing: 0 - m_ChildForceExpandWidth: 1 - m_ChildForceExpandHeight: 0 ---- !u!224 &250857271 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 250857269} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1679844150} - m_Father: {fileID: 1981142013} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!1 &481822342 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 481822343} - - 33: {fileID: 481822346} - - 23: {fileID: 481822345} - - 114: {fileID: 481822344} - - 135: {fileID: 481822347} - - 114: {fileID: 481822349} - - 114: {fileID: 481822348} - - 114: {fileID: 481822351} - - 114: {fileID: 481822350} - - 54: {fileID: 481822352} - m_Layer: 0 - m_Name: Planet - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &481822343 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 481822342} - m_LocalRotation: {x: -8.94069672e-08, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -4.30000019, y: -6.05999994, z: .400000006} - m_LocalScale: {x: 3, y: 3, z: 3} - m_Children: [] - m_Father: {fileID: 1158035086} - m_RootOrder: 3 ---- !u!114 &481822344 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 481822342} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 11cabe64e6b9945c88b060d042861428, type: 3} - m_Name: - m_EditorClassIdentifier: - Speed: 100 - RotationSpeed: 40 - FallSpeed: .00999999978 ---- !u!23 &481822345 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 481822342} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_Materials: - - {fileID: 2100000, guid: 10bd026932ba047dcaca956b30263df6, type: 2} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 - m_ProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_ImportantGI: 0 - m_AutoUVMaxDistance: .5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!33 &481822346 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 481822342} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!135 &481822347 -SphereCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 481822342} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Radius: .5 - m_Center: {x: 0, y: 9.53674316e-07, z: -2.38418579e-07} ---- !u!114 &481822348 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 481822342} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1905284378, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &481822349 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 481822342} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1097873817, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 1 - minScreenPointsDistance: .5 - screenTransformThreshold: .100000001 - projection: 1 - projectionPlaneNormal: {x: 0, y: 0, z: 1} ---- !u!114 &481822350 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 481822342} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 438491968, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - ignoreChildren: 0 ---- !u!114 &481822351 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 481822342} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1088824302, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - ignoreChildren: 0 ---- !u!54 &481822352 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 481822342} - serializedVersion: 2 - m_Mass: 1 - m_Drag: 0 - m_AngularDrag: .0500000007 - m_UseGravity: 0 - m_IsKinematic: 1 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!1 &498618156 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 498618157} - m_Layer: 0 - m_Name: Stuff - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &498618157 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 498618156} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 2.1500001, y: 0, z: 10} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1283428183} - - {fileID: 1158035086} - m_Father: {fileID: 62216952} - m_RootOrder: 0 ---- !u!1001 &543251036 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 11400000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: layers.Array.size - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 11400000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: layers.Array.data[0] - value: - objectReference: {fileID: 0} - - target: {fileID: 11400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_Enabled - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 11400004, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_Enabled - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &740851131 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 740851132} - - 223: {fileID: 740851135} - - 114: {fileID: 740851134} - - 114: {fileID: 740851133} - m_Layer: 5 - m_Name: Canvas - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &740851132 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0, y: 0, z: 0} - m_Children: - - {fileID: 1981142013} - - {fileID: 1552723601} - m_Father: {fileID: 0} - m_RootOrder: 3 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0, y: 0} ---- !u!114 &740851133 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreReversedGraphics: 1 - m_BlockingObjects: 0 - m_BlockingMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!114 &740851134 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UiScaleMode: 1 - m_ReferencePixelsPerUnit: 100 - m_ScaleFactor: 1 - m_ReferenceResolution: {x: 640, y: 480} - m_ScreenMatchMode: 0 - m_MatchWidthOrHeight: 1 - m_PhysicalUnit: 3 - m_FallbackScreenDPI: 96 - m_DefaultSpriteDPI: 96 - m_DynamicPixelsPerUnit: 1 ---- !u!223 &740851135 -Canvas: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_Enabled: 1 - serializedVersion: 2 - m_RenderMode: 0 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!1 &762219656 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 762219657} - - 33: {fileID: 762219661} - - 23: {fileID: 762219659} - - 114: {fileID: 762219658} - m_Layer: 0 - m_Name: Quad - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &762219657 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 762219656} - m_LocalRotation: {x: -5.96046519e-08, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -.100000001} - m_LocalScale: {x: 6, y: 6, z: 6} - m_Children: [] - m_Father: {fileID: 1283428183} - m_RootOrder: 1 ---- !u!114 &762219658 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 762219656} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 56095ffd5a0e54ec68c465c11d86c704, type: 3} - m_Name: - m_EditorClassIdentifier: - RotationSpeed: 33 ---- !u!23 &762219659 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 762219656} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_Materials: - - {fileID: 2100000, guid: 2105a6ce9f7624161ba30eefc0d839f3, type: 2} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 - m_ProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_ImportantGI: 0 - m_AutoUVMaxDistance: .5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!33 &762219661 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 762219656} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &851559560 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 851559561} - - 33: {fileID: 851559563} - - 23: {fileID: 851559562} - - 114: {fileID: 851559564} - - 135: {fileID: 851559567} - - 114: {fileID: 851559566} - - 114: {fileID: 851559565} - - 114: {fileID: 851559569} - - 114: {fileID: 851559568} - - 54: {fileID: 851559570} - m_Layer: 0 - m_Name: Planet - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &851559561 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 851559560} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 6.21999979, y: -2.5999999, z: .100000001} - m_LocalScale: {x: 3, y: 3, z: 3} - m_Children: [] - m_Father: {fileID: 1158035086} - m_RootOrder: 0 ---- !u!23 &851559562 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 851559560} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_Materials: - - {fileID: 2100000, guid: 150b901d18f3f45d08b29f50aaec86b9, type: 2} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 - m_ProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_ImportantGI: 0 - m_AutoUVMaxDistance: .5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!33 &851559563 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 851559560} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!114 &851559564 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 851559560} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 11cabe64e6b9945c88b060d042861428, type: 3} - m_Name: - m_EditorClassIdentifier: - Speed: 100 - RotationSpeed: 10 - FallSpeed: .00999999978 ---- !u!114 &851559565 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 851559560} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1905284378, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &851559566 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 851559560} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1097873817, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 1 - minScreenPointsDistance: .5 - screenTransformThreshold: .100000001 - projection: 1 - projectionPlaneNormal: {x: 0, y: 0, z: 1} ---- !u!135 &851559567 -SphereCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 851559560} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Radius: .5 - m_Center: {x: 0, y: -4.76837158e-07, z: -2.38418579e-07} ---- !u!114 &851559568 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 851559560} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 438491968, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - ignoreChildren: 0 ---- !u!114 &851559569 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 851559560} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1088824302, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - ignoreChildren: 0 ---- !u!54 &851559570 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 851559560} - serializedVersion: 2 - m_Mass: 1 - m_Drag: 0 - m_AngularDrag: .0500000007 - m_UseGravity: 0 - m_IsKinematic: 1 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!1 &893756805 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 893756806} - - 33: {fileID: 893756809} - - 23: {fileID: 893756808} - - 114: {fileID: 893756807} - - 135: {fileID: 893756810} - - 114: {fileID: 893756812} - - 114: {fileID: 893756811} - - 114: {fileID: 893756814} - - 114: {fileID: 893756813} - - 54: {fileID: 893756815} - m_Layer: 0 - m_Name: Planet - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &893756806 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 893756805} - m_LocalRotation: {x: -8.94069672e-08, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 6.23999977, y: 6.07999992, z: .300000012} - m_LocalScale: {x: 3, y: 3, z: 3} - m_Children: [] - m_Father: {fileID: 1158035086} - m_RootOrder: 2 ---- !u!114 &893756807 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 893756805} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 11cabe64e6b9945c88b060d042861428, type: 3} - m_Name: - m_EditorClassIdentifier: - Speed: 100 - RotationSpeed: 30 - FallSpeed: .00999999978 ---- !u!23 &893756808 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 893756805} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_Materials: - - {fileID: 2100000, guid: 148079725ce574b75ae65e81f6be1567, type: 2} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 - m_ProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_ImportantGI: 0 - m_AutoUVMaxDistance: .5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!33 &893756809 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 893756805} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!135 &893756810 -SphereCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 893756805} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Radius: .5 - m_Center: {x: 0, y: -7.15255737e-07, z: -2.38418579e-07} ---- !u!114 &893756811 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 893756805} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1905284378, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &893756812 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 893756805} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1097873817, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 1 - minScreenPointsDistance: .5 - screenTransformThreshold: .100000001 - projection: 1 - projectionPlaneNormal: {x: 0, y: 0, z: 1} ---- !u!114 &893756813 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 893756805} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 438491968, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - ignoreChildren: 0 ---- !u!114 &893756814 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 893756805} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1088824302, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - ignoreChildren: 0 ---- !u!54 &893756815 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 893756805} - serializedVersion: 2 - m_Mass: 1 - m_Drag: 0 - m_AngularDrag: .0500000007 - m_UseGravity: 0 - m_IsKinematic: 1 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!1 &906624104 stripped -GameObject: - m_PrefabParentObject: {fileID: 100000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - m_PrefabInternal: {fileID: 543251036} ---- !u!114 &906624105 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 906624104} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 175516946, guid: bb6056dc800c1084da7273cb9f23f5cb, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - TouchTags: - tagList: - - Touch - MouseTags: - tagList: - - Mouse - PenTags: - tagList: - - Pen ---- !u!114 &906624106 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 906624104} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1496140412, guid: bb6056dc800c1084da7273cb9f23f5cb, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - DisableMouseInputInBuilds: 1 - Tags: - tagList: - - Touch ---- !u!1 &930800600 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 930800601} - m_Layer: 0 - m_Name: Scene - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &930800601 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 930800600} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 2135305920} - - {fileID: 62216952} - m_Father: {fileID: 0} - m_RootOrder: 2 ---- !u!1 &1138005899 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1138005900} - - 222: {fileID: 1138005902} - - 114: {fileID: 1138005901} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1138005900 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1138005899} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1679844150} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 31, y: 0} - m_SizeDelta: {x: 60, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1138005901 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1138005899} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 71e59d6fec0b04b60acf6cad4b860a39, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &1138005902 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1138005899} ---- !u!1 &1158035085 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1158035086} - m_Layer: 0 - m_Name: Planets - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1158035086 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1158035085} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: -0, z: 1.59000003} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 851559561} - - {fileID: 1166789652} - - {fileID: 893756806} - - {fileID: 481822343} - m_Father: {fileID: 498618157} - m_RootOrder: 1 ---- !u!1 &1166789651 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1166789652} - - 33: {fileID: 1166789655} - - 23: {fileID: 1166789654} - - 114: {fileID: 1166789653} - - 135: {fileID: 1166789656} - - 114: {fileID: 1166789658} - - 114: {fileID: 1166789657} - - 114: {fileID: 1166789660} - - 114: {fileID: 1166789659} - - 54: {fileID: 1166789661} - m_Layer: 0 - m_Name: Planet - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1166789652 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1166789651} - m_LocalRotation: {x: -8.94069672e-08, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -4.36000013, y: 3.29999995, z: .200000003} - m_LocalScale: {x: 3, y: 3, z: 3} - m_Children: [] - m_Father: {fileID: 1158035086} - m_RootOrder: 1 ---- !u!114 &1166789653 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1166789651} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 11cabe64e6b9945c88b060d042861428, type: 3} - m_Name: - m_EditorClassIdentifier: - Speed: 100 - RotationSpeed: 20 - FallSpeed: .00999999978 ---- !u!23 &1166789654 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1166789651} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_Materials: - - {fileID: 2100000, guid: 0ed169bc21381479799fe7ba05d2939b, type: 2} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 - m_ProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_ImportantGI: 0 - m_AutoUVMaxDistance: .5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!33 &1166789655 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1166789651} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!135 &1166789656 -SphereCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1166789651} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Radius: .5 - m_Center: {x: 0, y: -4.76837158e-07, z: -2.38418579e-07} ---- !u!114 &1166789657 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1166789651} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1905284378, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &1166789658 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1166789651} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1097873817, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 1 - minScreenPointsDistance: .5 - screenTransformThreshold: .100000001 - projection: 1 - projectionPlaneNormal: {x: 0, y: 0, z: 1} ---- !u!114 &1166789659 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1166789651} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 438491968, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - ignoreChildren: 0 ---- !u!114 &1166789660 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1166789651} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1088824302, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - ignoreChildren: 0 ---- !u!54 &1166789661 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1166789651} - serializedVersion: 2 - m_Mass: 1 - m_Drag: 0 - m_AngularDrag: .0500000007 - m_UseGravity: 0 - m_IsKinematic: 1 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!1 &1283428182 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1283428183} - - 135: {fileID: 1283428184} - - 114: {fileID: 1283428185} - m_Layer: 0 - m_Name: Vortex - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1283428183 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1283428182} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 2} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1762297559} - - {fileID: 762219657} - m_Father: {fileID: 498618157} - m_RootOrder: 0 ---- !u!135 &1283428184 -SphereCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1283428182} - m_Material: {fileID: 0} - m_IsTrigger: 1 - m_Enabled: 1 - serializedVersion: 2 - m_Radius: 1.97000003 - m_Center: {x: 0, y: 0, z: 0} ---- !u!114 &1283428185 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1283428182} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d994edf8e68fd4c21ad2771c39731c21, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!1 &1408280580 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1408280581} - - 222: {fileID: 1408280583} - - 114: {fileID: 1408280582} - - 114: {fileID: 1408280584} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1408280581 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408280580} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1679844150} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 177.5, y: 0} - m_SizeDelta: {x: 204.699997, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1408280582 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408280580} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 3 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: Drag a planet into the portal ---- !u!222 &1408280583 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408280580} ---- !u!114 &1408280584 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408280580} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 1} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!1 &1552723600 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1552723601} - - 222: {fileID: 1552723603} - - 114: {fileID: 1552723602} - - 114: {fileID: 1552723604} - m_Layer: 5 - m_Name: Description - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1552723601 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1552723600} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 740851132} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 178, y: 78} - m_SizeDelta: {x: 320, y: 128} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1552723602 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1552723600} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: 'Portal - - - This example shows how to cancel a gesture. - - - When you drag a planet close to the portal TransformGesture is cancelled and the - planet starts falling. Notice how you can grab it while it is falling and drag - outside.' ---- !u!222 &1552723603 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1552723600} ---- !u!114 &1552723604 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1552723600} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 1} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!1 &1679844149 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1679844150} - - 114: {fileID: 1679844151} - m_Layer: 5 - m_Name: Drag - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1679844150 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1679844149} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1138005900} - - {fileID: 1408280581} - m_Father: {fileID: 250857271} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1679844151 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1679844149} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: 60 - m_PreferredWidth: -1 - m_PreferredHeight: 60 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 ---- !u!1 &1762297554 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1762297559} - - 33: {fileID: 1762297558} - - 23: {fileID: 1762297556} - - 114: {fileID: 1762297555} - m_Layer: 0 - m_Name: Quad - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1762297555 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1762297554} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 56095ffd5a0e54ec68c465c11d86c704, type: 3} - m_Name: - m_EditorClassIdentifier: - RotationSpeed: 10 ---- !u!23 &1762297556 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1762297554} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_Materials: - - {fileID: 2100000, guid: 2105a6ce9f7624161ba30eefc0d839f3, type: 2} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 - m_ProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_ImportantGI: 0 - m_AutoUVMaxDistance: .5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!33 &1762297558 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1762297554} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &1762297559 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1762297554} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 10, y: 10, z: 10} - m_Children: [] - m_Father: {fileID: 1283428183} - m_RootOrder: 0 ---- !u!1 &1764701046 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1764701050} - - 114: {fileID: 1764701049} - m_Layer: 0 - m_Name: EventSystem - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1764701049 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1764701046} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_FirstSelected: {fileID: 0} - m_sendNavigationEvents: 1 - m_DragThreshold: 5 ---- !u!4 &1764701050 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1764701046} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 4 ---- !u!1001 &1772227325 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 11400000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - propertyPath: m_Enabled - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 100000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - propertyPath: m_RootOrder - value: 1 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &1981142012 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1981142013} - m_Layer: 5 - m_Name: Panel - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1981142013 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1981142012} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 250857271} - m_Father: {fileID: 740851132} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: .252637833, y: 1} - m_AnchoredPosition: {x: 5, y: 50} - m_SizeDelta: {x: -10, y: -120} - m_Pivot: {x: .5, y: .5} ---- !u!1 &2135305919 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 2135305920} - - 108: {fileID: 2135305921} - m_Layer: 0 - m_Name: Directional light - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2135305920 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2135305919} - m_LocalRotation: {x: .241942912, y: -.49854365, z: .221075788, w: .802523136} - m_LocalPosition: {x: 6.10041475, y: 15.5403843, z: -20.5662251} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 930800601} - m_RootOrder: 0 ---- !u!108 &2135305921 -Light: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2135305919} - m_Enabled: 1 - serializedVersion: 6 - m_Type: 1 - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_Intensity: 1.29999995 - m_Range: 10 - m_SpotAngle: 30 - m_CookieSize: 10 - m_Shadows: - m_Type: 2 - m_Resolution: 3 - m_Strength: .560000002 - m_Bias: .100000001 - m_NormalBias: .400000006 - m_Cookie: {fileID: 0} - m_DrawHalo: 0 - m_Flare: {fileID: 0} - m_RenderMode: 0 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_Lightmapping: 1 - m_BounceIntensity: 1 - m_ShadowRadius: 0 - m_ShadowAngle: 0 - m_AreaSize: {x: 1, y: 1} diff --git a/ThirdParty/TouchScript/Examples/General/Portal/Portal.unity.meta b/ThirdParty/TouchScript/Examples/General/Portal/Portal.unity.meta deleted file mode 100644 index 67579b814..000000000 --- a/ThirdParty/TouchScript/Examples/General/Portal/Portal.unity.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 20ddca9320eeb4eb28b7ce5fcb289923 -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Portal/Scripts.meta b/ThirdParty/TouchScript/Examples/General/Portal/Scripts.meta deleted file mode 100644 index acc802148..000000000 --- a/ThirdParty/TouchScript/Examples/General/Portal/Scripts.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 2ff914bd5787e4fe4a49bf14072cef8b -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Portal/Scripts/Planet.cs b/ThirdParty/TouchScript/Examples/General/Portal/Scripts/Planet.cs deleted file mode 100644 index 9f3f83eba..000000000 --- a/ThirdParty/TouchScript/Examples/General/Portal/Scripts/Planet.cs +++ /dev/null @@ -1,72 +0,0 @@ -using UnityEngine; -using System.Collections; -using TouchScript.Gestures; -using TouchScript.Behaviors; - -namespace TouchScript.Examples.Portal -{ - public class Planet : MonoBehaviour - { - private enum PlanetStatus - { - Free, - Manual, - Falling - } - - public float Speed = 30f; - public float RotationSpeed = 30f; - public float FallSpeed = .01f; - - private PlanetStatus status = PlanetStatus.Free; - - public void Fall() - { - status = PlanetStatus.Falling; - var gesture = GetComponent(); - if (gesture != null) gesture.Cancel(); - } - - private void OnEnable() - { - GetComponent().Pressed += pressedhandler; - GetComponent().Released += releasedHandler; - } - - private void OnDisable() - { - GetComponent().Pressed -= pressedhandler; - GetComponent().Released -= releasedHandler; - } - - private void Update() - { - switch (status) - { - case PlanetStatus.Free: - transform.RotateAround(transform.parent.position, Vector3.up, Speed * Time.deltaTime / transform.localPosition.sqrMagnitude); - break; - case PlanetStatus.Manual: - break; - case PlanetStatus.Falling: - transform.localScale *= 1 - FallSpeed; - transform.localPosition = Vector3.Lerp(transform.localPosition, Vector3.zero, FallSpeed); - if (transform.localScale.x < 0.01) Destroy(gameObject); - break; - } - - transform.Rotate(0, 0, Time.deltaTime * RotationSpeed); - } - - void pressedhandler (object sender, System.EventArgs e) - { - status = PlanetStatus.Manual; - } - - void releasedHandler (object sender, System.EventArgs e) - { - if (status != PlanetStatus.Manual) return; - status = PlanetStatus.Free; - } - } -} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Examples/General/Portal/Scripts/Planet.cs.meta b/ThirdParty/TouchScript/Examples/General/Portal/Scripts/Planet.cs.meta deleted file mode 100644 index 5419a16e9..000000000 --- a/ThirdParty/TouchScript/Examples/General/Portal/Scripts/Planet.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: 11cabe64e6b9945c88b060d042861428 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Portal/Scripts/Rotator.cs b/ThirdParty/TouchScript/Examples/General/Portal/Scripts/Rotator.cs deleted file mode 100644 index 9f1310514..000000000 --- a/ThirdParty/TouchScript/Examples/General/Portal/Scripts/Rotator.cs +++ /dev/null @@ -1,15 +0,0 @@ -using UnityEngine; -using System.Collections; - -namespace TouchScript.Examples.Portal -{ - public class Rotator : MonoBehaviour - { - public float RotationSpeed = 1f; - - void Update () - { - transform.rotation *= Quaternion.Euler(0, 0, Time.deltaTime * RotationSpeed); - } - } -} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Examples/General/Portal/Scripts/Rotator.cs.meta b/ThirdParty/TouchScript/Examples/General/Portal/Scripts/Rotator.cs.meta deleted file mode 100644 index 3ba1c73c1..000000000 --- a/ThirdParty/TouchScript/Examples/General/Portal/Scripts/Rotator.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: 56095ffd5a0e54ec68c465c11d86c704 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Portal/Scripts/Vortex.cs b/ThirdParty/TouchScript/Examples/General/Portal/Scripts/Vortex.cs deleted file mode 100644 index 65466d25c..000000000 --- a/ThirdParty/TouchScript/Examples/General/Portal/Scripts/Vortex.cs +++ /dev/null @@ -1,15 +0,0 @@ -using UnityEngine; -using System.Collections; - -namespace TouchScript.Examples.Portal -{ - public class Vortex : MonoBehaviour - { - private void OnTriggerEnter(Collider other) - { - var planet = other.GetComponent(); - if (planet == null) return; - planet.Fall(); - } - } -} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Examples/General/Portal/Scripts/Vortex.cs.meta b/ThirdParty/TouchScript/Examples/General/Portal/Scripts/Vortex.cs.meta deleted file mode 100644 index 39f636295..000000000 --- a/ThirdParty/TouchScript/Examples/General/Portal/Scripts/Vortex.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: d994edf8e68fd4c21ad2771c39731c21 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Taps.meta b/ThirdParty/TouchScript/Examples/General/Taps.meta deleted file mode 100644 index 27485e7c8..000000000 --- a/ThirdParty/TouchScript/Examples/General/Taps.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 6a75bd459fd68402786f6ac0232faaf2 -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Taps/Materials.meta b/ThirdParty/TouchScript/Examples/General/Taps/Materials.meta deleted file mode 100644 index 4416c8c20..000000000 --- a/ThirdParty/TouchScript/Examples/General/Taps/Materials.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: c3e7d75d18d25492d9d299d85d2d2ced -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Taps/Materials/Crate.mat b/ThirdParty/TouchScript/Examples/General/Taps/Materials/Crate.mat deleted file mode 100644 index b56df1e5a..000000000 --- a/ThirdParty/TouchScript/Examples/General/Taps/Materials/Crate.mat +++ /dev/null @@ -1,28 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: Crate - m_Shader: {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: [] - m_CustomRenderQueue: -1 - m_SavedProperties: - serializedVersion: 2 - m_TexEnvs: - data: - first: - name: _MainTex - second: - m_Texture: {fileID: 2800000, guid: 6d7cfa3977727472087d7f24d6aa53d1, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: {} - m_Colors: - data: - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} diff --git a/ThirdParty/TouchScript/Examples/General/Taps/Materials/Crate.mat.meta b/ThirdParty/TouchScript/Examples/General/Taps/Materials/Crate.mat.meta deleted file mode 100644 index d9b2d7a8e..000000000 --- a/ThirdParty/TouchScript/Examples/General/Taps/Materials/Crate.mat.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 69c151168e0de486b9df0688ff9e4891 -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Taps/Prefabs.meta b/ThirdParty/TouchScript/Examples/General/Taps/Prefabs.meta deleted file mode 100644 index 7e1ceac35..000000000 --- a/ThirdParty/TouchScript/Examples/General/Taps/Prefabs.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 799ba9f51e9ec424e8e04b8624463253 -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Taps/Prefabs/Cube.prefab b/ThirdParty/TouchScript/Examples/General/Taps/Prefabs/Cube.prefab deleted file mode 100644 index e49c23ff8..000000000 --- a/ThirdParty/TouchScript/Examples/General/Taps/Prefabs/Cube.prefab +++ /dev/null @@ -1,198 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &196116 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 4 - m_Component: - - 4: {fileID: 496116} - - 33: {fileID: 3396116} - - 65: {fileID: 6596116} - - 23: {fileID: 2396116} - - 114: {fileID: 11414528} - - 54: {fileID: 5475672} - - 114: {fileID: 11437420} - - 114: {fileID: 11416718} - - 114: {fileID: 11456388} - - 114: {fileID: 11451422} - m_Layer: 0 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &496116 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 196116} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -.00999999978, y: .689999998, z: -3.56999993} - m_LocalScale: {x: 1.58968258, y: 1.58968306, z: 1.58968306} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 ---- !u!23 &2396116 -Renderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 196116} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_LightmapIndex: 255 - m_LightmapTilingOffset: {x: 1, y: 1, z: 0, w: 0} - m_Materials: - - {fileID: 2100000, guid: 69c151168e0de486b9df0688ff9e4891, type: 2} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_LightProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!33 &3396116 -MeshFilter: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 196116} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!54 &5475672 -Rigidbody: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 196116} - serializedVersion: 2 - m_Mass: 1 - m_Drag: 0 - m_AngularDrag: .0500000007 - m_UseGravity: 1 - m_IsKinematic: 0 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!65 &6596116 -BoxCollider: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 196116} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!114 &11414528 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 196116} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 7bf1ff301204444cc8f47d17ebe55b33, type: 3} - m_Name: - m_EditorClassIdentifier: - Force: 3 - Particles: {fileID: 19846818, guid: 033d613c5d6544a7685ef80e4dcac8e4, type: 2} ---- !u!114 &11416718 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 196116} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -109791083, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - timeToPress: 1 - distanceLimit: 1 ---- !u!114 &11437420 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 196116} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 622cd163aa68a4795a1b7b919bf72d1c, type: 3} - m_Name: - m_EditorClassIdentifier: - Power: 10 ---- !u!114 &11451422 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 196116} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1235405773, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - numberOfTapsRequired: 1 - timeLimit: Infinity - distanceLimit: 1 ---- !u!114 &11456388 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 196116} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1088824302, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - ignoreChildren: 0 ---- !u!1001 &100100000 -Prefab: - m_ObjectHideFlags: 1 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: [] - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 0} - m_RootGameObject: {fileID: 196116} - m_IsPrefabParent: 1 - m_IsExploded: 1 diff --git a/ThirdParty/TouchScript/Examples/General/Taps/Prefabs/Cube.prefab.meta b/ThirdParty/TouchScript/Examples/General/Taps/Prefabs/Cube.prefab.meta deleted file mode 100644 index eb3e8e3f3..000000000 --- a/ThirdParty/TouchScript/Examples/General/Taps/Prefabs/Cube.prefab.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 3c294c033fb7140d09b0bd33830617bb -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Taps/Prefabs/Particles.prefab b/ThirdParty/TouchScript/Examples/General/Taps/Prefabs/Particles.prefab deleted file mode 100644 index 0ba7c8ff5..000000000 --- a/ThirdParty/TouchScript/Examples/General/Taps/Prefabs/Particles.prefab +++ /dev/null @@ -1,1080 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &146818 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 4 - m_Component: - - 4: {fileID: 446818} - - 198: {fileID: 19846818} - - 199: {fileID: 19946818} - - 114: {fileID: 11492830} - m_Layer: 0 - m_Name: Particles - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &446818 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 146818} - m_LocalRotation: {x: -.707106829, y: 0, z: 0, w: .707106829} - m_LocalPosition: {x: 0, y: 2.75999999, z: 2.38000011} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 ---- !u!114 &11492830 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 146818} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e8d231b90191d4ffcae71a475e432b7d, type: 3} - m_Name: - m_EditorClassIdentifier: - Delay: 1 ---- !u!198 &19846818 -ParticleSystem: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 146818} - lengthInSec: 1 - startDelay: 0 - speed: 1 - randomSeed: 0 - looping: 1 - prewarm: 0 - playOnAwake: 1 - moveWithTransform: 0 - InitialModule: - enabled: 1 - startLifetime: - scalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minMaxState: 0 - startSpeed: - scalar: 2 - maxCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: -1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minMaxState: 0 - startColor: - maxGradient: - key0: - serializedVersion: 2 - rgba: 4294967295 - key1: - serializedVersion: 2 - rgba: 4294967295 - key2: - serializedVersion: 2 - rgba: 0 - key3: - serializedVersion: 2 - rgba: 0 - key4: - serializedVersion: 2 - rgba: 0 - key5: - serializedVersion: 2 - rgba: 0 - key6: - serializedVersion: 2 - rgba: 0 - key7: - serializedVersion: 2 - rgba: 0 - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - key0: - serializedVersion: 2 - rgba: 4294967295 - key1: - serializedVersion: 2 - rgba: 4294967295 - key2: - serializedVersion: 2 - rgba: 0 - key3: - serializedVersion: 2 - rgba: 0 - key4: - serializedVersion: 2 - rgba: 0 - key5: - serializedVersion: 2 - rgba: 0 - key6: - serializedVersion: 2 - rgba: 0 - key7: - serializedVersion: 2 - rgba: 0 - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minColor: - serializedVersion: 2 - rgba: 4294967295 - maxColor: - serializedVersion: 2 - rgba: 4278215064 - minMaxState: 0 - startSize: - scalar: .100000001 - maxCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: .299999982 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minMaxState: 3 - startRotation: - scalar: 6.28318501 - maxCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minMaxState: 3 - gravityModifier: 1 - inheritVelocity: 0 - maxNumParticles: 1000 - ShapeModule: - serializedVersion: 2 - enabled: 1 - type: 0 - radius: .00999999978 - angle: 25 - length: 5 - boxX: 1 - boxY: 1 - boxZ: 1 - placementMode: 0 - m_Mesh: {fileID: 0} - randomDirection: 0 - EmissionModule: - enabled: 1 - m_Type: 0 - rate: - scalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minMaxState: 0 - cnt0: 100 - cnt1: 30 - cnt2: 30 - cnt3: 30 - time0: 0 - time1: 0 - time2: 0 - time3: 0 - m_BurstCount: 1 - SizeModule: - enabled: 0 - curve: - scalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minMaxState: 1 - RotationModule: - enabled: 0 - curve: - scalar: .785398185 - maxCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minMaxState: 0 - ColorModule: - enabled: 1 - gradient: - maxGradient: - key0: - serializedVersion: 2 - rgba: 4294967295 - key1: - serializedVersion: 2 - rgba: 16777215 - key2: - serializedVersion: 2 - rgba: 0 - key3: - serializedVersion: 2 - rgba: 0 - key4: - serializedVersion: 2 - rgba: 0 - key5: - serializedVersion: 2 - rgba: 0 - key6: - serializedVersion: 2 - rgba: 0 - key7: - serializedVersion: 2 - rgba: 0 - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 34117 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - key0: - serializedVersion: 2 - rgba: 4294967295 - key1: - serializedVersion: 2 - rgba: 4294967295 - key2: - serializedVersion: 2 - rgba: 0 - key3: - serializedVersion: 2 - rgba: 0 - key4: - serializedVersion: 2 - rgba: 0 - key5: - serializedVersion: 2 - rgba: 0 - key6: - serializedVersion: 2 - rgba: 0 - key7: - serializedVersion: 2 - rgba: 0 - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minColor: - serializedVersion: 2 - rgba: 4294967295 - maxColor: - serializedVersion: 2 - rgba: 4294967295 - minMaxState: 1 - UVModule: - enabled: 0 - frameOverTime: - scalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minMaxState: 1 - tilesX: 1 - tilesY: 1 - animationType: 0 - rowIndex: 0 - cycles: 1 - randomRow: 1 - VelocityModule: - enabled: 0 - x: - scalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minMaxState: 0 - y: - scalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minMaxState: 0 - z: - scalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minMaxState: 0 - inWorldSpace: 1 - ForceModule: - enabled: 0 - x: - scalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minMaxState: 0 - y: - scalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minMaxState: 0 - z: - scalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minMaxState: 0 - inWorldSpace: 1 - randomizePerFrame: 0 - ExternalForcesModule: - enabled: 0 - multiplier: 1 - ClampVelocityModule: - enabled: 0 - x: - scalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minMaxState: 0 - y: - scalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minMaxState: 0 - z: - scalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minMaxState: 0 - magnitude: - scalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minMaxState: 0 - separateAxis: 0 - inWorldSpace: 0 - dampen: 1 - SizeBySpeedModule: - enabled: 0 - curve: - scalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minMaxState: 1 - range: {x: 0, y: 1} - RotationBySpeedModule: - enabled: 0 - curve: - scalar: .785398185 - maxCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minCurve: - serializedVersion: 2 - m_Curve: - - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - minMaxState: 0 - range: {x: 0, y: 1} - ColorBySpeedModule: - enabled: 0 - gradient: - maxGradient: - key0: - serializedVersion: 2 - rgba: 4294967295 - key1: - serializedVersion: 2 - rgba: 4294967295 - key2: - serializedVersion: 2 - rgba: 0 - key3: - serializedVersion: 2 - rgba: 0 - key4: - serializedVersion: 2 - rgba: 0 - key5: - serializedVersion: 2 - rgba: 0 - key6: - serializedVersion: 2 - rgba: 0 - key7: - serializedVersion: 2 - rgba: 0 - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - key0: - serializedVersion: 2 - rgba: 4294967295 - key1: - serializedVersion: 2 - rgba: 4294967295 - key2: - serializedVersion: 2 - rgba: 0 - key3: - serializedVersion: 2 - rgba: 0 - key4: - serializedVersion: 2 - rgba: 0 - key5: - serializedVersion: 2 - rgba: 0 - key6: - serializedVersion: 2 - rgba: 0 - key7: - serializedVersion: 2 - rgba: 0 - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minColor: - serializedVersion: 2 - rgba: 4294967295 - maxColor: - serializedVersion: 2 - rgba: 4294967295 - minMaxState: 1 - range: {x: 0, y: 1} - CollisionModule: - enabled: 0 - type: 0 - plane0: {fileID: 0} - plane1: {fileID: 0} - plane2: {fileID: 0} - plane3: {fileID: 0} - plane4: {fileID: 0} - plane5: {fileID: 0} - dampen: 0 - bounce: 1 - energyLossOnCollision: 0 - minKillSpeed: 0 - particleRadius: .00999999978 - collidesWith: - serializedVersion: 2 - m_Bits: 4294967295 - quality: 0 - voxelSize: .5 - collisionMessages: 0 - SubModule: - enabled: 0 - subEmitterBirth: {fileID: 0} - subEmitterBirth1: {fileID: 0} - subEmitterCollision: {fileID: 0} - subEmitterCollision1: {fileID: 0} - subEmitterDeath: {fileID: 0} - subEmitterDeath1: {fileID: 0} ---- !u!199 &19946818 -ParticleSystemRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 146818} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_LightmapIndex: 255 - m_LightmapTilingOffset: {x: 1, y: 1, z: 0, w: 0} - m_Materials: - - {fileID: 10301, guid: 0000000000000000f000000000000000, type: 0} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_LightProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_SortingLayerID: 0 - m_SortingOrder: 0 - m_RenderMode: 0 - m_MaxParticleSize: .5 - m_CameraVelocityScale: 0 - m_VelocityScale: 0 - m_LengthScale: 2 - m_SortingFudge: 0 - m_NormalDirection: 1 - m_SortMode: 0 - m_Mesh: {fileID: 0} - m_Mesh1: {fileID: 0} - m_Mesh2: {fileID: 0} - m_Mesh3: {fileID: 0} ---- !u!1001 &100100000 -Prefab: - m_ObjectHideFlags: 1 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: [] - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 0} - m_RootGameObject: {fileID: 146818} - m_IsPrefabParent: 1 - m_IsExploded: 1 diff --git a/ThirdParty/TouchScript/Examples/General/Taps/Prefabs/Particles.prefab.meta b/ThirdParty/TouchScript/Examples/General/Taps/Prefabs/Particles.prefab.meta deleted file mode 100644 index ebc2e3122..000000000 --- a/ThirdParty/TouchScript/Examples/General/Taps/Prefabs/Particles.prefab.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 033d613c5d6544a7685ef80e4dcac8e4 -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Taps/Scripts.meta b/ThirdParty/TouchScript/Examples/General/Taps/Scripts.meta deleted file mode 100644 index 7ef60028f..000000000 --- a/ThirdParty/TouchScript/Examples/General/Taps/Scripts.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 83f25a4a2b6b8456d81c50d111776a9b -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Taps/Scripts/Break.cs b/ThirdParty/TouchScript/Examples/General/Taps/Scripts/Break.cs deleted file mode 100644 index 17246b3d7..000000000 --- a/ThirdParty/TouchScript/Examples/General/Taps/Scripts/Break.cs +++ /dev/null @@ -1,99 +0,0 @@ -using System; -using UnityEngine; -using TouchScript.Gestures; -using Random = UnityEngine.Random; - -namespace TouchScript.Examples.Tap -{ - public class Break : MonoBehaviour - { - public float Power = 10.0f; - - private LongPressGesture longPressGesture; - private PressGesture pressGesture; - private MeshRenderer rnd; - private bool growing = false; - private float growingTime = 0; - - private Vector3[] directions = - { - new Vector3(1, -1, 1), - new Vector3(-1, -1, 1), - new Vector3(-1, -1, -1), - new Vector3(1, -1, -1), - new Vector3(1, 1, 1), - new Vector3(-1, 1, 1), - new Vector3(-1, 1, -1), - new Vector3(1, 1, -1) - }; - - private void OnEnable() - { - rnd = GetComponent(); - longPressGesture = GetComponent(); - pressGesture = GetComponent(); - - longPressGesture.StateChanged += longPressedHandler; - pressGesture.Pressed += pressedHandler; - } - - private void OnDisable() - { - longPressGesture.StateChanged -= longPressedHandler; - pressGesture.Pressed -= pressedHandler; - } - - private void Update() - { - if (growing) - { - growingTime += Time.deltaTime; - rnd.material.color = Color.Lerp(Color.white, Color.red, growingTime); - } - } - - private void startGrowing() - { - growing = true; - } - - private void stopGrowing() - { - growing = false; - growingTime = 0; - rnd.material.color = Color.white; - } - - private void pressedHandler(object sender, EventArgs e) - { - startGrowing(); - } - - private void longPressedHandler(object sender, GestureStateChangeEventArgs e) - { - if (e.State == Gesture.GestureState.Recognized) - { - // if we are not too small - if (transform.localScale.x > 0.05f) - { - // break this cube into 8 parts - for (int i = 0; i < 8; i++) - { - var obj = Instantiate(gameObject) as GameObject; - var cube = obj.transform; - cube.parent = transform.parent; - cube.name = "Cube"; - cube.localScale = 0.5f * transform.localScale; - cube.position = transform.TransformPoint(directions[i] / 4); - cube.GetComponent().AddForce(Power * Random.insideUnitSphere, ForceMode.Impulse); - cube.GetComponent().material.color = Color.white; - } - Destroy(gameObject); - } - } else if (e.State == Gesture.GestureState.Failed) - { - stopGrowing(); - } - } - } -} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Examples/General/Taps/Scripts/Break.cs.meta b/ThirdParty/TouchScript/Examples/General/Taps/Scripts/Break.cs.meta deleted file mode 100644 index 6b244b119..000000000 --- a/ThirdParty/TouchScript/Examples/General/Taps/Scripts/Break.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: 622cd163aa68a4795a1b7b919bf72d1c -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Taps/Scripts/Kick.cs b/ThirdParty/TouchScript/Examples/General/Taps/Scripts/Kick.cs deleted file mode 100644 index 5d6f5852d..000000000 --- a/ThirdParty/TouchScript/Examples/General/Taps/Scripts/Kick.cs +++ /dev/null @@ -1,38 +0,0 @@ -using UnityEngine; -using System.Collections; -using TouchScript.Gestures; - -namespace TouchScript.Examples.Tap -{ - public class Kick : MonoBehaviour - { - public float Force = 3f; - public ParticleSystem Particles; - - private TapGesture gesture; - private Rigidbody rb; - - private void OnEnable() - { - rb = GetComponent(); - gesture = GetComponent(); - gesture.Tapped += tappedHandler; - } - - private void OnDisable() - { - gesture.Tapped -= tappedHandler; - } - - private void tappedHandler(object sender, System.EventArgs e) - { - var ray = Camera.main.ScreenPointToRay(gesture.ScreenPosition); - RaycastHit hit; - if (Physics.Raycast(ray, out hit) && hit.transform == transform) - { - rb.AddForceAtPosition(ray.direction * Force, hit.point, ForceMode.Impulse); - Instantiate(Particles, hit.point, Quaternion.identity); - } - } - } -} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Examples/General/Taps/Scripts/Kick.cs.meta b/ThirdParty/TouchScript/Examples/General/Taps/Scripts/Kick.cs.meta deleted file mode 100644 index 6472365a4..000000000 --- a/ThirdParty/TouchScript/Examples/General/Taps/Scripts/Kick.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: 7bf1ff301204444cc8f47d17ebe55b33 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Taps/Scripts/Spawn.cs b/ThirdParty/TouchScript/Examples/General/Taps/Scripts/Spawn.cs deleted file mode 100644 index 119217ba0..000000000 --- a/ThirdParty/TouchScript/Examples/General/Taps/Scripts/Spawn.cs +++ /dev/null @@ -1,40 +0,0 @@ -using System; -using TouchScript.Gestures; -using TouchScript.Hit; -using UnityEngine; -using Random = UnityEngine.Random; - -namespace TouchScript.Examples.Tap -{ - public class Spawn : MonoBehaviour - { - public Transform CubePrefab; - public Transform Container; - public float Scale = .5f; - - private void OnEnable() - { - GetComponent().Tapped += tappedHandler; - } - - private void OnDisable() - { - GetComponent().Tapped -= tappedHandler; - } - - private void tappedHandler(object sender, EventArgs e) - { - var gesture = sender as TapGesture; - ITouchHit hit; - gesture.GetTargetHitResult(out hit); - var hit3d = hit as ITouchHit3D; - if (hit3d == null) return; - - var cube = Instantiate(CubePrefab) as Transform; - cube.parent = Container; - cube.name = "Cube"; - cube.localScale = Vector3.one*Scale*cube.localScale.x; - cube.position = hit3d.Point + hit3d.Normal*.5f; - } - } -} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Examples/General/Taps/Scripts/Spawn.cs.meta b/ThirdParty/TouchScript/Examples/General/Taps/Scripts/Spawn.cs.meta deleted file mode 100644 index 17c576598..000000000 --- a/ThirdParty/TouchScript/Examples/General/Taps/Scripts/Spawn.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: f0dccb7916075489e8e35e86d097d75b -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/Taps/Taps.unity b/ThirdParty/TouchScript/Examples/General/Taps/Taps.unity deleted file mode 100644 index d5b0189d8..000000000 --- a/ThirdParty/TouchScript/Examples/General/Taps/Taps.unity +++ /dev/null @@ -1,1829 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!29 &1 -SceneSettings: - m_ObjectHideFlags: 0 - m_PVSData: - m_PVSObjectsArray: [] - m_PVSPortalsArray: [] - m_OcclusionBakeSettings: - smallestOccluder: 5 - smallestHole: .25 - backfaceThreshold: 100 ---- !u!104 &2 -RenderSettings: - m_ObjectHideFlags: 0 - serializedVersion: 6 - m_Fog: 0 - m_FogColor: {r: .5, g: .5, b: .5, a: 1} - m_FogMode: 3 - m_FogDensity: .00999999978 - m_LinearFogStart: 0 - m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} - m_AmbientEquatorColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} - m_AmbientGroundColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} - m_AmbientIntensity: 1 - m_AmbientMode: 3 - m_SkyboxMaterial: {fileID: 2100000, guid: a07fadb24ea940240afba3afc1a692cc, type: 2} - m_HaloStrength: .5 - m_FlareStrength: 1 - m_FlareFadeSpeed: 3 - m_HaloTexture: {fileID: 0} - m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} - m_DefaultReflectionMode: 0 - m_DefaultReflectionResolution: 128 - m_ReflectionBounces: 1 - m_ReflectionIntensity: 1 - m_CustomReflection: {fileID: 0} - m_Sun: {fileID: 0} ---- !u!157 &4 -LightmapSettings: - m_ObjectHideFlags: 0 - serializedVersion: 5 - m_GIWorkflowMode: 1 - m_LightmapsMode: 1 - m_GISettings: - serializedVersion: 2 - m_BounceScale: 1 - m_IndirectOutputScale: 1 - m_AlbedoBoost: 1 - m_TemporalCoherenceThreshold: 1 - m_EnvironmentLightingMode: 0 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 0 - m_LightmapEditorSettings: - serializedVersion: 3 - m_Resolution: 1 - m_BakeResolution: 50 - m_TextureWidth: 1024 - m_TextureHeight: 1024 - m_AOMaxDistance: 1 - m_Padding: 2 - m_CompAOExponent: 0 - m_LightmapParameters: {fileID: 0} - m_TextureCompression: 0 - m_FinalGather: 0 - m_FinalGatherRayCount: 1024 - m_ReflectionCompression: 2 - m_LightmapSnapshot: {fileID: 0} - m_RuntimeCPUUsage: 25 ---- !u!196 &5 -NavMeshSettings: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_BuildSettings: - serializedVersion: 2 - agentRadius: .5 - agentHeight: 2 - agentSlope: 45 - agentClimb: .400000006 - ledgeDropHeight: 0 - maxJumpAcrossDistance: 0 - accuratePlacement: 0 - minRegionArea: 2 - cellSize: .166666657 - manualCellSize: 0 - m_NavMeshData: {fileID: 0} ---- !u!1 &62216951 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 62216952} - - 20: {fileID: 62216957} - - 92: {fileID: 62216956} - - 124: {fileID: 62216955} - - 81: {fileID: 62216954} - m_Layer: 0 - m_Name: Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &62216952 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_LocalRotation: {x: .269457936, y: 0, z: 0, w: .963012159} - m_LocalPosition: {x: -1.11000001, y: 12, z: -20.5799999} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 930800601} - m_RootOrder: 1 ---- !u!81 &62216954 -AudioListener: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 ---- !u!124 &62216955 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 ---- !u!92 &62216956 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 ---- !u!20 &62216957 -Camera: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1} - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: .300000012 - far clip plane: 40 - field of view: 30 - orthographic: 0 - orthographic size: 100 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: .0219999999 - m_StereoMirrorMode: 0 ---- !u!4 &110191049 stripped -Transform: - m_PrefabParentObject: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - m_PrefabInternal: {fileID: 786000067} ---- !u!1 &242343085 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 242343086} - - 222: {fileID: 242343088} - - 114: {fileID: 242343087} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &242343086 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 242343085} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1962593004} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 31, y: 0} - m_SizeDelta: {x: 60, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &242343087 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 242343085} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: c67d11cfbeb514b63893cab03e87140c, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &242343088 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 242343085} ---- !u!1 &250857269 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 250857271} - - 114: {fileID: 250857270} - m_Layer: 5 - m_Name: List - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &250857270 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 250857269} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_ChildAlignment: 0 - m_Spacing: 0 - m_ChildForceExpandWidth: 1 - m_ChildForceExpandHeight: 0 ---- !u!224 &250857271 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 250857269} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 922779737} - - {fileID: 1679844150} - - {fileID: 1962593004} - m_Father: {fileID: 1981142013} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!1001 &279059992 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 312263520} - m_Modifications: - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalPosition.x - value: -1.13 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalPosition.y - value: 2.3900001 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalPosition.z - value: -3.56999993 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_RootOrder - value: 3 - objectReference: {fileID: 0} - - target: {fileID: 11414528, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: Force - value: 3 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalScale.x - value: 1.58968258 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalScale.y - value: 1.58968306 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalScale.z - value: 1.58968306 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &312263519 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 312263520} - m_Layer: 0 - m_Name: Container - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &312263520 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 312263519} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 497908867} - - {fileID: 769487672} - - {fileID: 756017745} - - {fileID: 1726188318} - - {fileID: 110191049} - - {fileID: 1411274273} - m_Father: {fileID: 930800601} - m_RootOrder: 3 ---- !u!4 &497908867 stripped -Transform: - m_PrefabParentObject: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - m_PrefabInternal: {fileID: 1411228864} ---- !u!1001 &543251036 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 11400000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: layers.Array.size - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 11400000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: layers.Array.data[0] - value: - objectReference: {fileID: 0} - - target: {fileID: 11400004, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_Enabled - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 11400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_Enabled - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &584553676 stripped -GameObject: - m_PrefabParentObject: {fileID: 100004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - m_PrefabInternal: {fileID: 599866430} ---- !u!4 &584553677 stripped -Transform: - m_PrefabParentObject: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - m_PrefabInternal: {fileID: 599866430} ---- !u!114 &584553678 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 584553676} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1235405773, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - numberOfTapsRequired: 2 - timeLimit: 1 - distanceLimit: 1 ---- !u!114 &584553679 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 584553676} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f0dccb7916075489e8e35e86d097d75b, type: 3} - m_Name: - m_EditorClassIdentifier: - CubePrefab: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - Container: {fileID: 312263520} - Scale: 1 ---- !u!1001 &599866430 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 930800601} - m_Modifications: - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalPosition.x - value: -.0399999991 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalPosition.y - value: -12.9700003 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalPosition.z - value: .25999999 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalRotation.y - value: .360566735 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalRotation.w - value: .932733476 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_RootOrder - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalScale.x - value: 17 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalScale.y - value: 17 - objectReference: {fileID: 0} - - target: {fileID: 400004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_LocalScale.z - value: 17 - objectReference: {fileID: 0} - - target: {fileID: 100004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} - m_RemovedComponents: - - {fileID: 9500000, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - m_ParentPrefab: {fileID: 100100000, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - m_IsPrefabParent: 0 ---- !u!1 &721853795 stripped -GameObject: - m_PrefabParentObject: {fileID: 100006, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - m_PrefabInternal: {fileID: 599866430} ---- !u!64 &721853799 -MeshCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 721853795} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Convex: 1 - m_Mesh: {fileID: 4300006, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} ---- !u!1 &740851131 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 740851132} - - 223: {fileID: 740851135} - - 114: {fileID: 740851134} - - 114: {fileID: 740851133} - m_Layer: 5 - m_Name: Canvas - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &740851132 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0, y: 0, z: 0} - m_Children: - - {fileID: 1981142013} - - {fileID: 1552723601} - m_Father: {fileID: 0} - m_RootOrder: 3 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0, y: 0} ---- !u!114 &740851133 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreReversedGraphics: 1 - m_BlockingObjects: 0 - m_BlockingMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!114 &740851134 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UiScaleMode: 1 - m_ReferencePixelsPerUnit: 100 - m_ScaleFactor: 1 - m_ReferenceResolution: {x: 640, y: 480} - m_ScreenMatchMode: 0 - m_MatchWidthOrHeight: 1 - m_PhysicalUnit: 3 - m_FallbackScreenDPI: 96 - m_DefaultSpriteDPI: 96 - m_DynamicPixelsPerUnit: 1 ---- !u!223 &740851135 -Canvas: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 740851131} - m_Enabled: 1 - serializedVersion: 2 - m_RenderMode: 0 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!4 &756017745 stripped -Transform: - m_PrefabParentObject: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - m_PrefabInternal: {fileID: 1635074073} ---- !u!4 &769487672 stripped -Transform: - m_PrefabParentObject: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - m_PrefabInternal: {fileID: 1224023293} ---- !u!1001 &786000067 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 312263520} - m_Modifications: - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalPosition.x - value: 1.08000004 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalPosition.y - value: 2.3900001 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalPosition.z - value: -3.56999993 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_RootOrder - value: 4 - objectReference: {fileID: 0} - - target: {fileID: 11414528, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: Force - value: 3 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalScale.x - value: 1.58968258 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalScale.y - value: 1.58968306 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalScale.z - value: 1.58968306 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - m_IsPrefabParent: 0 ---- !u!1001 &848195253 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 312263520} - m_Modifications: - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalPosition.x - value: -.0900000036 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalPosition.y - value: 4 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalPosition.z - value: -3.56999993 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_RootOrder - value: 5 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &906624104 stripped -GameObject: - m_PrefabParentObject: {fileID: 100000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - m_PrefabInternal: {fileID: 543251036} ---- !u!114 &906624105 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 906624104} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 175516946, guid: bb6056dc800c1084da7273cb9f23f5cb, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - TouchTags: - tagList: - - Touch - MouseTags: - tagList: - - Mouse - PenTags: - tagList: - - Pen ---- !u!114 &906624106 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 906624104} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1496140412, guid: bb6056dc800c1084da7273cb9f23f5cb, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - DisableMouseInputInBuilds: 1 - Tags: - tagList: - - Touch ---- !u!1 &922779735 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 922779737} - - 114: {fileID: 922779736} - m_Layer: 5 - m_Name: Double tap - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &922779736 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 922779735} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: 60 - m_PreferredWidth: -1 - m_PreferredHeight: 60 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 ---- !u!224 &922779737 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 922779735} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1149683276} - - {fileID: 1166494019} - m_Father: {fileID: 250857271} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!1 &930800600 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 930800601} - m_Layer: 0 - m_Name: Scene - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &930800601 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 930800600} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 2135305920} - - {fileID: 62216952} - - {fileID: 584553677} - - {fileID: 312263520} - m_Father: {fileID: 0} - m_RootOrder: 2 ---- !u!1 &1138005899 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1138005900} - - 222: {fileID: 1138005902} - - 114: {fileID: 1138005901} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1138005900 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1138005899} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1679844150} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 31, y: 0} - m_SizeDelta: {x: 60, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1138005901 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1138005899} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 26489b03725f747f998c39661c2583b5, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &1138005902 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1138005899} ---- !u!1 &1149683275 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1149683276} - - 222: {fileID: 1149683278} - - 114: {fileID: 1149683277} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1149683276 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1149683275} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 922779737} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 31, y: 0} - m_SizeDelta: {x: 60, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1149683277 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1149683275} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 5313b5292084b4cb9a1118b00328f971, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &1149683278 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1149683275} ---- !u!1 &1166494018 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1166494019} - - 222: {fileID: 1166494022} - - 114: {fileID: 1166494021} - - 114: {fileID: 1166494020} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1166494019 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1166494018} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 922779737} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 177.5, y: 0} - m_SizeDelta: {x: 204.699997, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1166494020 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1166494018} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 1} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!114 &1166494021 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1166494018} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 3 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: 'Double tap the table - - to spawn a new crate' ---- !u!222 &1166494022 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1166494018} ---- !u!1001 &1224023293 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 312263520} - m_Modifications: - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalPosition.x - value: 2.24000001 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalPosition.y - value: .689999998 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalPosition.z - value: -3.56999993 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_RootOrder - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 11414528, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: Force - value: 3 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalScale.x - value: 1.58968258 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalScale.y - value: 1.58968306 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalScale.z - value: 1.58968306 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &1271849413 stripped -GameObject: - m_PrefabParentObject: {fileID: 100008, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} - m_PrefabInternal: {fileID: 599866430} ---- !u!64 &1271849417 -MeshCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1271849413} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Convex: 1 - m_Mesh: {fileID: 4300004, guid: 648250201fabe574b8591ee45cddcf4a, type: 3} ---- !u!1 &1399100003 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1399100004} - - 222: {fileID: 1399100006} - - 114: {fileID: 1399100005} - - 114: {fileID: 1399100007} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1399100004 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1399100003} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1962593004} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 177.5, y: 0} - m_SizeDelta: {x: 204.699997, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1399100005 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1399100003} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 3 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: "Hold a crate \nto blow it up" ---- !u!222 &1399100006 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1399100003} ---- !u!114 &1399100007 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1399100003} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 1} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!1 &1408280580 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1408280581} - - 222: {fileID: 1408280583} - - 114: {fileID: 1408280582} - - 114: {fileID: 1408280584} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1408280581 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408280580} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1679844150} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 177.5, y: 0} - m_SizeDelta: {x: 204.699997, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1408280582 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408280580} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 3 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: "Tap a crate \nto kick it" ---- !u!222 &1408280583 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408280580} ---- !u!114 &1408280584 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408280580} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 1} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!1001 &1411228864 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 312263520} - m_Modifications: - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalPosition.x - value: -.00999999978 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalPosition.y - value: .689999998 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalPosition.z - value: -3.56999993 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_RootOrder - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - m_IsPrefabParent: 0 ---- !u!4 &1411274273 stripped -Transform: - m_PrefabParentObject: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - m_PrefabInternal: {fileID: 848195253} ---- !u!1 &1552723600 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1552723601} - - 222: {fileID: 1552723603} - - 114: {fileID: 1552723602} - - 114: {fileID: 1552723604} - m_Layer: 5 - m_Name: Description - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1552723601 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1552723600} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 740851132} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 178, y: 78} - m_SizeDelta: {x: 320, y: 128} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1552723602 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1552723600} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: 'Taps - - - This example shows how to use TapGesture and LongPressGesture. - - - Check the Cube prefab.' ---- !u!222 &1552723603 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1552723600} ---- !u!114 &1552723604 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1552723600} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 1} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!1001 &1635074073 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 312263520} - m_Modifications: - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalPosition.x - value: -2.22000003 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalPosition.y - value: .689999998 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalPosition.z - value: -3.56999993 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_RootOrder - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 11414528, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: Force - value: 3 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalScale.x - value: 1.58968258 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalScale.y - value: 1.58968306 - objectReference: {fileID: 0} - - target: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - propertyPath: m_LocalScale.z - value: 1.58968306 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &1679844149 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1679844150} - - 114: {fileID: 1679844151} - m_Layer: 5 - m_Name: Tap - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1679844150 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1679844149} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1138005900} - - {fileID: 1408280581} - m_Father: {fileID: 250857271} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1679844151 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1679844149} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: 60 - m_PreferredWidth: -1 - m_PreferredHeight: 60 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 ---- !u!4 &1726188318 stripped -Transform: - m_PrefabParentObject: {fileID: 496116, guid: 3c294c033fb7140d09b0bd33830617bb, type: 2} - m_PrefabInternal: {fileID: 279059992} ---- !u!1 &1764701046 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1764701050} - - 114: {fileID: 1764701049} - m_Layer: 0 - m_Name: EventSystem - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1764701049 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1764701046} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_FirstSelected: {fileID: 0} - m_sendNavigationEvents: 1 - m_DragThreshold: 5 ---- !u!4 &1764701050 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1764701046} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 4 ---- !u!1001 &1772227325 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 11400000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - propertyPath: m_Enabled - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 100000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - propertyPath: m_RootOrder - value: 1 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &1962593003 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1962593004} - - 114: {fileID: 1962593005} - m_Layer: 5 - m_Name: Hold - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1962593004 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1962593003} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 242343086} - - {fileID: 1399100004} - m_Father: {fileID: 250857271} - m_RootOrder: 2 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1962593005 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1962593003} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: 60 - m_PreferredWidth: -1 - m_PreferredHeight: 60 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 ---- !u!1 &1981142012 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1981142013} - m_Layer: 5 - m_Name: Panel - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1981142013 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1981142012} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 250857271} - m_Father: {fileID: 740851132} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: .252637833, y: 1} - m_AnchoredPosition: {x: 5, y: 50} - m_SizeDelta: {x: -10, y: -120} - m_Pivot: {x: .5, y: .5} ---- !u!1 &2135305919 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 2135305920} - - 108: {fileID: 2135305921} - m_Layer: 0 - m_Name: Directional light - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2135305920 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2135305919} - m_LocalRotation: {x: .241942912, y: -.49854365, z: .221075788, w: .802523136} - m_LocalPosition: {x: 6.10041475, y: 15.5403843, z: -20.5662251} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 930800601} - m_RootOrder: 0 ---- !u!108 &2135305921 -Light: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2135305919} - m_Enabled: 1 - serializedVersion: 6 - m_Type: 1 - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_Intensity: 1.29999995 - m_Range: 10 - m_SpotAngle: 30 - m_CookieSize: 10 - m_Shadows: - m_Type: 2 - m_Resolution: 3 - m_Strength: .560000002 - m_Bias: .100000001 - m_NormalBias: .400000006 - m_Cookie: {fileID: 0} - m_DrawHalo: 0 - m_Flare: {fileID: 0} - m_RenderMode: 0 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_Lightmapping: 1 - m_BounceIntensity: 1 - m_ShadowRadius: 0 - m_ShadowAngle: 0 - m_AreaSize: {x: 1, y: 1} diff --git a/ThirdParty/TouchScript/Examples/General/Taps/Taps.unity.meta b/ThirdParty/TouchScript/Examples/General/Taps/Taps.unity.meta deleted file mode 100644 index 01e64850f..000000000 --- a/ThirdParty/TouchScript/Examples/General/Taps/Taps.unity.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 5013fa58cea314376b273bd8905581f4 -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/UI/InputModule.unity b/ThirdParty/TouchScript/Examples/General/UI/InputModule.unity deleted file mode 100644 index 71aa840b1..000000000 --- a/ThirdParty/TouchScript/Examples/General/UI/InputModule.unity +++ /dev/null @@ -1,3760 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!29 &1 -SceneSettings: - m_ObjectHideFlags: 0 - m_PVSData: - m_PVSObjectsArray: [] - m_PVSPortalsArray: [] - m_OcclusionBakeSettings: - smallestOccluder: 5 - smallestHole: .25 - backfaceThreshold: 100 ---- !u!104 &2 -RenderSettings: - m_ObjectHideFlags: 0 - serializedVersion: 6 - m_Fog: 0 - m_FogColor: {r: .5, g: .5, b: .5, a: 1} - m_FogMode: 3 - m_FogDensity: .00999999978 - m_LinearFogStart: 0 - m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} - m_AmbientEquatorColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} - m_AmbientGroundColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} - m_AmbientIntensity: 1 - m_AmbientMode: 3 - m_SkyboxMaterial: {fileID: 0} - m_HaloStrength: .5 - m_FlareStrength: 1 - m_FlareFadeSpeed: 3 - m_HaloTexture: {fileID: 0} - m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} - m_DefaultReflectionMode: 0 - m_DefaultReflectionResolution: 128 - m_ReflectionBounces: 1 - m_ReflectionIntensity: 1 - m_CustomReflection: {fileID: 0} - m_Sun: {fileID: 0} ---- !u!157 &4 -LightmapSettings: - m_ObjectHideFlags: 0 - serializedVersion: 5 - m_GIWorkflowMode: 1 - m_LightmapsMode: 1 - m_GISettings: - serializedVersion: 2 - m_BounceScale: 1 - m_IndirectOutputScale: 1 - m_AlbedoBoost: 1 - m_TemporalCoherenceThreshold: 1 - m_EnvironmentLightingMode: 0 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 0 - m_LightmapEditorSettings: - serializedVersion: 3 - m_Resolution: 1 - m_BakeResolution: 50 - m_TextureWidth: 1024 - m_TextureHeight: 1024 - m_AOMaxDistance: 1 - m_Padding: 2 - m_CompAOExponent: 0 - m_LightmapParameters: {fileID: 0} - m_TextureCompression: 0 - m_FinalGather: 0 - m_FinalGatherRayCount: 1024 - m_ReflectionCompression: 2 - m_LightmapSnapshot: {fileID: 0} - m_RuntimeCPUUsage: 25 ---- !u!196 &5 -NavMeshSettings: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_BuildSettings: - serializedVersion: 2 - agentRadius: .5 - agentHeight: 2 - agentSlope: 45 - agentClimb: .400000006 - ledgeDropHeight: 0 - maxJumpAcrossDistance: 0 - accuratePlacement: 0 - minRegionArea: 2 - cellSize: .166666657 - manualCellSize: 0 - m_NavMeshData: {fileID: 0} ---- !u!1 &44638783 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 44638786} - - 222: {fileID: 44638785} - - 114: {fileID: 44638784} - m_Layer: 0 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &44638784 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 44638783} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0, g: 0, b: 0, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: c9526d00e23c94f788b5b0e8833d5941, type: 3} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &44638785 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 44638783} ---- !u!224 &44638786 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 44638783} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 94606778} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!1 &62216951 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 62216952} - - 20: {fileID: 62216957} - - 92: {fileID: 62216956} - - 124: {fileID: 62216955} - - 81: {fileID: 62216954} - - 114: {fileID: 62216953} - m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &62216952 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_LocalRotation: {x: -.262086809, y: .366962194, z: -.108559854, w: -.885925531} - m_LocalPosition: {x: 5.55999994, y: 4.82000017, z: -5.46000004} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 930800601} - m_RootOrder: 2 ---- !u!114 &62216953 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1298086939, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - Name: Main Camera - layerMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!81 &62216954 -AudioListener: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 ---- !u!124 &62216955 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 ---- !u!92 &62216956 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 ---- !u!20 &62216957 -Camera: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 62216951} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0, g: 0, b: 0, a: .0196078438} - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: .300000012 - far clip plane: 1000 - field of view: 60 - orthographic: 0 - orthographic size: 100 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: .0219999999 - m_StereoMirrorMode: 0 ---- !u!1 &94606777 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 94606778} - - 222: {fileID: 94606781} - - 114: {fileID: 94606780} - - 114: {fileID: 94606779} - m_Layer: 0 - m_Name: Add Button - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &94606778 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 94606777} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -10} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 346878481} - - {fileID: 44638786} - m_Father: {fileID: 1301221420} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: .602483392, y: .314181447} - m_AnchoredPosition: {x: 7, y: 4.5} - m_SizeDelta: {x: -19, y: -20} - m_Pivot: {x: .5, y: .5} ---- !u!114 &94606779 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 94606777} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1} - m_PressedColor: {r: 0, g: 1, b: .00689649582, a: 1} - m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} - m_ColorMultiplier: 1 - m_FadeDuration: .100000001 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 94606780} - m_OnClick: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 1979221413} - m_MethodName: Add - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 - m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, - Culture=neutral, PublicKeyToken=null ---- !u!114 &94606780 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 94606777} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 0, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &94606781 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 94606777} ---- !u!1 &101996206 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 101996207} - - 222: {fileID: 101996209} - - 114: {fileID: 101996208} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &101996207 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 101996206} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 2107589903} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: .800000012} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &101996208 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 101996206} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: c9526d00e23c94f788b5b0e8833d5941, type: 3} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &101996209 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 101996206} ---- !u!1 &107321541 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 107321542} - - 222: {fileID: 107321544} - - 114: {fileID: 107321543} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &107321542 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 107321541} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 411870819} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &107321543 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 107321541} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 0, b: 0, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: c9526d00e23c94f788b5b0e8833d5941, type: 3} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &107321544 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 107321541} ---- !u!1 &142216715 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 142216716} - - 222: {fileID: 142216718} - - 114: {fileID: 142216717} - m_Layer: 0 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &142216716 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 142216715} - m_LocalRotation: {x: 0, y: 0, z: .707106829, w: .707106709} - m_LocalPosition: {x: 0, y: 0, z: -59} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1932435999} - m_RootOrder: 2 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 8, y: -12} - m_SizeDelta: {x: 687, y: -846} - m_Pivot: {x: .5, y: .5} ---- !u!114 &142216717 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 142216715} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 1 - m_BestFit: 1 - m_MinSize: 10 - m_MaxSize: 80 - m_Alignment: 4 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: World Canvas ---- !u!222 &142216718 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 142216715} ---- !u!1 &187227221 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 187227222} - - 222: {fileID: 187227225} - - 114: {fileID: 187227224} - - 114: {fileID: 187227223} - m_Layer: 5 - m_Name: Panel - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &187227222 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 187227221} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 411870819} - - {fileID: 1406281477} - - {fileID: 1101956163} - - {fileID: 701351979} - m_Father: {fileID: 2107589903} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: .800000012} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: .5} - m_SizeDelta: {x: 0, y: -1} - m_Pivot: {x: .5, y: .5} ---- !u!114 &187227223 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 187227221} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Padding: - m_Left: 15 - m_Right: 15 - m_Top: 15 - m_Bottom: 15 - m_ChildAlignment: 4 - m_Spacing: 4 - m_ChildForceExpandWidth: 1 - m_ChildForceExpandHeight: 1 ---- !u!114 &187227224 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 187227221} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: .39199999} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 101a2db3cfc4b43ef985335f970658ab, type: 3} - m_Type: 2 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &187227225 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 187227221} ---- !u!1 &204253027 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 204253028} - - 223: {fileID: 204253031} - - 114: {fileID: 204253030} - - 114: {fileID: 204253029} - m_Layer: 0 - m_Name: Camera Canvas - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &204253028 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 204253027} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0, y: 0, z: 0} - m_Children: - - {fileID: 1236964526} - m_Father: {fileID: 930800601} - m_RootOrder: 3 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0, y: 0} ---- !u!114 &204253029 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 204253027} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreReversedGraphics: 1 - m_BlockingObjects: 0 - m_BlockingMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!114 &204253030 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 204253027} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UiScaleMode: 0 - m_ReferencePixelsPerUnit: 100 - m_ScaleFactor: 1 - m_ReferenceResolution: {x: 800, y: 600} - m_ScreenMatchMode: 0 - m_MatchWidthOrHeight: 0 - m_PhysicalUnit: 3 - m_FallbackScreenDPI: 96 - m_DefaultSpriteDPI: 96 - m_DynamicPixelsPerUnit: 1 ---- !u!223 &204253031 -Canvas: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 204253027} - m_Enabled: 1 - serializedVersion: 2 - m_RenderMode: 1 - m_Camera: {fileID: 62216957} - m_PlaneDistance: 3 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingLayerID: 0 - m_SortingOrder: 1 ---- !u!1 &238072896 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 238072899} - - 222: {fileID: 238072898} - - 114: {fileID: 238072897} - - 114: {fileID: 238072901} - - 114: {fileID: 238072904} - - 114: {fileID: 238072903} - - 114: {fileID: 238072900} - - 65: {fileID: 238072902} - - 114: {fileID: 238072905} - m_Layer: 0 - m_Name: Image 1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &238072897 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 238072896} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -98529514, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Texture: {fileID: 2800000, guid: 97bf9d574de664236942f6c91db57ef6, type: 3} - m_UVRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 ---- !u!222 &238072898 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 238072896} ---- !u!224 &238072899 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 238072896} - m_LocalRotation: {x: 4.13857464e-08, y: 1.03727782e-08, z: .179278508, w: .983798385} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1593048785} - - {fileID: 994844643} - m_Father: {fileID: 1979221409} - m_RootOrder: 0 - m_AnchorMin: {x: .5, y: .5} - m_AnchorMax: {x: .5, y: .5} - m_AnchoredPosition: {x: -161, y: 123.999542} - m_SizeDelta: {x: 300, y: 300} - m_Pivot: {x: .5, y: .5} ---- !u!114 &238072900 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 238072896} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 645232165, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - Speed: 10 - PanMultiplier: 1 - AllowChangingFromOutside: 0 ---- !u!114 &238072901 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 238072896} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1518784480, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: - - {fileID: 238072903} - - {fileID: 238072904} - projection: 1 - projectionNormal: {x: 0, y: 0, z: 1} - movementThreshold: .5 ---- !u!65 &238072902 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 238072896} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 300, y: 300, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!114 &238072903 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 238072896} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1136761322, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: - - {fileID: 238072901} - - {fileID: 238072904} - projection: 1 - projectionNormal: {x: 0, y: 0, z: 1} - minPointsDistance: .5 - scalingThreshold: .5 ---- !u!114 &238072904 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 238072896} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1726975797, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: - - {fileID: 238072903} - - {fileID: 238072901} - projection: 1 - projectionNormal: {x: 0, y: 0, z: 1} - minPointsDistance: .5 - rotationThreshold: 3 ---- !u!114 &238072905 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 238072896} - m_Enabled: 0 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e8d231b90191d4ffcae71a475e432b7d, type: 3} - m_Name: - m_EditorClassIdentifier: - Delay: 0 ---- !u!1 &290456372 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 290456373} - - 222: {fileID: 290456375} - - 114: {fileID: 290456374} - m_Layer: 0 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &290456373 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 290456372} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 25.3999996} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1236964526} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 3.85500002} - m_SizeDelta: {x: 0, y: 7.71000004} - m_Pivot: {x: .5, y: .5} ---- !u!114 &290456374 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 290456372} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: c9526d00e23c94f788b5b0e8833d5941, type: 3} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &290456375 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 290456372} ---- !u!1 &346878480 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 346878481} - - 222: {fileID: 346878483} - - 114: {fileID: 346878482} - m_Layer: 0 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &346878481 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 346878480} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 94606778} - m_RootOrder: 0 - m_AnchorMin: {x: .085907571, y: .21797578} - m_AnchorMax: {x: .916279554, y: .790476441} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &346878482 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 346878480} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0, g: 0, b: 0, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 1 - m_BestFit: 1 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 4 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: ADD ---- !u!222 &346878483 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 346878480} ---- !u!1 &411870814 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 411870819} - - 222: {fileID: 411870818} - - 114: {fileID: 411870817} - - 114: {fileID: 411870816} - m_Layer: 5 - m_Name: Button - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &411870816 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 411870814} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1} - m_PressedColor: {r: 1, g: 0, b: 0, a: 1} - m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} - m_ColorMultiplier: 1 - m_FadeDuration: .100000001 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 411870817} - m_OnClick: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 1979221412} - m_MethodName: Set - m_Mode: 3 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 - m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, - Culture=neutral, PublicKeyToken=null ---- !u!114 &411870817 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 411870814} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &411870818 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 411870814} ---- !u!224 &411870819 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 411870814} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 107321542} - - {fileID: 2077422342} - m_Father: {fileID: 187227222} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!1001 &543251036 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 11400000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: layers.Array.size - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 11400000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: layers.Array.data[0] - value: - objectReference: {fileID: 62216953} - - target: {fileID: 11400000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: layers.Array.data[1] - value: - objectReference: {fileID: 62216953} - - target: {fileID: 11400004, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_Enabled - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 11400002, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - propertyPath: m_Enabled - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &581803646 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 581803647} - - 222: {fileID: 581803649} - - 114: {fileID: 581803648} - m_Layer: 0 - m_Name: Border - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &581803647 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 581803646} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -6} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 886654112} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &581803648 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 581803646} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0, g: 0, b: 0, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: c9526d00e23c94f788b5b0e8833d5941, type: 3} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &581803649 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 581803646} ---- !u!1 &585113473 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 585113474} - - 222: {fileID: 585113476} - - 114: {fileID: 585113475} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &585113474 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 585113473} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 701351979} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &585113475 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 585113473} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: c9526d00e23c94f788b5b0e8833d5941, type: 3} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &585113476 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 585113473} ---- !u!1 &651643060 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 651643064} - - 114: {fileID: 651643063} - - 114: {fileID: 651643061} - m_Layer: 0 - m_Name: EventSystem - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &651643061 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 651643060} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -839872303, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - horizontalAxis: Horizontal - verticalAxis: Vertical - submitButton: Submit - cancelButton: Cancel - inputActionsPerSecond: 10 - repeatDelay: .5 ---- !u!114 &651643063 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 651643060} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_FirstSelected: {fileID: 0} - m_sendNavigationEvents: 1 - m_DragThreshold: 5 ---- !u!4 &651643064 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 651643060} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 3 ---- !u!1 &689392536 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 689392537} - - 222: {fileID: 689392539} - - 114: {fileID: 689392538} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &689392537 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 689392536} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1406281477} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &689392538 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 689392536} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0, g: 1, b: 0, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: c9526d00e23c94f788b5b0e8833d5941, type: 3} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &689392539 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 689392536} ---- !u!1 &701351978 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 701351979} - - 222: {fileID: 701351983} - - 114: {fileID: 701351982} - - 114: {fileID: 701351981} - m_Layer: 5 - m_Name: Button - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &701351979 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 701351978} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 585113474} - - {fileID: 1615394527} - m_Father: {fileID: 187227222} - m_RootOrder: 3 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &701351981 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 701351978} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1} - m_PressedColor: {r: 0, g: 1, b: 1, a: 1} - m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} - m_ColorMultiplier: 1 - m_FadeDuration: .100000001 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 701351982} - m_OnClick: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 1979221412} - m_MethodName: Set - m_Mode: 3 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 3 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 - m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, - Culture=neutral, PublicKeyToken=null ---- !u!114 &701351982 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 701351978} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &701351983 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 701351978} ---- !u!1 &886654111 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 886654112} - - 222: {fileID: 886654118} - - 114: {fileID: 886654117} - - 114: {fileID: 886654119} - - 114: {fileID: 886654116} - - 114: {fileID: 886654115} - - 114: {fileID: 886654114} - - 65: {fileID: 886654113} - - 114: {fileID: 886654120} - m_Layer: 0 - m_Name: Image 2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &886654112 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 886654111} - m_LocalRotation: {x: 3.98202182e-08, y: 6.83678891e-09, z: .248051226, w: .96874696} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 581803647} - - {fileID: 1423800608} - m_Father: {fileID: 1979221409} - m_RootOrder: 1 - m_AnchorMin: {x: .5, y: .5} - m_AnchorMax: {x: .5, y: .5} - m_AnchoredPosition: {x: 218, y: -143.998871} - m_SizeDelta: {x: 300, y: 300} - m_Pivot: {x: .5, y: .5} ---- !u!65 &886654113 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 886654111} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 300, y: 300, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!114 &886654114 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 886654111} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 645232165, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - Speed: 10 - PanMultiplier: 1 - AllowChangingFromOutside: 0 ---- !u!114 &886654115 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 886654111} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1136761322, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: - - {fileID: 886654116} - - {fileID: 886654119} - projection: 1 - projectionNormal: {x: 0, y: 0, z: 1} - minPointsDistance: .5 - scalingThreshold: .5 ---- !u!114 &886654116 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 886654111} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1726975797, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: - - {fileID: 886654115} - - {fileID: 886654119} - projection: 1 - projectionNormal: {x: 0, y: 0, z: 1} - minPointsDistance: .5 - rotationThreshold: 3 ---- !u!114 &886654117 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 886654111} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -98529514, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Texture: {fileID: 2800000, guid: 3877e55a8f20d4ed281d3011c791d7a0, type: 3} - m_UVRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 ---- !u!222 &886654118 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 886654111} ---- !u!114 &886654119 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 886654111} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1518784480, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: - - {fileID: 886654115} - - {fileID: 886654116} - projection: 1 - projectionNormal: {x: 0, y: 0, z: 1} - movementThreshold: .5 ---- !u!114 &886654120 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 886654111} - m_Enabled: 0 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e8d231b90191d4ffcae71a475e432b7d, type: 3} - m_Name: - m_EditorClassIdentifier: - Delay: 0 ---- !u!1 &894414301 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 894414302} - - 20: {fileID: 894414306} - - 124: {fileID: 894414305} - - 92: {fileID: 894414304} - - 81: {fileID: 894414303} - m_Layer: 0 - m_Name: Camera - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &894414302 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 894414301} - m_LocalRotation: {x: .707106829, y: 0, z: 0, w: .707106709} - m_LocalPosition: {x: 0, y: 9.31999969, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1292123036} - m_RootOrder: 1 ---- !u!81 &894414303 -AudioListener: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 894414301} - m_Enabled: 0 ---- !u!92 &894414304 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 894414301} - m_Enabled: 0 ---- !u!124 &894414305 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 894414301} - m_Enabled: 0 ---- !u!20 &894414306 -Camera: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 894414301} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: .192156866, g: .301960796, b: .474509805, a: .0196078438} - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: .300000012 - far clip plane: 1000 - field of view: 60 - orthographic: 0 - orthographic size: 5 - m_Depth: 0 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 8400000, guid: 1b8be3f2cf5594c6ea36e9a3843139dc, type: 2} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: .0219999999 - m_StereoMirrorMode: 0 ---- !u!1 &906624104 stripped -GameObject: - m_PrefabParentObject: {fileID: 100000, guid: 1c4dd8a13f501b04f84fe824120f70bb, type: 2} - m_PrefabInternal: {fileID: 543251036} ---- !u!114 &906624105 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 906624104} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 175516946, guid: bb6056dc800c1084da7273cb9f23f5cb, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - TouchTags: - tagList: - - Touch - MouseTags: - tagList: - - Mouse - PenTags: - tagList: - - Pen ---- !u!114 &906624106 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 906624104} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1496140412, guid: bb6056dc800c1084da7273cb9f23f5cb, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - DisableMouseInputInBuilds: 1 - Tags: - tagList: - - Touch ---- !u!1 &930800600 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 930800601} - m_Layer: 0 - m_Name: Scene - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &930800601 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 930800600} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1292123036} - - {fileID: 2135305920} - - {fileID: 62216952} - - {fileID: 204253028} - - {fileID: 2107589903} - m_Father: {fileID: 0} - m_RootOrder: 2 ---- !u!1 &982847339 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 982847340} - - 222: {fileID: 982847342} - - 114: {fileID: 982847341} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &982847340 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 982847339} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1101956163} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &982847341 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 982847339} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 0, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: c9526d00e23c94f788b5b0e8833d5941, type: 3} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &982847342 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 982847339} ---- !u!1 &994844642 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 994844643} - - 222: {fileID: 994844647} - - 114: {fileID: 994844646} - - 114: {fileID: 994844645} - m_Layer: 0 - m_Name: Close - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &994844643 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 994844642} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -5} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 238072899} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 18, y: -18} - m_SizeDelta: {x: 80, y: 80} - m_Pivot: {x: .5, y: .5} ---- !u!114 &994844645 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 994844642} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1} - m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1} - m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} - m_ColorMultiplier: 1 - m_FadeDuration: .100000001 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 994844646} - m_OnClick: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 238072905} - m_MethodName: set_enabled - m_Mode: 6 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 1 - m_CallState: 2 - m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, - Culture=neutral, PublicKeyToken=null ---- !u!114 &994844646 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 994844642} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: afc4b16a1177b45a09ce4e236152d63c, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &994844647 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 994844642} ---- !u!1 &1027187497 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1027187498} - - 222: {fileID: 1027187500} - - 114: {fileID: 1027187499} - m_Layer: 0 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1027187498 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1027187497} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 2.77790004e-05} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1236964526} - m_RootOrder: 0 - m_AnchorMin: {x: .309000015, y: 0} - m_AnchorMax: {x: 1, y: 0} - m_AnchoredPosition: {x: -.134020001, y: -21.1000004} - m_SizeDelta: {x: -.267960012, y: 29.7999992} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1027187499 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1027187497} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 1 - m_BestFit: 1 - m_MinSize: 10 - m_MaxSize: 100 - m_Alignment: 2 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: Camera Canvas ---- !u!222 &1027187500 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1027187497} ---- !u!1 &1056464758 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1056464759} - - 222: {fileID: 1056464761} - - 114: {fileID: 1056464760} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1056464759 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1056464758} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 2107589903} - m_RootOrder: 2 - m_AnchorMin: {x: .69750005, y: .69600004} - m_AnchorMax: {x: 1, y: .800000012} - m_AnchoredPosition: {x: 1.10000002, y: -6} - m_SizeDelta: {x: -30.2000008, y: -12} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1056464760 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1056464758} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 20 - m_FontStyle: 1 - m_BestFit: 1 - m_MinSize: 5 - m_MaxSize: 40 - m_Alignment: 2 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: Screen Space Canvas ---- !u!222 &1056464761 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1056464758} ---- !u!1 &1101956162 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1101956163} - - 222: {fileID: 1101956167} - - 114: {fileID: 1101956166} - - 114: {fileID: 1101956165} - m_Layer: 5 - m_Name: Button - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1101956163 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1101956162} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 982847340} - - {fileID: 1820795547} - m_Father: {fileID: 187227222} - m_RootOrder: 2 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1101956165 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1101956162} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1} - m_PressedColor: {r: 1, g: 0, b: 1, a: 1} - m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} - m_ColorMultiplier: 1 - m_FadeDuration: .100000001 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 1101956166} - m_OnClick: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 1979221412} - m_MethodName: Set - m_Mode: 3 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 2 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 - m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, - Culture=neutral, PublicKeyToken=null ---- !u!114 &1101956166 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1101956162} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &1101956167 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1101956162} ---- !u!1 &1236964525 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1236964526} - - 222: {fileID: 1236964528} - - 114: {fileID: 1236964527} - m_Layer: 0 - m_Name: Panel - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1236964526 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1236964525} - m_LocalRotation: {x: .0402504168, y: .380253881, z: -.00021144397, w: .924005926} - m_LocalPosition: {x: 0, y: 0, z: -12} - m_LocalScale: {x: .600000024, y: .600000024, z: .600000024} - m_Children: - - {fileID: 1027187498} - - {fileID: 290456373} - - {fileID: 1477172502} - - {fileID: 1301221420} - m_Father: {fileID: 204253028} - m_RootOrder: 0 - m_AnchorMin: {x: .627800941, y: 0} - m_AnchorMax: {x: 1, y: .633322477} - m_AnchoredPosition: {x: -8, y: -10} - m_SizeDelta: {x: -36, y: -60} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1236964527 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1236964525} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: .39199999} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &1236964528 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1236964525} ---- !u!1 &1276931408 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1276931409} - - 222: {fileID: 1276931411} - - 114: {fileID: 1276931410} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1276931409 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1276931408} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1406281477} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1276931410 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1276931408} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0, g: 0, b: 0, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 34 - m_FontStyle: 1 - m_BestFit: 1 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 4 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: GREEN ---- !u!222 &1276931411 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1276931408} ---- !u!1 &1292123035 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1292123036} - - 33: {fileID: 1292123039} - - 64: {fileID: 1292123038} - - 23: {fileID: 1292123037} - m_Layer: 0 - m_Name: Plane - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1292123036 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1292123035} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1932435999} - - {fileID: 894414302} - m_Father: {fileID: 930800601} - m_RootOrder: 0 ---- !u!23 &1292123037 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1292123035} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_Materials: - - {fileID: 10302, guid: 0000000000000000f000000000000000, type: 0} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 - m_ProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_ImportantGI: 0 - m_AutoUVMaxDistance: .5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!64 &1292123038 -MeshCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1292123035} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Convex: 0 - m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} ---- !u!33 &1292123039 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1292123035} - m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &1301221419 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1301221420} - - 222: {fileID: 1301221422} - - 114: {fileID: 1301221421} - m_Layer: 0 - m_Name: Panel - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1301221420 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1301221419} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 7.11931079e-06} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 94606778} - m_Father: {fileID: 1236964526} - m_RootOrder: 3 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1301221421 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1301221419} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0, g: 0, b: 0, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: c9526d00e23c94f788b5b0e8833d5941, type: 3} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &1301221422 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1301221419} ---- !u!1 &1406281476 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1406281477} - - 222: {fileID: 1406281481} - - 114: {fileID: 1406281480} - - 114: {fileID: 1406281479} - m_Layer: 5 - m_Name: Button - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1406281477 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1406281476} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 689392537} - - {fileID: 1276931409} - m_Father: {fileID: 187227222} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1406281479 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1406281476} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1} - m_PressedColor: {r: 0, g: 1, b: 0, a: 1} - m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} - m_ColorMultiplier: 1 - m_FadeDuration: .100000001 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 1406281480} - m_OnClick: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 1979221412} - m_MethodName: Set - m_Mode: 3 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 1 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 - m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, - Culture=neutral, PublicKeyToken=null ---- !u!114 &1406281480 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1406281476} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &1406281481 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1406281476} ---- !u!1 &1423800607 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1423800608} - - 222: {fileID: 1423800612} - - 114: {fileID: 1423800611} - - 114: {fileID: 1423800610} - m_Layer: 0 - m_Name: Close - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1423800608 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1423800607} - m_LocalRotation: {x: 6.63101673e-07, y: -1.49011612e-07, z: -.0703569278, w: .997521877} - m_LocalPosition: {x: 0, y: 0, z: -5} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 886654112} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 18, y: -18} - m_SizeDelta: {x: 80, y: 80} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1423800610 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1423800607} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1} - m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1} - m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} - m_ColorMultiplier: 1 - m_FadeDuration: .100000001 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 1423800611} - m_OnClick: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 886654120} - m_MethodName: set_enabled - m_Mode: 6 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 1 - m_CallState: 2 - m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, - Culture=neutral, PublicKeyToken=null ---- !u!114 &1423800611 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1423800607} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: afc4b16a1177b45a09ce4e236152d63c, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &1423800612 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1423800607} ---- !u!1 &1477172501 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1477172502} - - 222: {fileID: 1477172504} - - 114: {fileID: 1477172503} - m_Layer: 0 - m_Name: RawImage - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1477172502 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1477172501} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1.00000012, z: 1} - m_Children: [] - m_Father: {fileID: 1236964526} - m_RootOrder: 2 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 1.90734863e-05, y: 4.19616699e-05} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1477172503 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1477172501} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -98529514, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Texture: {fileID: 8400000, guid: 1b8be3f2cf5594c6ea36e9a3843139dc, type: 2} - m_UVRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 ---- !u!222 &1477172504 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1477172501} ---- !u!1 &1593048784 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1593048785} - - 222: {fileID: 1593048787} - - 114: {fileID: 1593048786} - m_Layer: 0 - m_Name: Border - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1593048785 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1593048784} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -6} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 238072899} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1593048786 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1593048784} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0, g: 0, b: 0, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: c9526d00e23c94f788b5b0e8833d5941, type: 3} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &1593048787 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1593048784} ---- !u!1 &1615394526 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1615394527} - - 222: {fileID: 1615394529} - - 114: {fileID: 1615394528} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1615394527 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1615394526} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 701351979} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1615394528 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1615394526} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0, g: 0, b: 0, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 34 - m_FontStyle: 1 - m_BestFit: 1 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 4 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: CYAN ---- !u!222 &1615394529 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1615394526} ---- !u!1001 &1772227325 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: [] - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: c0dc5781cae4a6348b42ea6b818a3f9c, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &1820795546 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1820795547} - - 222: {fileID: 1820795549} - - 114: {fileID: 1820795548} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1820795547 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1820795546} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1101956163} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1820795548 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1820795546} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0, g: 0, b: 0, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 34 - m_FontStyle: 1 - m_BestFit: 1 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 4 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: PINK ---- !u!222 &1820795549 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1820795546} ---- !u!1 &1932435998 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1932435999} - - 223: {fileID: 1932436002} - - 114: {fileID: 1932436001} - - 114: {fileID: 1932436000} - m_Layer: 0 - m_Name: World Space Canvas - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1932435999 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1932435998} - m_LocalRotation: {x: .707106829, y: 0, z: 0, w: .707106709} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: .00999999978, y: .00999999978, z: .00999999978} - m_Children: - - {fileID: 2015117398} - - {fileID: 1979221409} - - {fileID: 142216716} - m_Father: {fileID: 1292123036} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: .0100100003} - m_SizeDelta: {x: 1000, y: 1000} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1932436000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1932435998} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreReversedGraphics: 1 - m_BlockingObjects: 0 - m_BlockingMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!114 &1932436001 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1932435998} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UiScaleMode: 0 - m_ReferencePixelsPerUnit: 100 - m_ScaleFactor: 1 - m_ReferenceResolution: {x: 800, y: 600} - m_ScreenMatchMode: 0 - m_MatchWidthOrHeight: 0 - m_PhysicalUnit: 3 - m_FallbackScreenDPI: 96 - m_DefaultSpriteDPI: 96 - m_DynamicPixelsPerUnit: 1 ---- !u!223 &1932436002 -Canvas: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1932435998} - m_Enabled: 1 - serializedVersion: 2 - m_RenderMode: 2 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!1 &1979221408 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 1979221409} - - 222: {fileID: 1979221411} - - 114: {fileID: 1979221410} - - 114: {fileID: 1979221412} - - 114: {fileID: 1979221413} - m_Layer: 0 - m_Name: Field - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1979221409 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1979221408} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -25} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 238072899} - - {fileID: 886654112} - m_Father: {fileID: 1932435999} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: -2.68220901e-06} - m_SizeDelta: {x: -40, y: -40} - m_Pivot: {x: .5, y: .5} ---- !u!114 &1979221410 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1979221408} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 0, b: 0, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: c9526d00e23c94f788b5b0e8833d5941, type: 3} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &1979221411 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1979221408} ---- !u!114 &1979221412 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1979221408} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: be7c0db07fbda4873ac979c5b9301206, type: 3} - m_Name: - m_EditorClassIdentifier: - Colors: - - {r: 1, g: 0, b: 0, a: 1} - - {r: 0, g: 1, b: 0, a: 1} - - {r: 1, g: 0, b: 1, a: 1} - - {r: 0, g: 1, b: 1, a: 1} ---- !u!114 &1979221413 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1979221408} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 96229b2de7a3743798f8dbb1646285e9, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!1 &2015117397 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 2015117398} - - 222: {fileID: 2015117400} - - 114: {fileID: 2015117399} - m_Layer: 0 - m_Name: Checkerboard - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &2015117398 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2015117397} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -25} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1932435999} - m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: -40, y: -40} - m_Pivot: {x: .5, y: .5} ---- !u!114 &2015117399 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2015117397} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0, g: 0, b: 0, a: .0941176489} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 101a2db3cfc4b43ef985335f970658ab, type: 3} - m_Type: 2 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 0 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &2015117400 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2015117397} ---- !u!1 &2077422341 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 2077422342} - - 222: {fileID: 2077422344} - - 114: {fileID: 2077422343} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &2077422342 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2077422341} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 411870819} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: .5, y: .5} ---- !u!114 &2077422343 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2077422341} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0, g: 0, b: 0, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 34 - m_FontStyle: 1 - m_BestFit: 1 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 4 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: RED ---- !u!222 &2077422344 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2077422341} ---- !u!1 &2107589902 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 224: {fileID: 2107589903} - - 223: {fileID: 2107589906} - - 114: {fileID: 2107589905} - - 114: {fileID: 2107589904} - m_Layer: 5 - m_Name: ScreenSpace Canvas - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &2107589903 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2107589902} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0, y: 0, z: 0} - m_Children: - - {fileID: 101996207} - - {fileID: 187227222} - - {fileID: 1056464759} - m_Father: {fileID: 930800601} - m_RootOrder: 4 - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0, y: 0} ---- !u!114 &2107589904 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2107589902} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreReversedGraphics: 1 - m_BlockingObjects: 0 - m_BlockingMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!114 &2107589905 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2107589902} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UiScaleMode: 0 - m_ReferencePixelsPerUnit: 100 - m_ScaleFactor: 1 - m_ReferenceResolution: {x: 800, y: 600} - m_ScreenMatchMode: 0 - m_MatchWidthOrHeight: 0 - m_PhysicalUnit: 3 - m_FallbackScreenDPI: 96 - m_DefaultSpriteDPI: 96 - m_DynamicPixelsPerUnit: 1 ---- !u!223 &2107589906 -Canvas: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2107589902} - m_Enabled: 1 - serializedVersion: 2 - m_RenderMode: 0 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!1 &2135305919 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 2135305920} - - 108: {fileID: 2135305921} - m_Layer: 0 - m_Name: Directional light - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2135305920 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2135305919} - m_LocalRotation: {x: .422268212, y: -.484720409, z: -.0171990059, w: .765793622} - m_LocalPosition: {x: 6.10041475, y: 15.5403843, z: -20.5662251} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 930800601} - m_RootOrder: 1 ---- !u!108 &2135305921 -Light: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2135305919} - m_Enabled: 1 - serializedVersion: 6 - m_Type: 1 - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_Intensity: 1.29999995 - m_Range: 10 - m_SpotAngle: 30 - m_CookieSize: 10 - m_Shadows: - m_Type: 1 - m_Resolution: -1 - m_Strength: .200000003 - m_Bias: .0500000007 - m_NormalBias: .400000006 - m_Cookie: {fileID: 0} - m_DrawHalo: 0 - m_Flare: {fileID: 0} - m_RenderMode: 0 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_Lightmapping: 1 - m_BounceIntensity: 1 - m_ShadowRadius: 0 - m_ShadowAngle: 0 - m_AreaSize: {x: 1, y: 1} diff --git a/ThirdParty/TouchScript/Examples/General/UI/InputModule.unity.meta b/ThirdParty/TouchScript/Examples/General/UI/InputModule.unity.meta deleted file mode 100644 index ece6d5eea..000000000 --- a/ThirdParty/TouchScript/Examples/General/UI/InputModule.unity.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: c99ad7df97dee4f46926d539d76e7c74 -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/UI/Scripts.meta b/ThirdParty/TouchScript/Examples/General/UI/Scripts.meta deleted file mode 100644 index 11baa2558..000000000 --- a/ThirdParty/TouchScript/Examples/General/UI/Scripts.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 7b82deff916b241719f6cf873cc298e2 -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/UI/Scripts/AddImage.cs b/ThirdParty/TouchScript/Examples/General/UI/Scripts/AddImage.cs deleted file mode 100644 index a5a3e81fc..000000000 --- a/ThirdParty/TouchScript/Examples/General/UI/Scripts/AddImage.cs +++ /dev/null @@ -1,18 +0,0 @@ -using UnityEngine; -using System.Collections; - -namespace TouchScript.Examples.UI -{ - public class AddImage : MonoBehaviour - { - public void Add() - { - var toClone = transform.GetChild(Random.Range(0, transform.childCount)); - var clone = Instantiate(toClone.gameObject) as GameObject; - clone.transform.SetParent(transform); - clone.transform.localScale = Vector3.one; - clone.transform.rotation = Quaternion.Euler(0f, 0f, Random.Range(0f, 360f)); - clone.transform.localPosition = new Vector3(Random.Range(-500, 500), Random.Range(-500, 500), toClone.localPosition.z); - } - } -} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Examples/General/UI/Scripts/AddImage.cs.meta b/ThirdParty/TouchScript/Examples/General/UI/Scripts/AddImage.cs.meta deleted file mode 100644 index ceb9c3f39..000000000 --- a/ThirdParty/TouchScript/Examples/General/UI/Scripts/AddImage.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: 96229b2de7a3743798f8dbb1646285e9 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/UI/Scripts/SetColor.cs b/ThirdParty/TouchScript/Examples/General/UI/Scripts/SetColor.cs deleted file mode 100644 index 62800890f..000000000 --- a/ThirdParty/TouchScript/Examples/General/UI/Scripts/SetColor.cs +++ /dev/null @@ -1,18 +0,0 @@ -using UnityEngine; -using System.Collections; -using UnityEngine.UI; -using System.Collections.Generic; - -namespace TouchScript.Examples.UI -{ - public class SetColor : MonoBehaviour - { - public List Colors; - - public void Set(int id) - { - GetComponent().color = Colors[id]; - } - - } -} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Examples/General/UI/Scripts/SetColor.cs.meta b/ThirdParty/TouchScript/Examples/General/UI/Scripts/SetColor.cs.meta deleted file mode 100644 index b46214d9d..000000000 --- a/ThirdParty/TouchScript/Examples/General/UI/Scripts/SetColor.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: be7c0db07fbda4873ac979c5b9301206 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/TouchScript.Examples.unitypackage b/ThirdParty/TouchScript/Examples/TouchScript.Examples.unitypackage deleted file mode 100644 index 33aa4007e..000000000 Binary files a/ThirdParty/TouchScript/Examples/TouchScript.Examples.unitypackage and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/TouchScript.Examples.unitypackage.meta b/ThirdParty/TouchScript/Examples/TouchScript.Examples.unitypackage.meta deleted file mode 100644 index 5593ee468..000000000 --- a/ThirdParty/TouchScript/Examples/TouchScript.Examples.unitypackage.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 8bda52606bc504f9e9427c415dfc1527 -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc.meta b/ThirdParty/TouchScript/Examples/_misc.meta deleted file mode 100644 index 7179cb363..000000000 --- a/ThirdParty/TouchScript/Examples/_misc.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 7c80f80fffa6e4f1ba87d16a585c75ca -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Models.meta b/ThirdParty/TouchScript/Examples/_misc/Models.meta deleted file mode 100644 index 284737c4b..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Models.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: a186b8594f54f4edb8f623197758b418 -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Models/Table.meta b/ThirdParty/TouchScript/Examples/_misc/Models/Table.meta deleted file mode 100644 index 43e6f617f..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Models/Table.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 2da83ffad7a6c654c98ee1390ea92617 -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Models/Table/Materials.meta b/ThirdParty/TouchScript/Examples/_misc/Models/Table/Materials.meta deleted file mode 100644 index 65dcf44d2..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Models/Table/Materials.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 088e18c0008f50c42873ccae076318a4 -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Models/Table/Materials/table_chair_01.jpg b/ThirdParty/TouchScript/Examples/_misc/Models/Table/Materials/table_chair_01.jpg deleted file mode 100644 index 076cc57b8..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Models/Table/Materials/table_chair_01.jpg and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Models/Table/Materials/table_chair_01.mat b/ThirdParty/TouchScript/Examples/_misc/Models/Table/Materials/table_chair_01.mat deleted file mode 100644 index 8a43c5137..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Models/Table/Materials/table_chair_01.mat +++ /dev/null @@ -1,35 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: table_chair_01 - m_Shader: {fileID: 2, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: [] - m_CustomRenderQueue: -1 - m_SavedProperties: - serializedVersion: 2 - m_TexEnvs: - data: - first: - name: _MainTex - second: - m_Texture: {fileID: 2800000, guid: 1bd4269a1e460f449bb6752f18f8bcaa, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - data: - first: - name: _BumpMap - second: - m_Texture: {fileID: 2800000, guid: 63d1a0496dfc6704fade73b805f83072, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: {} - m_Colors: - data: - first: - name: _Color - second: {r: 1, g: .729497612, b: .588235259, a: 1} diff --git a/ThirdParty/TouchScript/Examples/_misc/Models/Table/Materials/table_chair_01.mat.meta b/ThirdParty/TouchScript/Examples/_misc/Models/Table/Materials/table_chair_01.mat.meta deleted file mode 100644 index 68a639848..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Models/Table/Materials/table_chair_01.mat.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 658d0a6601bdfc54e9bffb7089fcbe11 -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Models/Table/Materials/table_chair_01_norms.jpg b/ThirdParty/TouchScript/Examples/_misc/Models/Table/Materials/table_chair_01_norms.jpg deleted file mode 100644 index 15a008be3..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Models/Table/Materials/table_chair_01_norms.jpg and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Models/Table/Materials/table_chair_01_norms.jpg.meta b/ThirdParty/TouchScript/Examples/_misc/Models/Table/Materials/table_chair_01_norms.jpg.meta deleted file mode 100644 index 7c3356396..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Models/Table/Materials/table_chair_01_norms.jpg.meta +++ /dev/null @@ -1,54 +0,0 @@ -fileFormatVersion: 2 -guid: 63d1a0496dfc6704fade73b805f83072 -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 1 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 1 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 1024 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 0 - textureType: 1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Models/Table/table_and_chair.FBX b/ThirdParty/TouchScript/Examples/_misc/Models/Table/table_and_chair.FBX deleted file mode 100644 index 512b95350..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Models/Table/table_and_chair.FBX and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Models/Table/table_and_chair.FBX.meta b/ThirdParty/TouchScript/Examples/_misc/Models/Table/table_and_chair.FBX.meta deleted file mode 100644 index 0aaabf1a2..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Models/Table/table_and_chair.FBX.meta +++ /dev/null @@ -1,92 +0,0 @@ -fileFormatVersion: 2 -guid: 648250201fabe574b8591ee45cddcf4a -ModelImporter: - serializedVersion: 18 - fileIDToRecycleName: - 100000: Object018 - 100002: Object022 - 100004: //RootNode - 100006: chair - 100008: table - 400000: Object018 - 400002: Object022 - 400004: //RootNode - 400006: chair - 400008: table - 2300000: Object018 - 2300002: Object022 - 2300004: chair - 2300006: table - 3300000: Object018 - 3300002: Object022 - 3300004: chair - 3300006: table - 4300000: Object018 - 4300002: Object022 - 4300004: table - 4300006: chair - 9500000: //RootNode - materials: - importMaterials: 1 - materialName: 0 - materialSearch: 1 - animations: - legacyGenerateAnimations: 4 - bakeSimulation: 0 - optimizeGameObjects: 0 - motionNodeName: - animationImportErrors: - animationImportWarnings: - animationRetargetingWarnings: - animationDoRetargetingWarnings: 0 - animationCompression: 1 - animationRotationError: .5 - animationPositionError: .5 - animationScaleError: .5 - animationWrapMode: 0 - extraExposedTransformPaths: [] - clipAnimations: [] - isReadable: 1 - meshes: - lODScreenPercentages: [] - globalScale: .00999999978 - meshCompression: 0 - addColliders: 0 - importBlendShapes: 1 - swapUVChannels: 0 - generateSecondaryUV: 0 - useFileUnits: 1 - optimizeMeshForGPU: 1 - keepQuads: 0 - weldVertices: 1 - secondaryUVAngleDistortion: 8 - secondaryUVAreaDistortion: 15.000001 - secondaryUVHardAngle: 88 - secondaryUVPackMargin: 4 - useFileScale: 0 - tangentSpace: - normalSmoothAngle: 60 - splitTangentsAcrossUV: 1 - normalImportMode: 0 - tangentImportMode: 1 - importAnimation: 1 - copyAvatar: 0 - humanDescription: - human: [] - skeleton: [] - armTwist: .5 - foreArmTwist: .5 - upperLegTwist: .5 - legTwist: .5 - armStretch: .0500000007 - legStretch: .0500000007 - feetSpacing: 0 - rootMotionBoneName: - hasTranslationDoF: 0 - lastHumanDescriptionAvatarSource: {instanceID: 0} - animationType: 2 - humanoidOversampling: 1 - additionalBone: 1 - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Scripts.meta b/ThirdParty/TouchScript/Examples/_misc/Scripts.meta deleted file mode 100644 index c4b820cb4..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Scripts.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: d1dcf8eeadac74f178853777dd3e966f -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Scripts/Checker.cs b/ThirdParty/TouchScript/Examples/_misc/Scripts/Checker.cs deleted file mode 100644 index 158efeb32..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Scripts/Checker.cs +++ /dev/null @@ -1,45 +0,0 @@ -using UnityEngine; -using System.Collections; -using TouchScript.Gestures; -using TouchScript.Behaviors; - -namespace TouchScript.Examples -{ - public class Checker : MonoBehaviour - { - TransformGesture gesture; - Transformer transformer; - Rigidbody rb; - - private void OnEnable() - { - gesture = GetComponent(); - transformer = GetComponent(); - rb = GetComponent(); - - transformer.enabled = false; - rb.isKinematic = false; - gesture.TransformStarted += transformStartedHandler; - gesture.TransformCompleted += transformCompletedHandler; - } - - private void OnDisable() - { - gesture.TransformStarted -= transformStartedHandler; - gesture.TransformCompleted -= transformCompletedHandler; - } - - private void transformStartedHandler(object sender, System.EventArgs e) - { - rb.isKinematic = true; - transformer.enabled = true; - } - - private void transformCompletedHandler(object sender, System.EventArgs e) - { - transformer.enabled = false; - rb.isKinematic = false; - rb.WakeUp(); - } - } -} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Examples/_misc/Scripts/Checker.cs.meta b/ThirdParty/TouchScript/Examples/_misc/Scripts/Checker.cs.meta deleted file mode 100644 index 347aca70e..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Scripts/Checker.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: 60db96ea91c9945beaa1406a5a90dd9b -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Scripts/KillMe.cs b/ThirdParty/TouchScript/Examples/_misc/Scripts/KillMe.cs deleted file mode 100644 index 29235d1ec..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Scripts/KillMe.cs +++ /dev/null @@ -1,16 +0,0 @@ -using UnityEngine; -using System.Collections; - -namespace TouchScript.Examples -{ - public class KillMe : MonoBehaviour - { - public float Delay = 1f; - - private IEnumerator Start() - { - if (Delay != 0) yield return new WaitForSeconds(Delay); - Destroy(gameObject); - } - } -} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Examples/_misc/Scripts/KillMe.cs.meta b/ThirdParty/TouchScript/Examples/_misc/Scripts/KillMe.cs.meta deleted file mode 100644 index d3077d6f1..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Scripts/KillMe.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: e8d231b90191d4ffcae71a475e432b7d -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Scripts/Runner.cs b/ThirdParty/TouchScript/Examples/_misc/Scripts/Runner.cs deleted file mode 100644 index 8e0584aec..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Scripts/Runner.cs +++ /dev/null @@ -1,28 +0,0 @@ -using UnityEngine; - -namespace TouchScript.Examples -{ - public class Runner : MonoBehaviour - { - private static Runner instance; - - public void LoadNextLevel() - { - Application.LoadLevel((Application.loadedLevel + 1)%Application.levelCount); - } - - private void Awake() - { - if (instance == null) - { - instance = this; - DontDestroyOnLoad(gameObject); - } - - if (Application.loadedLevelName == "Examples" && Application.levelCount > 1) - { - LoadNextLevel(); - } - } - } -} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Examples/_misc/Scripts/Runner.cs.meta b/ThirdParty/TouchScript/Examples/_misc/Scripts/Runner.cs.meta deleted file mode 100644 index 9869caa40..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Scripts/Runner.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: 5d0145ec13410624f9b2939e5d5a99be -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Shaders.meta b/ThirdParty/TouchScript/Examples/_misc/Shaders.meta deleted file mode 100644 index 0ea31dab2..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Shaders.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 4bdbadc7b966742fc9ee76e195be89ba -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Shaders/BorderDiffuse.shader b/ThirdParty/TouchScript/Examples/_misc/Shaders/BorderDiffuse.shader deleted file mode 100644 index 7c0ddce20..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Shaders/BorderDiffuse.shader +++ /dev/null @@ -1,32 +0,0 @@ -Shader "TouchScript/BorderDiffuse" { -Properties { - _MainTex ("Base (RGB) Trans (A)", 2D) = "white" {} - _Border ("Border Size", Float) = 0 -} - -SubShader { - Tags {"RenderType"="Opaque" "IgnoreProjector"="True"} - LOD 200 - -CGPROGRAM -#pragma surface surf Lambert - -sampler2D _MainTex; -float _Border; - -struct Input { - float2 uv_MainTex; -}; - -void surf (Input IN, inout SurfaceOutput o) { - fixed4 c; - if (IN.uv_MainTex.x < _Border || IN.uv_MainTex.x > 1 - _Border || IN.uv_MainTex.y < _Border || IN.uv_MainTex.y > 1 - _Border) - c = float4(1); - else - c = tex2D(_MainTex, IN.uv_MainTex); - o.Albedo = c.rgb; - o.Alpha = 1; -} -ENDCG -} -} diff --git a/ThirdParty/TouchScript/Examples/_misc/Shaders/BorderDiffuse.shader.meta b/ThirdParty/TouchScript/Examples/_misc/Shaders/BorderDiffuse.shader.meta deleted file mode 100644 index a6221daa3..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Shaders/BorderDiffuse.shader.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: c316336e4e7e741118da40d9d340cd27 -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Shaders/UnlitColor.shader b/ThirdParty/TouchScript/Examples/_misc/Shaders/UnlitColor.shader deleted file mode 100644 index f5e7b3c2d..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Shaders/UnlitColor.shader +++ /dev/null @@ -1,43 +0,0 @@ -Shader "TouchScript/UnlitColor" { -Properties { - _Color ("Main Color", Color) = (1,1,1,1) -} - -SubShader { - Tags { "RenderType"="Opaque" } - LOD 100 - - Pass { - CGPROGRAM - #pragma vertex vert - #pragma fragment frag - - #include "UnityCG.cginc" - - struct appdata_t { - float4 vertex : POSITION; - }; - - struct v2f { - float4 vertex : SV_POSITION; - }; - - fixed4 _Color; - - v2f vert (appdata_t v) - { - v2f o; - o.vertex = mul(UNITY_MATRIX_MVP, v.vertex); - return o; - } - - fixed4 frag (v2f i) : COLOR - { - fixed4 col = _Color; - return col; - } - ENDCG - } -} - -} diff --git a/ThirdParty/TouchScript/Examples/_misc/Shaders/UnlitColor.shader.meta b/ThirdParty/TouchScript/Examples/_misc/Shaders/UnlitColor.shader.meta deleted file mode 100644 index 0b2c2747c..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Shaders/UnlitColor.shader.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 94cdda6d3ac3444ee82497c3ca14a496 -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures.meta b/ThirdParty/TouchScript/Examples/_misc/Textures.meta deleted file mode 100644 index dc8701389..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 0389d07fd37ca4062ba4a5f497a98ab1 -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Cats.meta deleted file mode 100644 index 5e3c379d4..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 18fc889fb50d640cba6e3e4d2dc4c95f -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites.meta deleted file mode 100644 index 0f97e66e0..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: ca60f13cc2a154b1a9edcc8e3ae11026 -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_1.jpg b/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_1.jpg deleted file mode 100644 index dc3501fda..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_1.jpg and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_1.jpg.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_1.jpg.meta deleted file mode 100644 index 916f27c4b..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_1.jpg.meta +++ /dev/null @@ -1,54 +0,0 @@ -fileFormatVersion: 2 -guid: a24aa458b050f4b4cb2451ad643eec5c -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 1024 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: 1 - nPOTScale: 0 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 10 - alphaIsTransparency: 1 - textureType: 8 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: cats - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_2.jpg b/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_2.jpg deleted file mode 100644 index 9164da001..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_2.jpg and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_2.jpg.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_2.jpg.meta deleted file mode 100644 index cae5c4490..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_2.jpg.meta +++ /dev/null @@ -1,54 +0,0 @@ -fileFormatVersion: 2 -guid: 1d9cc62dcb0f848fc9e8c69298152f48 -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 1024 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: 1 - nPOTScale: 0 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 10 - alphaIsTransparency: 1 - textureType: 8 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: cats - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_3.jpg b/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_3.jpg deleted file mode 100644 index 7522498e8..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_3.jpg and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_3.jpg.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_3.jpg.meta deleted file mode 100644 index e60747c8f..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_3.jpg.meta +++ /dev/null @@ -1,54 +0,0 @@ -fileFormatVersion: 2 -guid: 38a938bf90ab148aa876e01f4793580f -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 1024 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: 1 - nPOTScale: 0 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 10 - alphaIsTransparency: 1 - textureType: 8 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: cats - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_4.jpg b/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_4.jpg deleted file mode 100644 index 747eed2f9..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_4.jpg and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_4.jpg.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_4.jpg.meta deleted file mode 100644 index 8a2d5326b..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_4.jpg.meta +++ /dev/null @@ -1,54 +0,0 @@ -fileFormatVersion: 2 -guid: 7da97751c83374f8bbc7096c6acdd2a3 -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 1024 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: 1 - nPOTScale: 0 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 10 - alphaIsTransparency: 1 - textureType: 8 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: cats - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_5.jpg b/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_5.jpg deleted file mode 100644 index 30492dbcb..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_5.jpg and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_5.jpg.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_5.jpg.meta deleted file mode 100644 index d4817a995..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_5.jpg.meta +++ /dev/null @@ -1,54 +0,0 @@ -fileFormatVersion: 2 -guid: 5f03781450cc3480cb9b840656e79cf4 -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 1024 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: 1 - nPOTScale: 0 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 10 - alphaIsTransparency: 1 - textureType: 8 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: cats - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_6.jpg b/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_6.jpg deleted file mode 100644 index 291cfc4f2..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_6.jpg and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_6.jpg.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_6.jpg.meta deleted file mode 100644 index 37992b73f..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/Sprites/cat_6.jpg.meta +++ /dev/null @@ -1,54 +0,0 @@ -fileFormatVersion: 2 -guid: a841ae0dfb0a7453c804239de5edb1e2 -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 1024 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: 1 - nPOTScale: 0 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 10 - alphaIsTransparency: 1 - textureType: 8 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: cats - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_1.jpg b/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_1.jpg deleted file mode 100644 index dc3501fda..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_1.jpg and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_1.jpg.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_1.jpg.meta deleted file mode 100644 index 6ce9442d1..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_1.jpg.meta +++ /dev/null @@ -1,54 +0,0 @@ -fileFormatVersion: 2 -guid: 97bf9d574de664236942f6c91db57ef6 -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 512 - textureSettings: - filterMode: -1 - aniso: 2 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 0 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_2.jpg b/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_2.jpg deleted file mode 100644 index 9164da001..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_2.jpg and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_2.jpg.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_2.jpg.meta deleted file mode 100644 index cf194d48a..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_2.jpg.meta +++ /dev/null @@ -1,54 +0,0 @@ -fileFormatVersion: 2 -guid: 3877e55a8f20d4ed281d3011c791d7a0 -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 512 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 0 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_3.jpg b/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_3.jpg deleted file mode 100644 index 7522498e8..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_3.jpg and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_3.jpg.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_3.jpg.meta deleted file mode 100644 index 9ae036011..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_3.jpg.meta +++ /dev/null @@ -1,54 +0,0 @@ -fileFormatVersion: 2 -guid: 4289a9689f19344b8a9c1fb0d65361ee -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 1024 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 0 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_4.jpg b/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_4.jpg deleted file mode 100644 index 747eed2f9..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_4.jpg and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_4.jpg.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_4.jpg.meta deleted file mode 100644 index 7ca82e623..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_4.jpg.meta +++ /dev/null @@ -1,54 +0,0 @@ -fileFormatVersion: 2 -guid: 57a936b69d896483dab1f9afe96e8ff9 -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 1024 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 0 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_5.jpg b/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_5.jpg deleted file mode 100644 index 30492dbcb..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_5.jpg and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_5.jpg.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_5.jpg.meta deleted file mode 100644 index 87e59a0fe..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_5.jpg.meta +++ /dev/null @@ -1,54 +0,0 @@ -fileFormatVersion: 2 -guid: 7c625bf6ca9a9407bb4d5cdf08367926 -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 1024 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 0 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_6.jpg b/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_6.jpg deleted file mode 100644 index 291cfc4f2..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_6.jpg and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_6.jpg.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_6.jpg.meta deleted file mode 100644 index 9cdb3fe06..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Cats/cat_6.jpg.meta +++ /dev/null @@ -1,54 +0,0 @@ -fileFormatVersion: 2 -guid: 1d22a1f67974a45a1bdfb0503b81ec57 -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 1024 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 0 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard.meta deleted file mode 100644 index 342aaaa21..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 668c30b12d4544015bddd90d5654fff6 -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/Board.prefab b/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/Board.prefab deleted file mode 100644 index 1b5de1154..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/Board.prefab +++ /dev/null @@ -1,156 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &119512 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 4 - m_Component: - - 4: {fileID: 419512} - - 33: {fileID: 3319510} - - 23: {fileID: 2319510} - m_Layer: 0 - m_Name: Body - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &119514 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 4 - m_Component: - - 4: {fileID: 419514} - - 33: {fileID: 3319512} - - 23: {fileID: 2319512} - - 65: {fileID: 6519510} - - 54: {fileID: 5419510} - m_Layer: 0 - m_Name: Board - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &419512 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 119512} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: -.109999999, z: 0} - m_LocalScale: {x: 10, y: .200000003, z: 10} - m_Children: [] - m_Father: {fileID: 419514} - m_RootOrder: 0 ---- !u!4 &419514 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 119514} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 419512} - m_Father: {fileID: 0} - m_RootOrder: 0 ---- !u!23 &2319510 -Renderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 119512} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_LightmapIndex: 255 - m_LightmapTilingOffset: {x: 1, y: 1, z: 0, w: 0} - m_Materials: - - {fileID: 2100000, guid: bade3b3ccc3024624b44815e95a6af4e, type: 2} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_LightProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!23 &2319512 -Renderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 119514} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 1 - m_LightmapIndex: 255 - m_LightmapTilingOffset: {x: 1, y: 1, z: 0, w: 0} - m_Materials: - - {fileID: 2100000, guid: c39504b52f7f64f26b5762f1bb63f09c, type: 2} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_LightProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!33 &3319510 -MeshFilter: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 119512} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!33 &3319512 -MeshFilter: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 119514} - m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} ---- !u!54 &5419510 -Rigidbody: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 119514} - serializedVersion: 2 - m_Mass: 1 - m_Drag: 0 - m_AngularDrag: .0500000007 - m_UseGravity: 0 - m_IsKinematic: 1 - m_Interpolate: 0 - m_Constraints: 14 - m_CollisionDetection: 0 ---- !u!65 &6519510 -BoxCollider: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 119514} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 10, y: .200000003, z: 10} - m_Center: {x: 0, y: -.100000001, z: 0} ---- !u!1001 &100100000 -Prefab: - m_ObjectHideFlags: 1 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: [] - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 0} - m_RootGameObject: {fileID: 119514} - m_IsPrefabParent: 1 - m_IsExploded: 1 diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/Board.prefab.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/Board.prefab.meta deleted file mode 100644 index 9579168ab..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/Board.prefab.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 4af91eff6c67b4995be4765a62f7eb5d -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/CheckerDark.mat b/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/CheckerDark.mat deleted file mode 100644 index 4cd9be7a9..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/CheckerDark.mat +++ /dev/null @@ -1,36 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: CheckerDark - m_Shader: {fileID: 3, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: [] - m_CustomRenderQueue: -1 - m_SavedProperties: - serializedVersion: 2 - m_TexEnvs: - data: - first: - name: _MainTex - second: - m_Texture: {fileID: 2800000, guid: 0330d1f1771374fae9044385bd891906, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - data: - first: - name: _Shininess - second: .078125 - m_Colors: - data: - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} - data: - first: - name: _SpecColor - second: {r: 1, g: 1, b: 1, a: 1} diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/CheckerDark.mat.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/CheckerDark.mat.meta deleted file mode 100644 index 0be6cb2ff..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/CheckerDark.mat.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: b5c4be3614b4447869f4bfd2124b81c0 -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/CheckerDark.prefab b/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/CheckerDark.prefab deleted file mode 100644 index 838aacadc..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/CheckerDark.prefab +++ /dev/null @@ -1,151 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &191238 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 4 - m_Component: - - 4: {fileID: 491238} - - 33: {fileID: 3391238} - - 23: {fileID: 2391238} - - 64: {fileID: 6491238} - - 54: {fileID: 5484962} - - 114: {fileID: 11416732} - - 114: {fileID: 11409928} - - 114: {fileID: 11499326} - m_Layer: 0 - m_Name: CheckerDark - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &491238 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 191238} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -3.5, y: .075000003, z: 3.55999994} - m_LocalScale: {x: .899999976, y: .200000003, z: .899999976} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 ---- !u!23 &2391238 -Renderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 191238} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_LightmapIndex: 255 - m_LightmapTilingOffset: {x: 1, y: 1, z: 0, w: 0} - m_Materials: - - {fileID: 2100000, guid: b5c4be3614b4447869f4bfd2124b81c0, type: 2} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_LightProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!33 &3391238 -MeshFilter: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 191238} - m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} ---- !u!54 &5484962 -Rigidbody: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 191238} - serializedVersion: 2 - m_Mass: 1 - m_Drag: 0 - m_AngularDrag: .0500000007 - m_UseGravity: 1 - m_IsKinematic: 0 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 2 ---- !u!64 &6491238 -MeshCollider: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 191238} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_SmoothSphereCollisions: 0 - m_Convex: 1 - m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} ---- !u!114 &11409928 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 191238} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 60db96ea91c9945beaa1406a5a90dd9b, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &11416732 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 191238} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1097873817, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 1 - minScreenPointsDistance: .5 - screenTransformThreshold: 0 - projection: 2 - projectionPlaneNormal: {x: 0, y: 1, z: 0} ---- !u!114 &11499326 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 191238} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1905284378, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!1001 &100100000 -Prefab: - m_ObjectHideFlags: 1 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: [] - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 0} - m_RootGameObject: {fileID: 191238} - m_IsPrefabParent: 1 - m_IsExploded: 1 diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/CheckerDark.prefab.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/CheckerDark.prefab.meta deleted file mode 100644 index 4d83625d5..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/CheckerDark.prefab.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: bb0a05fd2c374477cba1d93212b4600c -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/CheckerLight.mat b/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/CheckerLight.mat deleted file mode 100644 index ed3d2440d..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/CheckerLight.mat +++ /dev/null @@ -1,36 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: CheckerLight - m_Shader: {fileID: 3, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: [] - m_CustomRenderQueue: -1 - m_SavedProperties: - serializedVersion: 2 - m_TexEnvs: - data: - first: - name: _MainTex - second: - m_Texture: {fileID: 2800000, guid: 881cb0898be804c0f9b76b1c40936c48, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - data: - first: - name: _Shininess - second: .078125 - m_Colors: - data: - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} - data: - first: - name: _SpecColor - second: {r: 1, g: 1, b: 1, a: 1} diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/CheckerLight.mat.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/CheckerLight.mat.meta deleted file mode 100644 index 313a0554e..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/CheckerLight.mat.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: c7ee63cfba2ae4963a15013267a4e9f6 -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/CheckerLight.prefab b/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/CheckerLight.prefab deleted file mode 100644 index e2a82617c..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/CheckerLight.prefab +++ /dev/null @@ -1,151 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &137898 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 4 - m_Component: - - 4: {fileID: 437898} - - 33: {fileID: 3337898} - - 23: {fileID: 2337898} - - 64: {fileID: 6437898} - - 54: {fileID: 5442042} - - 114: {fileID: 11490626} - - 114: {fileID: 11489890} - - 114: {fileID: 11427732} - m_Layer: 0 - m_Name: CheckerLight - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &437898 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 137898} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: .104000002, z: -1.48000002} - m_LocalScale: {x: .899999976, y: .200000003, z: .899999976} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 ---- !u!23 &2337898 -Renderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 137898} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_LightmapIndex: 255 - m_LightmapTilingOffset: {x: 1, y: 1, z: 0, w: 0} - m_Materials: - - {fileID: 2100000, guid: c7ee63cfba2ae4963a15013267a4e9f6, type: 2} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_LightProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!33 &3337898 -MeshFilter: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 137898} - m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} ---- !u!54 &5442042 -Rigidbody: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 137898} - serializedVersion: 2 - m_Mass: 1 - m_Drag: 0 - m_AngularDrag: .0500000007 - m_UseGravity: 1 - m_IsKinematic: 0 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 2 ---- !u!64 &6437898 -MeshCollider: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 137898} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_SmoothSphereCollisions: 0 - m_Convex: 1 - m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} ---- !u!114 &11427732 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 137898} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1905284378, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &11489890 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 137898} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 60db96ea91c9945beaa1406a5a90dd9b, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &11490626 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 137898} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1097873817, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - minTouches: 0 - maxTouches: 0 - combineTouches: 0 - combineTouchesInterval: .300000012 - useSendMessage: 0 - sendStateChangeMessages: 0 - sendMessageTarget: {fileID: 0} - requireGestureToFail: {fileID: 0} - friendlyGestures: [] - type: 1 - minScreenPointsDistance: .5 - screenTransformThreshold: 0 - projection: 2 - projectionPlaneNormal: {x: 0, y: 1, z: 0} ---- !u!1001 &100100000 -Prefab: - m_ObjectHideFlags: 1 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: [] - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 0} - m_RootGameObject: {fileID: 137898} - m_IsPrefabParent: 1 - m_IsExploded: 1 diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/CheckerLight.prefab.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/CheckerLight.prefab.meta deleted file mode 100644 index f130b3fdd..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/CheckerLight.prefab.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: b4fd857376bb94265b47bcf5b50f67fa -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/Checkerboard.mat b/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/Checkerboard.mat deleted file mode 100644 index e68521e18..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/Checkerboard.mat +++ /dev/null @@ -1,36 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: Checkerboard - m_Shader: {fileID: 3, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: [] - m_CustomRenderQueue: -1 - m_SavedProperties: - serializedVersion: 2 - m_TexEnvs: - data: - first: - name: _MainTex - second: - m_Texture: {fileID: 2800000, guid: 6808d445eddc142328b56a1465b299d9, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - data: - first: - name: _Shininess - second: .140957177 - m_Colors: - data: - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} - data: - first: - name: _SpecColor - second: {r: 1, g: .682758629, b: 0, a: 1} diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/Checkerboard.mat.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/Checkerboard.mat.meta deleted file mode 100644 index 801d48b74..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/Checkerboard.mat.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: c39504b52f7f64f26b5762f1bb63f09c -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/CheckerboardBottom.mat b/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/CheckerboardBottom.mat deleted file mode 100644 index 32ff7c9e2..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/CheckerboardBottom.mat +++ /dev/null @@ -1,36 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: CheckerboardBottom - m_Shader: {fileID: 3, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: [] - m_CustomRenderQueue: -1 - m_SavedProperties: - serializedVersion: 2 - m_TexEnvs: - data: - first: - name: _MainTex - second: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - data: - first: - name: _Shininess - second: .078125 - m_Colors: - data: - first: - name: _Color - second: {r: .647058845, g: .313725501, b: 0, a: 1} - data: - first: - name: _SpecColor - second: {r: 1, g: .724137902, b: 0, a: 1} diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/CheckerboardBottom.mat.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/CheckerboardBottom.mat.meta deleted file mode 100644 index ad2201edf..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/CheckerboardBottom.mat.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: bade3b3ccc3024624b44815e95a6af4e -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/checker_dark.jpg b/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/checker_dark.jpg deleted file mode 100644 index 6f95c8c6c..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/checker_dark.jpg and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/checker_dark.jpg.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/checker_dark.jpg.meta deleted file mode 100644 index be4bf67e5..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/checker_dark.jpg.meta +++ /dev/null @@ -1,54 +0,0 @@ -fileFormatVersion: 2 -guid: 0330d1f1771374fae9044385bd891906 -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 1024 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 0 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/checker_light.jpg b/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/checker_light.jpg deleted file mode 100644 index 9a81dd72c..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/checker_light.jpg and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/checker_light.jpg.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/checker_light.jpg.meta deleted file mode 100644 index a2b680dce..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/checker_light.jpg.meta +++ /dev/null @@ -1,54 +0,0 @@ -fileFormatVersion: 2 -guid: 881cb0898be804c0f9b76b1c40936c48 -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 1024 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 0 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/checkerboard.jpg b/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/checkerboard.jpg deleted file mode 100644 index 34df7ba3a..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/checkerboard.jpg and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/checkerboard.jpg.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/checkerboard.jpg.meta deleted file mode 100644 index e95d04480..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Checkerboard/checkerboard.jpg.meta +++ /dev/null @@ -1,54 +0,0 @@ -fileFormatVersion: 2 -guid: 6808d445eddc142328b56a1465b299d9 -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 1024 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 0 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Earth.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Earth.meta deleted file mode 100644 index 1dea87c00..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Earth.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: dc56399a9a56d4b279842d5abe73fb72 -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Earth/EarthDiffuse1024x512.png b/ThirdParty/TouchScript/Examples/_misc/Textures/Earth/EarthDiffuse1024x512.png deleted file mode 100644 index c9ca9a5b2..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Textures/Earth/EarthDiffuse1024x512.png and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Earth/EarthDiffuse1024x512.png.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Earth/EarthDiffuse1024x512.png.meta deleted file mode 100644 index f0a33a2a8..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Earth/EarthDiffuse1024x512.png.meta +++ /dev/null @@ -1,54 +0,0 @@ -fileFormatVersion: 2 -guid: b3f17e6b12a45a343ab1d6c2571b87c7 -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: 36 - maxTextureSize: 1024 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 0 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Earth/EarthMaterial1024x512.mat b/ThirdParty/TouchScript/Examples/_misc/Textures/Earth/EarthMaterial1024x512.mat deleted file mode 100644 index 4a0d983ed..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Earth/EarthMaterial1024x512.mat +++ /dev/null @@ -1,54 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: EarthMaterial1024x512 - m_Shader: {fileID: 3, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: [] - m_CustomRenderQueue: -1 - m_SavedProperties: - serializedVersion: 2 - m_TexEnvs: - data: - first: - name: _MainTex - second: - m_Texture: {fileID: 2800000, guid: b3f17e6b12a45a343ab1d6c2571b87c7, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - data: - first: - name: _BumpMap - second: - m_Texture: {fileID: 2800000, guid: be33279ab938c43ee87957b7c1a9cdb9, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - data: - first: - name: _Illum - second: - m_Texture: {fileID: 2800000, guid: b2459ef9e87d4a246beed59ef6f686a6, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - data: - first: - name: _Shininess - second: 1 - data: - first: - name: _EmissionLM - second: 0 - m_Colors: - data: - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} - data: - first: - name: _SpecColor - second: {r: 1, g: 1, b: 1, a: 1} diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Earth/EarthMaterial1024x512.mat.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Earth/EarthMaterial1024x512.mat.meta deleted file mode 100644 index c8de2bfae..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Earth/EarthMaterial1024x512.mat.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 6e379d1ec9f5fd949891068175de34fe -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Icons.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Icons.meta deleted file mode 100644 index d08cf4b51..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Icons.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: d2d491504175c4c8899148d1571f439c -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Planets.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Planets.meta deleted file mode 100644 index 643d2e1b7..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Planets.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 19c1264f99657482898c6eca78f3b9b4 -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_1.mat b/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_1.mat deleted file mode 100644 index 1f6fdc6e5..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_1.mat +++ /dev/null @@ -1,28 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: planet_1 - m_Shader: {fileID: 10750, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: [] - m_CustomRenderQueue: -1 - m_SavedProperties: - serializedVersion: 2 - m_TexEnvs: - data: - first: - name: _MainTex - second: - m_Texture: {fileID: 2800000, guid: afb065af69d66410e9e24bb3e17e3734, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: {} - m_Colors: - data: - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_1.mat.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_1.mat.meta deleted file mode 100644 index 295c6d58b..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_1.mat.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 150b901d18f3f45d08b29f50aaec86b9 -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_1.png b/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_1.png deleted file mode 100644 index ef4ccd89f..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_1.png and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_1.png.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_1.png.meta deleted file mode 100644 index d3255e194..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_1.png.meta +++ /dev/null @@ -1,54 +0,0 @@ -fileFormatVersion: 2 -guid: afb065af69d66410e9e24bb3e17e3734 -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 128 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_2.mat b/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_2.mat deleted file mode 100644 index e93a1dfa9..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_2.mat +++ /dev/null @@ -1,28 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: planet_2 - m_Shader: {fileID: 10750, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: [] - m_CustomRenderQueue: -1 - m_SavedProperties: - serializedVersion: 2 - m_TexEnvs: - data: - first: - name: _MainTex - second: - m_Texture: {fileID: 2800000, guid: 290dbd6ec48634a5fac69c87b83e8cef, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: {} - m_Colors: - data: - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_2.mat.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_2.mat.meta deleted file mode 100644 index 9cd1b4656..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_2.mat.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 0ed169bc21381479799fe7ba05d2939b -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_2.png b/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_2.png deleted file mode 100644 index 834211d91..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_2.png and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_2.png.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_2.png.meta deleted file mode 100644 index 50ec4e48b..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_2.png.meta +++ /dev/null @@ -1,54 +0,0 @@ -fileFormatVersion: 2 -guid: 290dbd6ec48634a5fac69c87b83e8cef -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 128 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_3.mat b/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_3.mat deleted file mode 100644 index 3d94a4afe..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_3.mat +++ /dev/null @@ -1,28 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: planet_3 - m_Shader: {fileID: 10750, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: [] - m_CustomRenderQueue: -1 - m_SavedProperties: - serializedVersion: 2 - m_TexEnvs: - data: - first: - name: _MainTex - second: - m_Texture: {fileID: 2800000, guid: f210d008e8c5244ed9918d009512dfc7, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: {} - m_Colors: - data: - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_3.mat.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_3.mat.meta deleted file mode 100644 index 3243a5343..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_3.mat.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 148079725ce574b75ae65e81f6be1567 -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_3.png b/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_3.png deleted file mode 100644 index 5f777f970..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_3.png and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_3.png.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_3.png.meta deleted file mode 100644 index 53671bdf1..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_3.png.meta +++ /dev/null @@ -1,54 +0,0 @@ -fileFormatVersion: 2 -guid: f210d008e8c5244ed9918d009512dfc7 -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 128 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_4.mat b/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_4.mat deleted file mode 100644 index ff6121694..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_4.mat +++ /dev/null @@ -1,28 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: planet_4 - m_Shader: {fileID: 10750, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: [] - m_CustomRenderQueue: -1 - m_SavedProperties: - serializedVersion: 2 - m_TexEnvs: - data: - first: - name: _MainTex - second: - m_Texture: {fileID: 2800000, guid: e5ea93e568cf64e2ebb852225383a39d, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: {} - m_Colors: - data: - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_4.mat.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_4.mat.meta deleted file mode 100644 index 8634d7216..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_4.mat.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 10bd026932ba047dcaca956b30263df6 -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_4.png b/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_4.png deleted file mode 100644 index e74e925b8..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_4.png and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_4.png.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_4.png.meta deleted file mode 100644 index 396c03693..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Planets/planet_4.png.meta +++ /dev/null @@ -1,54 +0,0 @@ -fileFormatVersion: 2 -guid: e5ea93e568cf64e2ebb852225383a39d -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 128 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox.meta deleted file mode 100644 index 80376d56b..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 37148e31016f943be9241cbb151f17c7 -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/Skybox.mat b/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/Skybox.mat deleted file mode 100644 index 2b78103bd..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/Skybox.mat +++ /dev/null @@ -1,74 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: Skybox - m_Shader: {fileID: 104, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: [] - m_CustomRenderQueue: -1 - m_SavedProperties: - serializedVersion: 2 - m_TexEnvs: - data: - first: - name: _MainTex - second: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - data: - first: - name: _FrontTex - second: - m_Texture: {fileID: 2800000, guid: b2fad080717624ed6b17cc8a3010b5e1, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - data: - first: - name: _BackTex - second: - m_Texture: {fileID: 2800000, guid: d1fae250427984eea9cfe19d1682d998, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - data: - first: - name: _LeftTex - second: - m_Texture: {fileID: 2800000, guid: ebb6e6cf7623a42d48f1598298e96d2d, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - data: - first: - name: _RightTex - second: - m_Texture: {fileID: 2800000, guid: 197659d420fa04b71a3a16c774b29e01, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - data: - first: - name: _UpTex - second: - m_Texture: {fileID: 2800000, guid: 248e4623b855742fe9535dabbe401904, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - data: - first: - name: _DownTex - second: - m_Texture: {fileID: 2800000, guid: 5cf37230961fd4c3f955aac27be6a8b9, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: {} - m_Colors: - data: - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} - data: - first: - name: _Tint - second: {r: .5, g: .5, b: .5, a: .5} diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/Skybox.mat.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/Skybox.mat.meta deleted file mode 100644 index dab0ac695..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/Skybox.mat.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: a07fadb24ea940240afba3afc1a692cc -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/backImage.jpg b/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/backImage.jpg deleted file mode 100644 index 23c69163c..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/backImage.jpg and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/backImage.jpg.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/backImage.jpg.meta deleted file mode 100644 index 456ec9462..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/backImage.jpg.meta +++ /dev/null @@ -1,54 +0,0 @@ -fileFormatVersion: 2 -guid: d1fae250427984eea9cfe19d1682d998 -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 2048 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 0 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/downImage.jpg b/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/downImage.jpg deleted file mode 100644 index f6c6cabf6..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/downImage.jpg and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/downImage.jpg.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/downImage.jpg.meta deleted file mode 100644 index 9f4ca940f..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/downImage.jpg.meta +++ /dev/null @@ -1,54 +0,0 @@ -fileFormatVersion: 2 -guid: 5cf37230961fd4c3f955aac27be6a8b9 -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 2048 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 0 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/frontImage.jpg b/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/frontImage.jpg deleted file mode 100644 index 737334147..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/frontImage.jpg and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/frontImage.jpg.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/frontImage.jpg.meta deleted file mode 100644 index 5d8887c67..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/frontImage.jpg.meta +++ /dev/null @@ -1,54 +0,0 @@ -fileFormatVersion: 2 -guid: b2fad080717624ed6b17cc8a3010b5e1 -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 2048 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 0 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/leftImage.jpg b/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/leftImage.jpg deleted file mode 100644 index 03ececbb7..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/leftImage.jpg and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/leftImage.jpg.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/leftImage.jpg.meta deleted file mode 100644 index a02a814a4..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/leftImage.jpg.meta +++ /dev/null @@ -1,54 +0,0 @@ -fileFormatVersion: 2 -guid: ebb6e6cf7623a42d48f1598298e96d2d -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 2048 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 0 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/rightImage.jpg b/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/rightImage.jpg deleted file mode 100644 index 8ca4e76cd..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/rightImage.jpg and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/rightImage.jpg.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/rightImage.jpg.meta deleted file mode 100644 index 8992321fd..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/rightImage.jpg.meta +++ /dev/null @@ -1,54 +0,0 @@ -fileFormatVersion: 2 -guid: 197659d420fa04b71a3a16c774b29e01 -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 2048 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 0 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/upImage.jpg b/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/upImage.jpg deleted file mode 100644 index a60819a88..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/upImage.jpg and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/upImage.jpg.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/upImage.jpg.meta deleted file mode 100644 index c06c3b2a2..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/Skybox/upImage.jpg.meta +++ /dev/null @@ -1,54 +0,0 @@ -fileFormatVersion: 2 -guid: 248e4623b855742fe9535dabbe401904 -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 2048 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 0 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/Unity.png b/ThirdParty/TouchScript/Examples/_misc/Textures/Unity.png deleted file mode 100644 index 8662875fd..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Textures/Unity.png and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/border100x100.png b/ThirdParty/TouchScript/Examples/_misc/Textures/border100x100.png deleted file mode 100644 index 9ba1827ce..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Textures/border100x100.png and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/border100x100.png.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/border100x100.png.meta deleted file mode 100644 index 15252528c..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/border100x100.png.meta +++ /dev/null @@ -1,54 +0,0 @@ -fileFormatVersion: 2 -guid: c9526d00e23c94f788b5b0e8833d5941 -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -2 - maxTextureSize: 1024 - textureSettings: - filterMode: -1 - aniso: 16 - mipBias: -1 - wrapMode: 1 - nPOTScale: 0 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 14, y: 14, z: 14, w: 14} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 8 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/checkerboard2x2.png b/ThirdParty/TouchScript/Examples/_misc/Textures/checkerboard2x2.png deleted file mode 100644 index 43e549fa8..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Textures/checkerboard2x2.png and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/checkerboard2x2.png.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/checkerboard2x2.png.meta deleted file mode 100644 index e73b5c630..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/checkerboard2x2.png.meta +++ /dev/null @@ -1,54 +0,0 @@ -fileFormatVersion: 2 -guid: 101a2db3cfc4b43ef985335f970658ab -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 1024 - textureSettings: - filterMode: -1 - aniso: 16 - mipBias: -1 - wrapMode: 1 - nPOTScale: 0 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 8 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/close.png b/ThirdParty/TouchScript/Examples/_misc/Textures/close.png deleted file mode 100644 index 06e8bc862..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Textures/close.png and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/close.png.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/close.png.meta deleted file mode 100644 index d2471f7ff..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/close.png.meta +++ /dev/null @@ -1,54 +0,0 @@ -fileFormatVersion: 2 -guid: afc4b16a1177b45a09ce4e236152d63c -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 1024 - textureSettings: - filterMode: -1 - aniso: 16 - mipBias: -1 - wrapMode: 1 - nPOTScale: 0 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 8 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/crate.jpg b/ThirdParty/TouchScript/Examples/_misc/Textures/crate.jpg deleted file mode 100644 index ad3fe9170..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Textures/crate.jpg and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/crate.jpg.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/crate.jpg.meta deleted file mode 100644 index 34dcaf104..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/crate.jpg.meta +++ /dev/null @@ -1,54 +0,0 @@ -fileFormatVersion: 2 -guid: 6d7cfa3977727472087d7f24d6aa53d1 -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 1024 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 0 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/rotate.png b/ThirdParty/TouchScript/Examples/_misc/Textures/rotate.png deleted file mode 100644 index ab5c2ec93..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Textures/rotate.png and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/rotate.png.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/rotate.png.meta deleted file mode 100644 index bf937c62e..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/rotate.png.meta +++ /dev/null @@ -1,54 +0,0 @@ -fileFormatVersion: 2 -guid: b2173b9606b6741fda0af840ae51b353 -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 1024 - textureSettings: - filterMode: -1 - aniso: 16 - mipBias: -1 - wrapMode: 1 - nPOTScale: 0 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 8 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/vortex.jpg b/ThirdParty/TouchScript/Examples/_misc/Textures/vortex.jpg deleted file mode 100644 index df43a8f0e..000000000 Binary files a/ThirdParty/TouchScript/Examples/_misc/Textures/vortex.jpg and /dev/null differ diff --git a/ThirdParty/TouchScript/Examples/_misc/Textures/vortex.jpg.meta b/ThirdParty/TouchScript/Examples/_misc/Textures/vortex.jpg.meta deleted file mode 100644 index 796f05509..000000000 --- a/ThirdParty/TouchScript/Examples/_misc/Textures/vortex.jpg.meta +++ /dev/null @@ -1,54 +0,0 @@ -fileFormatVersion: 2 -guid: db8fa2b50ab1244fd8d75ed3ee8c0ee5 -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 1024 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 0 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_prefabs.meta b/ThirdParty/TouchScript/Examples/_prefabs.meta deleted file mode 100644 index 5f6d68b9f..000000000 --- a/ThirdParty/TouchScript/Examples/_prefabs.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 007aa1b53f52c9440a4718611de401d4 -folderAsset: yes -timeCreated: 1445028788 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/_prefabs/TouchScript.prefab b/ThirdParty/TouchScript/Examples/_prefabs/TouchScript.prefab deleted file mode 100644 index b525edcfb..000000000 --- a/ThirdParty/TouchScript/Examples/_prefabs/TouchScript.prefab +++ /dev/null @@ -1,124 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &100000 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 4 - m_Component: - - 4: {fileID: 400000} - - 114: {fileID: 11400002} - - 114: {fileID: 11400004} - m_Layer: 0 - m_Name: Inputs - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &100002 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 4 - m_Component: - - 4: {fileID: 400002} - - 114: {fileID: 11400000} - m_Layer: 0 - m_Name: TouchScript - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &400000 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 100000} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 400002} - m_RootOrder: 0 ---- !u!4 &400002 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 100002} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 400000} - m_Father: {fileID: 0} - m_RootOrder: 0 ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 100002} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -409488130, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - displayDevice: {fileID: 0} - shouldCreateCameraLayer: 1 - useSendMessage: 0 - sendMessageEvents: 60 - sendMessageTarget: {fileID: 0} - layers: [] ---- !u!114 &11400002 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 100000} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -102971247, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - DisableOnMobilePlatforms: 1 - Tags: - tagList: - - Mouse ---- !u!114 &11400004 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 100000} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 770742126, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} - m_Name: - m_EditorClassIdentifier: - advancedProps: 0 - DisableOnNonTouchPlatforms: 1 - Tags: - tagList: - - Touch ---- !u!1001 &100100000 -Prefab: - m_ObjectHideFlags: 1 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 0} - propertyPath: layers.Array.size - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 0} - m_RootGameObject: {fileID: 100002} - m_IsPrefabParent: 1 diff --git a/ThirdParty/TouchScript/Examples/_prefabs/TouchScript.prefab.meta b/ThirdParty/TouchScript/Examples/_prefabs/TouchScript.prefab.meta deleted file mode 100644 index ed3182fea..000000000 --- a/ThirdParty/TouchScript/Examples/_prefabs/TouchScript.prefab.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 1c4dd8a13f501b04f84fe824120f70bb -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Modules.meta b/ThirdParty/TouchScript/Modules.meta new file mode 100644 index 000000000..94ee17c69 --- /dev/null +++ b/ThirdParty/TouchScript/Modules.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 20c0f1bf4ccf44b2fa79c4a192a3a609 +folderAsset: yes +timeCreated: 1448726325 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Packages.meta b/ThirdParty/TouchScript/Packages.meta deleted file mode 100644 index f5d3f0b0a..000000000 --- a/ThirdParty/TouchScript/Packages.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 20f692b5551684aa5bfaebf59b136fe4 -folderAsset: yes -timeCreated: 1445027516 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Packages/Playmaker.unitypackage b/ThirdParty/TouchScript/Packages/Playmaker.unitypackage deleted file mode 100644 index 32e43b740..000000000 Binary files a/ThirdParty/TouchScript/Packages/Playmaker.unitypackage and /dev/null differ diff --git a/ThirdParty/TouchScript/Packages/Playmaker.unitypackage.meta b/ThirdParty/TouchScript/Packages/Playmaker.unitypackage.meta deleted file mode 100644 index 24c3b34f9..000000000 --- a/ThirdParty/TouchScript/Packages/Playmaker.unitypackage.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: c1e2c43436c554719910d74c55a7652e -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Packages/Scaleform.unitypackage b/ThirdParty/TouchScript/Packages/Scaleform.unitypackage deleted file mode 100644 index ada50189a..000000000 Binary files a/ThirdParty/TouchScript/Packages/Scaleform.unitypackage and /dev/null differ diff --git a/ThirdParty/TouchScript/Packages/Scaleform.unitypackage.meta b/ThirdParty/TouchScript/Packages/Scaleform.unitypackage.meta deleted file mode 100644 index ebbb258c9..000000000 --- a/ThirdParty/TouchScript/Packages/Scaleform.unitypackage.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 0c4b457093ba84beeb09098b4cb5edda -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Packages/TouchScript.Android.unitypackage b/ThirdParty/TouchScript/Packages/TouchScript.Android.unitypackage deleted file mode 100644 index 225ae713d..000000000 Binary files a/ThirdParty/TouchScript/Packages/TouchScript.Android.unitypackage and /dev/null differ diff --git a/ThirdParty/TouchScript/Packages/TouchScript.Android.unitypackage.meta b/ThirdParty/TouchScript/Packages/TouchScript.Android.unitypackage.meta deleted file mode 100644 index 6db399da7..000000000 --- a/ThirdParty/TouchScript/Packages/TouchScript.Android.unitypackage.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: db8a94e7614f145f3bbf21712ed322ec -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Packages/TouchScript.TUIO.unitypackage b/ThirdParty/TouchScript/Packages/TouchScript.TUIO.unitypackage deleted file mode 100644 index 47a56daf1..000000000 Binary files a/ThirdParty/TouchScript/Packages/TouchScript.TUIO.unitypackage and /dev/null differ diff --git a/ThirdParty/TouchScript/Packages/TouchScript.TUIO.unitypackage.meta b/ThirdParty/TouchScript/Packages/TouchScript.TUIO.unitypackage.meta deleted file mode 100644 index 83c49c28c..000000000 --- a/ThirdParty/TouchScript/Packages/TouchScript.TUIO.unitypackage.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 6363eb9e651cb4cba8345c80a93ec17a -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Packages/TouchScript.Windows7.unitypackage b/ThirdParty/TouchScript/Packages/TouchScript.Windows7.unitypackage deleted file mode 100644 index b67d50d05..000000000 Binary files a/ThirdParty/TouchScript/Packages/TouchScript.Windows7.unitypackage and /dev/null differ diff --git a/ThirdParty/TouchScript/Packages/TouchScript.Windows7.unitypackage.meta b/ThirdParty/TouchScript/Packages/TouchScript.Windows7.unitypackage.meta deleted file mode 100644 index 1a72eb9e6..000000000 --- a/ThirdParty/TouchScript/Packages/TouchScript.Windows7.unitypackage.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 941c055095e6a47ba8f78ab48adf3d4a -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Packages/TouchScript.Windows8.unitypackage b/ThirdParty/TouchScript/Packages/TouchScript.Windows8.unitypackage deleted file mode 100644 index 6879cde53..000000000 Binary files a/ThirdParty/TouchScript/Packages/TouchScript.Windows8.unitypackage and /dev/null differ diff --git a/ThirdParty/TouchScript/Packages/TouchScript.Windows8.unitypackage.meta b/ThirdParty/TouchScript/Packages/TouchScript.Windows8.unitypackage.meta deleted file mode 100644 index ade310d0d..000000000 --- a/ThirdParty/TouchScript/Packages/TouchScript.Windows8.unitypackage.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: acf4a92a50cd845eea765b1665fb7ddc -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Packages/TouchScript.WindowsPhone.unitypackage b/ThirdParty/TouchScript/Packages/TouchScript.WindowsPhone.unitypackage deleted file mode 100644 index 590ba191d..000000000 Binary files a/ThirdParty/TouchScript/Packages/TouchScript.WindowsPhone.unitypackage and /dev/null differ diff --git a/ThirdParty/TouchScript/Packages/TouchScript.WindowsPhone.unitypackage.meta b/ThirdParty/TouchScript/Packages/TouchScript.WindowsPhone.unitypackage.meta deleted file mode 100644 index 5baa67707..000000000 --- a/ThirdParty/TouchScript/Packages/TouchScript.WindowsPhone.unitypackage.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 80b33016983dc4a548f2094feb138292 -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Packages/TouchScript.WindowsStore.unitypackage b/ThirdParty/TouchScript/Packages/TouchScript.WindowsStore.unitypackage deleted file mode 100644 index c10f4b750..000000000 Binary files a/ThirdParty/TouchScript/Packages/TouchScript.WindowsStore.unitypackage and /dev/null differ diff --git a/ThirdParty/TouchScript/Packages/TouchScript.WindowsStore.unitypackage.meta b/ThirdParty/TouchScript/Packages/TouchScript.WindowsStore.unitypackage.meta deleted file mode 100644 index ad4095d9b..000000000 --- a/ThirdParty/TouchScript/Packages/TouchScript.WindowsStore.unitypackage.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 618d6ce62d37c460a89a5686d298ce9a -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Packages/TouchScript.iOS.unitypackage b/ThirdParty/TouchScript/Packages/TouchScript.iOS.unitypackage deleted file mode 100644 index f6dd84900..000000000 Binary files a/ThirdParty/TouchScript/Packages/TouchScript.iOS.unitypackage and /dev/null differ diff --git a/ThirdParty/TouchScript/Packages/TouchScript.iOS.unitypackage.meta b/ThirdParty/TouchScript/Packages/TouchScript.iOS.unitypackage.meta deleted file mode 100644 index e636ec26f..000000000 --- a/ThirdParty/TouchScript/Packages/TouchScript.iOS.unitypackage.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 179fc66e600d0471fab410e13983e400 -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Packages/TouchScript.unitypackage b/ThirdParty/TouchScript/Packages/TouchScript.unitypackage deleted file mode 100644 index d69bfdf74..000000000 Binary files a/ThirdParty/TouchScript/Packages/TouchScript.unitypackage and /dev/null differ diff --git a/ThirdParty/TouchScript/Packages/TouchScript.unitypackage.meta b/ThirdParty/TouchScript/Packages/TouchScript.unitypackage.meta deleted file mode 100644 index 925a0ac75..000000000 --- a/ThirdParty/TouchScript/Packages/TouchScript.unitypackage.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 45b76f40d0ce84f1eb26df035b823960 -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Plugins.meta b/ThirdParty/TouchScript/Plugins.meta deleted file mode 100644 index 7951eebbc..000000000 --- a/ThirdParty/TouchScript/Plugins.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 8b69608cfc2374bcba59f6b5801b581e -folderAsset: yes -timeCreated: 1445027516 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Plugins/OSCsharp.dll b/ThirdParty/TouchScript/Plugins/OSCsharp.dll deleted file mode 100644 index 65122630d..000000000 Binary files a/ThirdParty/TouchScript/Plugins/OSCsharp.dll and /dev/null differ diff --git a/ThirdParty/TouchScript/Plugins/OSCsharp.dll.meta b/ThirdParty/TouchScript/Plugins/OSCsharp.dll.meta deleted file mode 100644 index 072bf40f1..000000000 --- a/ThirdParty/TouchScript/Plugins/OSCsharp.dll.meta +++ /dev/null @@ -1,22 +0,0 @@ -fileFormatVersion: 2 -guid: 710b2da019022fc49a1e7fbdf009cd6c -PluginImporter: - serializedVersion: 1 - iconMap: {} - executionOrder: {} - isPreloaded: 0 - platformData: - Any: - enabled: 1 - settings: {} - Editor: - enabled: 0 - settings: - DefaultValueInitialized: true - WindowsStoreApps: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Plugins/TUIOsharp.dll b/ThirdParty/TouchScript/Plugins/TUIOsharp.dll deleted file mode 100644 index ea75f942c..000000000 Binary files a/ThirdParty/TouchScript/Plugins/TUIOsharp.dll and /dev/null differ diff --git a/ThirdParty/TouchScript/Plugins/TUIOsharp.dll.meta b/ThirdParty/TouchScript/Plugins/TUIOsharp.dll.meta deleted file mode 100644 index f9a609b61..000000000 --- a/ThirdParty/TouchScript/Plugins/TUIOsharp.dll.meta +++ /dev/null @@ -1,22 +0,0 @@ -fileFormatVersion: 2 -guid: 79a4d43786071994f99fd36708a4fbb9 -PluginImporter: - serializedVersion: 1 - iconMap: {} - executionOrder: {} - isPreloaded: 0 - platformData: - Any: - enabled: 1 - settings: {} - Editor: - enabled: 0 - settings: - DefaultValueInitialized: true - WindowsStoreApps: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Plugins/TouchScript.TUIO.dll b/ThirdParty/TouchScript/Plugins/TouchScript.TUIO.dll deleted file mode 100644 index ed9d54157..000000000 Binary files a/ThirdParty/TouchScript/Plugins/TouchScript.TUIO.dll and /dev/null differ diff --git a/ThirdParty/TouchScript/Plugins/TouchScript.TUIO.dll.meta b/ThirdParty/TouchScript/Plugins/TouchScript.TUIO.dll.meta deleted file mode 100644 index 6781f2b62..000000000 --- a/ThirdParty/TouchScript/Plugins/TouchScript.TUIO.dll.meta +++ /dev/null @@ -1,23 +0,0 @@ -fileFormatVersion: 2 -guid: 53d3dc02e71df20438406b9087fe1e5d -PluginImporter: - serializedVersion: 1 - iconMap: {} - executionOrder: - TouchScript.InputSources.TuioInput: -1120 - isPreloaded: 0 - platformData: - Any: - enabled: 1 - settings: {} - Editor: - enabled: 0 - settings: - DefaultValueInitialized: true - WindowsStoreApps: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Plugins/TouchScript.Windows.dll b/ThirdParty/TouchScript/Plugins/TouchScript.Windows.dll deleted file mode 100644 index 454437172..000000000 Binary files a/ThirdParty/TouchScript/Plugins/TouchScript.Windows.dll and /dev/null differ diff --git a/ThirdParty/TouchScript/Plugins/TouchScript.Windows.dll.meta b/ThirdParty/TouchScript/Plugins/TouchScript.Windows.dll.meta deleted file mode 100644 index f502e7eb2..000000000 --- a/ThirdParty/TouchScript/Plugins/TouchScript.Windows.dll.meta +++ /dev/null @@ -1,24 +0,0 @@ -fileFormatVersion: 2 -guid: bb6056dc800c1084da7273cb9f23f5cb -PluginImporter: - serializedVersion: 1 - iconMap: {} - executionOrder: - TouchScript.InputSources.Win7TouchInput: -1130 - TouchScript.InputSources.Win8TouchInput: -1140 - isPreloaded: 0 - platformData: - Any: - enabled: 1 - settings: {} - Editor: - enabled: 0 - settings: - DefaultValueInitialized: true - WindowsStoreApps: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Plugins/TouchScript.dll b/ThirdParty/TouchScript/Plugins/TouchScript.dll deleted file mode 100644 index 798c39db9..000000000 Binary files a/ThirdParty/TouchScript/Plugins/TouchScript.dll and /dev/null differ diff --git a/ThirdParty/TouchScript/Plugins/TouchScript.dll.meta b/ThirdParty/TouchScript/Plugins/TouchScript.dll.meta deleted file mode 100644 index 7d47bc3a5..000000000 --- a/ThirdParty/TouchScript/Plugins/TouchScript.dll.meta +++ /dev/null @@ -1,25 +0,0 @@ -fileFormatVersion: 2 -guid: 20c2a163775f09b4cafa29b19d0c9204 -PluginImporter: - serializedVersion: 1 - iconMap: {} - executionOrder: - TouchScript.GestureManagerInstance: -1000 - TouchScript.InputSources.MouseInput: -1101 - TouchScript.TouchManagerInstance: -900 - isPreloaded: 0 - platformData: - Any: - enabled: 1 - settings: {} - Editor: - enabled: 0 - settings: - DefaultValueInitialized: true - WindowsStoreApps: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Prefabs.meta b/ThirdParty/TouchScript/Prefabs.meta index 710702691..e75d22844 100644 --- a/ThirdParty/TouchScript/Prefabs.meta +++ b/ThirdParty/TouchScript/Prefabs.meta @@ -1,9 +1,2 @@ fileFormatVersion: 2 guid: 311faee9abf6e594f8f28c9efef101bf -folderAsset: yes -timeCreated: 1445027516 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Prefabs/Touch Debugger.prefab.meta b/ThirdParty/TouchScript/Prefabs/Touch Debugger.prefab.meta deleted file mode 100644 index d97f4772d..000000000 --- a/ThirdParty/TouchScript/Prefabs/Touch Debugger.prefab.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: c0dc5781cae4a6348b42ea6b818a3f9c -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Prefabs/Touch Hit.prefab b/ThirdParty/TouchScript/Prefabs/Touch Hit.prefab new file mode 100644 index 000000000..0799736f5 --- /dev/null +++ b/ThirdParty/TouchScript/Prefabs/Touch Hit.prefab @@ -0,0 +1,189 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &152322 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22498922} + - 222: {fileID: 22253470} + - 114: {fileID: 11415522} + - 114: {fileID: 11446012} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &183852 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22471328} + - 222: {fileID: 22246154} + - 114: {fileID: 11454912} + - 114: {fileID: 11468960} + m_Layer: 0 + m_Name: Touch Hit + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &11415522 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 152322} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.003921569, g: 0.9960785, b: 0.9960785, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 12 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'Id: 0 + + Tags: Bla' +--- !u!114 &11446012 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 152322} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -900027084, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 0.541} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!114 &11454912 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 183852} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: f5c75ed8c6bed0f489d9003aa739aff7, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11468960 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 183852} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7cb960f8e83f447beb42da7d064d77e2, type: 3} + m_Name: + m_EditorClassIdentifier: + Text: {fileID: 11415522} +--- !u!222 &22246154 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 183852} +--- !u!222 &22253470 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 152322} +--- !u!224 &22471328 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 183852} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22498922} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 472, y: 378} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &22498922 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 152322} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22471328} + m_RootOrder: 0 + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 3, y: 0} + m_SizeDelta: {x: 100, y: 47} + m_Pivot: {x: 0, y: 0.5} +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 0} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: 1ca5291cdab0c7440bf75a4a7a4a3282, + type: 3} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 183852} + m_IsPrefabParent: 1 diff --git a/ThirdParty/TouchScript/Prefabs/Touch Hit.prefab.meta b/ThirdParty/TouchScript/Prefabs/Touch Hit.prefab.meta new file mode 100644 index 000000000..bdba6c90f --- /dev/null +++ b/ThirdParty/TouchScript/Prefabs/Touch Hit.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4230502e1973f4c9e9ef6767dcc8c602 +timeCreated: 1448655580 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Prefabs/Touch Debugger.prefab b/ThirdParty/TouchScript/Prefabs/Touch Visualizer.prefab similarity index 64% rename from ThirdParty/TouchScript/Prefabs/Touch Debugger.prefab rename to ThirdParty/TouchScript/Prefabs/Touch Visualizer.prefab index d01302b5d..3ceaf4f72 100644 --- a/ThirdParty/TouchScript/Prefabs/Touch Debugger.prefab +++ b/ThirdParty/TouchScript/Prefabs/Touch Visualizer.prefab @@ -7,10 +7,11 @@ GameObject: m_PrefabInternal: {fileID: 100100000} serializedVersion: 4 m_Component: - - 4: {fileID: 400000} + - 224: {fileID: 22401058} - 114: {fileID: 11400000} + - 223: {fileID: 22341586} m_Layer: 0 - m_Name: Touch Debugger + m_Name: Touch Visualizer m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -19,17 +20,6 @@ GameObject: --- !u!1002 &100001 EditorExtensionImpl: serializedVersion: 6 ---- !u!4 &400000 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 100000} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} --- !u!1002 &400001 EditorExtensionImpl: serializedVersion: 6 @@ -50,11 +40,12 @@ MonoBehaviour: m_GameObject: {fileID: 100000} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 923107734, guid: 20c2a163775f09b4cafa29b19d0c9204, type: 3} + m_Script: {fileID: 11500000, guid: 75324aa372886435faa21a4145210f8e, type: 3} m_Name: m_EditorClassIdentifier: - texture: {fileID: 2800000, guid: f5c75ed8c6bed0f489d9003aa739aff7, type: 3} - fontColor: {r: 0, g: 1, b: 1, a: 1} + touchProxy: {fileID: 11468960, guid: 4230502e1973f4c9e9ef6767dcc8c602, type: 2} + showTouchId: 1 + showTags: 1 useDPI: 1 touchSize: 1 --- !u!1002 &11400001 @@ -63,6 +54,40 @@ EditorExtensionImpl: --- !u!1002 &12400001 EditorExtensionImpl: serializedVersion: 6 +--- !u!223 &22341586 +Canvas: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100000} + m_Enabled: 1 + serializedVersion: 2 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingLayerID: 0 + m_SortingOrder: 9000 +--- !u!224 &22401058 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100000} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} --- !u!1001 &100100000 Prefab: m_ObjectHideFlags: 1 @@ -74,7 +99,6 @@ Prefab: m_ParentPrefab: {fileID: 0} m_RootGameObject: {fileID: 100000} m_IsPrefabParent: 1 - m_IsExploded: 1 --- !u!1002 &100100001 EditorExtensionImpl: serializedVersion: 6 diff --git a/ThirdParty/TouchScript/Prefabs/Touch Visualizer.prefab.meta b/ThirdParty/TouchScript/Prefabs/Touch Visualizer.prefab.meta new file mode 100644 index 000000000..dace82ba4 --- /dev/null +++ b/ThirdParty/TouchScript/Prefabs/Touch Visualizer.prefab.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: c0dc5781cae4a6348b42ea6b818a3f9c diff --git a/ThirdParty/TouchScript/Examples/General/Checkers/Scripts.meta b/ThirdParty/TouchScript/Scripts.meta similarity index 67% rename from ThirdParty/TouchScript/Examples/General/Checkers/Scripts.meta rename to ThirdParty/TouchScript/Scripts.meta index b37cec6eb..e5ae18b6f 100644 --- a/ThirdParty/TouchScript/Examples/General/Checkers/Scripts.meta +++ b/ThirdParty/TouchScript/Scripts.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 -guid: 89064826597d94d49bf193cfbace94a2 +guid: 1fafa4dea83374ca884720fd4dc5d07e folderAsset: yes -timeCreated: 1445028788 +timeCreated: 1447582128 licenseType: Pro DefaultImporter: userData: diff --git a/ThirdParty/TouchScript/Scripts/Behaviors.meta b/ThirdParty/TouchScript/Scripts/Behaviors.meta new file mode 100644 index 000000000..674bf6720 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Behaviors.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5413b0f53221c41a0bcd996555cb1926 +folderAsset: yes +timeCreated: 1447582128 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Behaviors/TouchScriptInputModule.cs b/ThirdParty/TouchScript/Scripts/Behaviors/TouchScriptInputModule.cs new file mode 100644 index 000000000..c4359e780 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Behaviors/TouchScriptInputModule.cs @@ -0,0 +1,586 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using UnityEngine.EventSystems; + +namespace TouchScript.Behaviors +{ + /// + /// Unity UI compatible Input Module which sends all TouchScript data to UI EventSystem. + /// It works without any layers or gestures but can be used with for examle a CameraLayer and BoxColliders on UI elements to attach gestures to them. + /// + [AddComponentMenu("TouchScript/TouchScript Input Module")] + [HelpURL("http://touchscript.github.io/docs/Index.html?topic=html/T_TouchScript_Behaviors_TouchScriptInputModule.htm")] + public class TouchScriptInputModule : BaseInputModule + { + #region Public properties + + /// + /// Gets or sets the name of Unity horizontal axis. Required to be compatible with other input. + /// + /// The name of Unity horizontal axis. + public string HorizontalAxis + { + get { return horizontalAxis; } + set { horizontalAxis = value; } + } + + /// + /// Gets or sets the name of Unity vertical axis. Required to be compatible with other input. + /// + /// The name of Unity vertical axis. + public string VerticalAxis + { + get { return verticalAxis; } + set { verticalAxis = value; } + } + + /// + /// Gets or sets the name of Unity submit button. Required to be compatible with other input. + /// + /// The name of Unity submit button. + public string SubmitButton + { + get { return submitButton; } + set { submitButton = value; } + } + + /// + /// Gets or sets the name of Unity cancel button. Required to be compatible with other input. + /// + /// The name of Unity cancel button. + public string CancelButton + { + get { return cancelButton; } + set { cancelButton = value; } + } + + #endregion + + #region Private variables + + /// + /// id to event data. + /// + protected Dictionary pointerEvents = new Dictionary(); + + [SerializeField] + private string horizontalAxis = "Horizontal"; + + [SerializeField] + private string verticalAxis = "Vertical"; + + [SerializeField] + private string submitButton = "Submit"; + + [SerializeField] + private string cancelButton = "Cancel"; + + [SerializeField] + private float inputActionsPerSecond = 10f; + + [SerializeField] + private float repeatDelay = 0.5f; + + private float nextActionTime; + private MoveDirection lastMoveDirection; + private float lastMoveStartTime; + + #endregion + + #region Public methods + + /// + public override bool IsModuleSupported() + { + return true; + } + + /// + public override bool ShouldActivateModule() + { + if (!base.ShouldActivateModule()) + return false; + + //var shouldActivate = Input.GetButtonDown(submitButton); + //shouldActivate |= Input.GetButtonDown(cancelButton); + //shouldActivate |= !Mathf.Approximately(Input.GetAxisRaw(horizontalAxis), 0.0f); + //shouldActivate |= !Mathf.Approximately(Input.GetAxisRaw(verticalAxis), 0.0f); + //return shouldActivate; + + return true; + } + + /// + public override bool IsPointerOverGameObject(int pointerId) + { + var lastPointer = getLastPointerEventData(pointerId); + if (lastPointer != null) + return lastPointer.pointerEnter != null; + return false; + } + + /// + public override void ActivateModule() + { + base.ActivateModule(); + + var touchManager = TouchManager.Instance; + if (touchManager != null) + { + touchManager.TouchBegan += touchBeganHandler; + touchManager.TouchMoved += touchMovedHandler; + touchManager.TouchEnded += touchEndedHandler; + touchManager.TouchCancelled += touchCancelledHandler; + } + + var toSelect = eventSystem.currentSelectedGameObject; + if (toSelect == null) + toSelect = eventSystem.firstSelectedGameObject; + + eventSystem.SetSelectedGameObject(toSelect, GetBaseEventData()); + } + + /// + public override void DeactivateModule() + { + base.DeactivateModule(); + + var touchManager = TouchManager.Instance; + if (touchManager != null) + { + touchManager.TouchBegan -= touchBeganHandler; + touchManager.TouchMoved -= touchMovedHandler; + touchManager.TouchEnded -= touchEndedHandler; + touchManager.TouchCancelled -= touchCancelledHandler; + } + + clearSelection(); + } + + /// + public override void Process() + { + bool usedEvent = sendUpdateEventToSelectedObject(); + + if (eventSystem.sendNavigationEvents) + { + if (!usedEvent) + usedEvent |= sendMoveEventToSelectedObject(); + + if (!usedEvent) + sendSubmitEventToSelectedObject(); + } + } + + /// + public override string ToString() + { + var sb = new StringBuilder("Pointer Input Module of type: " + GetType()); + sb.AppendLine(); + foreach (var pointer in pointerEvents) + { + if (pointer.Value == null) + continue; + sb.AppendLine("Pointer: " + pointer.Key); + sb.AppendLine(pointer.Value.ToString()); + } + return sb.ToString(); + } + + #endregion + + #region Protected functions + + /// + /// Does a raycast with pointer data. + /// + /// Pointer data. + protected void raycastPointer(PointerEventData pointerEvent) + { + eventSystem.RaycastAll(pointerEvent, m_RaycastResultCache); + var raycast = FindFirstRaycast(m_RaycastResultCache); + pointerEvent.pointerCurrentRaycast = raycast; + m_RaycastResultCache.Clear(); + } + + /// + /// Initializes pointer data for a touch. + /// + /// The touch to initialize pointer data from. + /// Pointer data for the touch. + protected PointerEventData initPointerData(TouchPoint touch) + { + PointerEventData pointerEvent; + getPointerData(touch.Id, out pointerEvent, true); + + pointerEvent.position = touch.Position; + pointerEvent.button = PointerEventData.InputButton.Left; + pointerEvent.eligibleForClick = true; + pointerEvent.delta = Vector2.zero; + pointerEvent.dragging = false; + pointerEvent.useDragThreshold = true; + pointerEvent.pressPosition = pointerEvent.position; + + return pointerEvent; + } + + /// + /// Injects the pointer into UI. + /// + /// The pointer data to inject. + protected void injectPointer(PointerEventData pointerEvent) + { + pointerEvent.pointerPressRaycast = pointerEvent.pointerCurrentRaycast; + var currentOverGo = pointerEvent.pointerCurrentRaycast.gameObject; + + deselectIfSelectionChanged(currentOverGo, pointerEvent); + + if (pointerEvent.pointerEnter != currentOverGo) + { + // send a pointer enter to the touched element if it isn't the one to select... + HandlePointerExitAndEnter(pointerEvent, currentOverGo); + pointerEvent.pointerEnter = currentOverGo; + } + + // search for the control that will receive the press + // if we can't find a press handler set the press + // handler to be what would receive a click. + var newPressed = ExecuteEvents.ExecuteHierarchy(currentOverGo, pointerEvent, + ExecuteEvents.pointerDownHandler); + + // didnt find a press handler... search for a click handler + if (newPressed == null) + newPressed = ExecuteEvents.GetEventHandler(currentOverGo); + + // TODO: double-tap + pointerEvent.clickCount = 1; + pointerEvent.pointerPress = newPressed; + pointerEvent.rawPointerPress = currentOverGo; + pointerEvent.clickTime = Time.unscaledTime; + + // Save the drag handler as well + pointerEvent.pointerDrag = ExecuteEvents.GetEventHandler(currentOverGo); + + if (pointerEvent.pointerDrag != null) + ExecuteEvents.Execute(pointerEvent.pointerDrag, pointerEvent, ExecuteEvents.initializePotentialDrag); + } + + /// + /// Updates pointer data for touch. + /// + /// The touch. + /// Updated pointer data. + protected PointerEventData updatePointerData(TouchPoint touch) + { + PointerEventData pointerEvent; + getPointerData(touch.Id, out pointerEvent, true); + + pointerEvent.position = touch.Position; + pointerEvent.delta = touch.Position - touch.PreviousPosition; + + return pointerEvent; + } + + /// + /// Moves injected pointer in UI. + /// + /// The pointer data. + protected void movePointer(PointerEventData pointerEvent) + { + var targetGO = pointerEvent.pointerCurrentRaycast.gameObject; + HandlePointerExitAndEnter(pointerEvent, targetGO); + + bool moving = pointerEvent.IsPointerMoving(); + + if (moving && pointerEvent.pointerDrag != null + && !pointerEvent.dragging + && + shouldStartDrag(pointerEvent.pressPosition, pointerEvent.position, eventSystem.pixelDragThreshold, + pointerEvent.useDragThreshold)) + { + ExecuteEvents.Execute(pointerEvent.pointerDrag, pointerEvent, ExecuteEvents.beginDragHandler); + pointerEvent.dragging = true; + } + + // Drag notification + if (pointerEvent.dragging && moving && pointerEvent.pointerDrag != null) + { + // Before doing drag we should cancel any pointer down state + // And clear selection! + if (pointerEvent.pointerPress != pointerEvent.pointerDrag) + { + ExecuteEvents.Execute(pointerEvent.pointerPress, pointerEvent, ExecuteEvents.pointerUpHandler); + + pointerEvent.eligibleForClick = false; + pointerEvent.pointerPress = null; + pointerEvent.rawPointerPress = null; + } + ExecuteEvents.Execute(pointerEvent.pointerDrag, pointerEvent, ExecuteEvents.dragHandler); + } + } + + /// + /// Sends ended event for injected pointer. + /// + /// The pointer data. + protected void endPointer(PointerEventData pointerEvent) + { + var currentOverGo = pointerEvent.pointerCurrentRaycast.gameObject; + + ExecuteEvents.Execute(pointerEvent.pointerPress, pointerEvent, ExecuteEvents.pointerUpHandler); + + // see if we mouse up on the same element that we clicked on... + var pointerUpHandler = ExecuteEvents.GetEventHandler(currentOverGo); + + // PointerClick and Drop events + if (pointerEvent.pointerPress == pointerUpHandler && pointerEvent.eligibleForClick) + { + ExecuteEvents.Execute(pointerEvent.pointerPress, pointerEvent, ExecuteEvents.pointerClickHandler); + } + else if (pointerEvent.pointerDrag != null) + { + ExecuteEvents.ExecuteHierarchy(currentOverGo, pointerEvent, ExecuteEvents.dropHandler); + } + + pointerEvent.eligibleForClick = false; + pointerEvent.pointerPress = null; + pointerEvent.rawPointerPress = null; + + if (pointerEvent.pointerDrag != null && pointerEvent.dragging) + ExecuteEvents.Execute(pointerEvent.pointerDrag, pointerEvent, ExecuteEvents.endDragHandler); + + pointerEvent.dragging = false; + pointerEvent.pointerDrag = null; + + // send exit events as we need to simulate this on touch up on touch device + ExecuteEvents.ExecuteHierarchy(pointerEvent.pointerEnter, pointerEvent, ExecuteEvents.pointerExitHandler); + pointerEvent.pointerEnter = null; + + removePointerData(pointerEvent); + } + + /// + /// Gets pointer data for a touch. + /// + /// Touch id. + /// Pointer data. + /// If set to true not found pointer data is created. + /// true if pointer data is found or created; false otherwise. + protected bool getPointerData(int id, out PointerEventData data, bool create) + { + if (!pointerEvents.TryGetValue(id, out data) && create) + { + data = new PointerEventData(eventSystem) + { + pointerId = id, + }; + pointerEvents.Add(id, data); + return true; + } + return false; + } + + /// + /// Removes pointer data. + /// + /// The data. + protected void removePointerData(PointerEventData data) + { + pointerEvents.Remove(data.pointerId); + } + + /// + /// Gets the last pointer event data. + /// + /// Touch id. + /// Pointer data. + protected PointerEventData getLastPointerEventData(int id) + { + PointerEventData data; + getPointerData(id, out data, false); + return data; + } + + /// + /// Clears UI selection. + /// + protected void clearSelection() + { + var baseEventData = GetBaseEventData(); + + foreach (var pointer in pointerEvents.Values) + { + // clear all selection + HandlePointerExitAndEnter(pointer, null); + } + + pointerEvents.Clear(); + eventSystem.SetSelectedGameObject(null, baseEventData); + } + + /// + /// Deselects if selection changed. + /// + /// GameObject which has the touch over it. + /// Pointer data for the touch. + protected void deselectIfSelectionChanged(GameObject currentOverGo, BaseEventData pointerEvent) + { + // Selection tracking + var selectHandlerGO = ExecuteEvents.GetEventHandler(currentOverGo); + // if we have clicked something new, deselect the old thing + // leave 'selection handling' up to the press event though. + if (selectHandlerGO != eventSystem.currentSelectedGameObject) + eventSystem.SetSelectedGameObject(null, pointerEvent); + } + + #endregion + + #region Private functions + + private void processBegan(TouchPoint touch) + { + PointerEventData pointerEvent = initPointerData(touch); + raycastPointer(pointerEvent); + injectPointer(pointerEvent); + } + + private void processMove(TouchPoint touch) + { + PointerEventData pointerEvent = updatePointerData(touch); + raycastPointer(pointerEvent); + movePointer(pointerEvent); + } + + private void processEnded(TouchPoint touch) + { + PointerEventData pointerEvent = updatePointerData(touch); + raycastPointer(pointerEvent); + endPointer(pointerEvent); + } + + private bool allowMoveEventProcessing(float time) + { + bool allow = Input.GetButtonDown(horizontalAxis); + allow |= Input.GetButtonDown(verticalAxis); + allow |= (time > nextActionTime); + return allow; + } + + private static bool shouldStartDrag(Vector2 pressPos, Vector2 currentPos, float threshold, bool useDragThreshold) + { + if (!useDragThreshold) + return true; + + return (pressPos - currentPos).sqrMagnitude >= threshold * threshold; + } + + private bool sendSubmitEventToSelectedObject() + { + if (eventSystem.currentSelectedGameObject == null) + return false; + + var data = GetBaseEventData(); + if (Input.GetButtonDown(submitButton)) + ExecuteEvents.Execute(eventSystem.currentSelectedGameObject, data, ExecuteEvents.submitHandler); + + if (Input.GetButtonDown(cancelButton)) + ExecuteEvents.Execute(eventSystem.currentSelectedGameObject, data, ExecuteEvents.cancelHandler); + return data.used; + } + + private Vector2 getRawMoveVector() + { + Vector2 move = Vector2.zero; + move.x = Input.GetAxisRaw(horizontalAxis); + move.y = Input.GetAxisRaw(verticalAxis); + + if (Input.GetButtonDown(horizontalAxis)) + { + if (move.x < 0) + move.x = -1f; + if (move.x > 0) + move.x = 1f; + } + if (Input.GetButtonDown(verticalAxis)) + { + if (move.y < 0) + move.y = -1f; + if (move.y > 0) + move.y = 1f; + } + return move; + } + + private bool sendMoveEventToSelectedObject() + { + float time = Time.unscaledTime; + + if (!allowMoveEventProcessing(time)) + return false; + + Vector2 movement = getRawMoveVector(); + var axisEventData = GetAxisEventData(movement.x, movement.y, 0.6f); + MoveDirection moveDir = axisEventData.moveDir; + + // Repeat delay + if (moveDir != lastMoveDirection) + { + lastMoveDirection = moveDir; + lastMoveStartTime = time; + } + else + { + if (time < lastMoveStartTime + repeatDelay) + return false; + } + + if (moveDir != MoveDirection.None) + { + ExecuteEvents.Execute(eventSystem.currentSelectedGameObject, axisEventData, ExecuteEvents.moveHandler); + } + nextActionTime = time + 1f / inputActionsPerSecond; + return axisEventData.used; + } + + private bool sendUpdateEventToSelectedObject() + { + if (eventSystem.currentSelectedGameObject == null) + return false; + + var data = GetBaseEventData(); + ExecuteEvents.Execute(eventSystem.currentSelectedGameObject, data, ExecuteEvents.updateSelectedHandler); + return data.used; + } + + #endregion + + #region Touch event callbacks + + private void touchBeganHandler(object sender, TouchEventArgs touchEventArgs) + { + processBegan(touchEventArgs.Touch); + } + + private void touchMovedHandler(object sender, TouchEventArgs touchEventArgs) + { + processMove(touchEventArgs.Touch); + } + + private void touchEndedHandler(object sender, TouchEventArgs touchEventArgs) + { + processEnded(touchEventArgs.Touch); + } + + private void touchCancelledHandler(object sender, TouchEventArgs touchEventArgs) + { + processEnded(touchEventArgs.Touch); + } + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Behaviors/TouchScriptInputModule.cs.meta b/ThirdParty/TouchScript/Scripts/Behaviors/TouchScriptInputModule.cs.meta new file mode 100644 index 000000000..5f2aa4e5a --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Behaviors/TouchScriptInputModule.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 797eed971a75647609ca044e7924beb7 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Behaviors/Transformer.cs b/ThirdParty/TouchScript/Scripts/Behaviors/Transformer.cs new file mode 100644 index 000000000..2a29856c8 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Behaviors/Transformer.cs @@ -0,0 +1,68 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System; +using System.Collections.Generic; +using TouchScript.Gestures; +using UnityEngine; + +namespace TouchScript.Behaviors +{ + /// + /// Component which transforms an object according to events from transform gestures: , , and others. + /// + [AddComponentMenu("TouchScript/Behaviors/Transformer")] + [HelpURL("http://touchscript.github.io/docs/Index.html?topic=html/T_TouchScript_Behaviors_Transformer.htm")] + public class Transformer : MonoBehaviour + { + #region Private variables + + private Transform cachedTransform; + private List gestures = new List(); + + #endregion + + #region Unity methods + + private void Awake() + { + cachedTransform = transform; + } + + private void OnEnable() + { + var g = GetComponents(); + for (var i = 0; i < g.Length; i++) + { + var transformGesture = g[i] as ITransformGesture; + if (transformGesture == null) continue; + + gestures.Add(transformGesture); + transformGesture.Transformed += transformHandler; + } + } + + private void OnDisable() + { + for (var i = 0; i < gestures.Count; i++) + { + var transformGesture = gestures[i]; + transformGesture.Transformed -= transformHandler; + } + gestures.Clear(); + } + + #endregion + + #region Event handlers + + private void transformHandler(object sender, EventArgs e) + { + var gesture = sender as ITransformGesture; + gesture.ApplyTransform(cachedTransform); + } + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Behaviors/Transformer.cs.meta b/ThirdParty/TouchScript/Scripts/Behaviors/Transformer.cs.meta new file mode 100644 index 000000000..0a2ae6bd5 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Behaviors/Transformer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 978a486d8ecf8437cbb87e8534908895 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Behaviors/Visualizer.meta b/ThirdParty/TouchScript/Scripts/Behaviors/Visualizer.meta new file mode 100644 index 000000000..2672cf330 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Behaviors/Visualizer.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 05beb603034a24fb194b9de8359b2718 +folderAsset: yes +timeCreated: 1448109180 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Behaviors/Visualizer/TouchProxy.cs b/ThirdParty/TouchScript/Scripts/Behaviors/Visualizer/TouchProxy.cs new file mode 100644 index 000000000..74cbe4cfb --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Behaviors/Visualizer/TouchProxy.cs @@ -0,0 +1,193 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System.Text; +using UnityEngine; +using UnityEngine.UI; + +namespace TouchScript.Behaviors.Visualizer +{ + /// + /// Visual cursor implementation used by TouchScript. + /// + [HelpURL("http://touchscript.github.io/docs/Index.html?topic=html/T_TouchScript_Behaviors_TouchProxy.htm")] + public class TouchProxy : TouchProxyBase + { + /// + /// The link to UI.Text component. + /// + public Text Text; + + private StringBuilder stringBuilder = new StringBuilder(64); + + #region Protected methods + + /// + protected override void updateOnce(TouchPoint touch) + { + base.updateOnce(touch); + + stringBuilder.Length = 0; + stringBuilder.Append("Touch id: "); + stringBuilder.Append(touch.Id); + gameObject.name = stringBuilder.ToString(); + + if (Text == null) return; + if (!ShowTouchId && !ShowTags) return; + + stringBuilder.Length = 0; + if (ShowTouchId) + { + stringBuilder.Append("Id: "); + stringBuilder.Append(touch.Id); + } + if (ShowTags) + { + if (stringBuilder.Length > 0) stringBuilder.Append("\n"); + stringBuilder.Append("Tags: "); + stringBuilder.Append(touch.Tags.ToString()); + } + Text.text = stringBuilder.ToString(); + } + + #endregion + } + + /// + /// Base class for cursors. + /// + public class TouchProxyBase : MonoBehaviour + { + #region Public properties + + /// + /// Gets or sets cursor size. + /// + /// Cursor size in pixels. + public int Size + { + get { return size; } + set + { + size = value; + rect.sizeDelta = Vector2.one * size; + } + } + + /// + /// Gets or sets a value indicating whether touch id text should be displayed on screen. + /// + /// true if touch id text should be displayed on screen; otherwise, false. + public bool ShowTouchId { get; set; } + + /// + /// Gets or sets a value indicating whether touch tags text should be displayed on screen. + /// + /// true if touch tags text should be displayed on screen; otherwise, false. + public bool ShowTags { get; set; } + + #endregion + + #region Private variables + + /// + /// Cached RectTransform. + /// + protected RectTransform rect; + + /// + /// Cursor size. + /// + protected int size = 1; + + #endregion + + #region Public methods + + /// + /// Initializes (resets) the cursor. + /// + /// Parent container. + /// Touch this cursor represents. + public void Init(RectTransform parent, TouchPoint touch) + { + show(); + rect.SetParent(parent); + rect.SetAsLastSibling(); + updateOnce(touch); + update(touch); + } + + /// + /// Updates the touch. This method is called when the touch is moved. + /// + /// Touch this cursor represents. + public void UpdateTouch(TouchPoint touch) + { + update(touch); + } + + /// + /// Hides this instance. + /// + public void Hide() + { + hide(); + } + + #endregion + + #region Unity methods + + private void Awake() + { + rect = transform as RectTransform; + if (rect == null) + { + Debug.LogError("TouchProxy must be on an UI element!"); + enabled = false; + return; + } + rect.anchorMin = rect.anchorMax = Vector2.zero; + } + + #endregion + + #region Protected methods + + /// + /// Hides (clears) this instance. + /// + protected virtual void hide() + { + gameObject.SetActive(false); + gameObject.name = "inactive touch"; + } + + /// + /// Shows this instance. + /// + protected virtual void show() + { + gameObject.SetActive(true); + } + + /// + /// This method is called once when the cursor is initialized. + /// + /// The touch. + protected virtual void updateOnce(TouchPoint touch) {} + + /// + /// This method is called every time when the touch changes. + /// + /// The touch. + public virtual void update(TouchPoint touch) + { + rect.anchoredPosition = touch.Position; + } + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Behaviors/Visualizer/TouchProxy.cs.meta b/ThirdParty/TouchScript/Scripts/Behaviors/Visualizer/TouchProxy.cs.meta new file mode 100644 index 000000000..814d41e12 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Behaviors/Visualizer/TouchProxy.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 7cb960f8e83f447beb42da7d064d77e2 +timeCreated: 1448109185 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Behaviors/Visualizer/TouchVisualizer.cs b/ThirdParty/TouchScript/Scripts/Behaviors/Visualizer/TouchVisualizer.cs new file mode 100644 index 000000000..0e9eda31a --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Behaviors/Visualizer/TouchVisualizer.cs @@ -0,0 +1,206 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System.Collections.Generic; +using TouchScript.Utils; +using UnityEngine; + +namespace TouchScript.Behaviors.Visualizer +{ + /// + /// Touch visualizer which shows touch circles with debug text using Unity UI. + /// The script should be placed on an element with RectTransform or a Canvas. A reference prefab is provided in TouchScript package. + /// + [HelpURL("http://touchscript.github.io/docs/Index.html?topic=html/T_TouchScript_Behaviors_TouchVisualizer.htm")] + public class TouchVisualizer : MonoBehaviour + { + #region Public properties + + /// + /// Gets or sets touch UI element prefab which represents a touch on screen. + /// + /// A prefab with a script derived from TouchProxyBase. + public TouchProxyBase TouchProxy + { + get { return touchProxy; } + set + { + touchProxy = value; + updateDefaultSize(); + } + } + + /// + /// Gets or sets a value indicating whether touch id text should be displayed on screen. + /// + /// true if touch id text should be displayed on screen; otherwise, false. + public bool ShowTouchId + { + get { return showTouchId; } + set { showTouchId = value; } + } + + /// + /// Gets or sets a value indicating whether touch tags text should be displayed on screen. + /// + /// true if touch tags text should be displayed on screen; otherwise, false. + public bool ShowTags + { + get { return showTags; } + set { showTags = value; } + } + + /// + /// Gets or sets whether is using DPI to scale touch cursors. + /// + /// true if DPI value is used; otherwise, false. + public bool UseDPI + { + get { return useDPI; } + set { useDPI = value; } + } + + /// + /// Gets or sets the size of touch cursors in cm. This value is only used when is set to true. + /// + /// The size of touch cursors in cm. + public float TouchSize + { + get { return touchSize; } + set { touchSize = value; } + } + + #endregion + + #region Private variables + + [SerializeField] + private TouchProxyBase touchProxy; + + [SerializeField] + private bool showTouchId = true; + + [SerializeField] + private bool showTags = false; + + [SerializeField] + private bool useDPI = true; + + [SerializeField] + private float touchSize = 1f; + + private int defaultSize = 64; + private RectTransform rect; + private ObjectPool pool; + private Dictionary proxies = new Dictionary(10); + + #endregion + + #region Unity methods + + private void Awake() + { + pool = new ObjectPool(10, instantiateProxy, null, clearProxy); + rect = transform as RectTransform; + if (rect == null) + { + Debug.LogError("TouchVisualizer must be on an UI element!"); + enabled = false; + } + updateDefaultSize(); + } + + private void OnEnable() + { + if (TouchManager.Instance != null) + { + TouchManager.Instance.TouchBegan += touchBeganHandler; + TouchManager.Instance.TouchEnded += touchEndedHandler; + TouchManager.Instance.TouchMoved += touchMovedHandler; + TouchManager.Instance.TouchCancelled += touchCancelledHandler; + } + } + + private void OnDisable() + { + if (TouchManager.Instance != null) + { + TouchManager.Instance.TouchBegan -= touchBeganHandler; + TouchManager.Instance.TouchEnded -= touchEndedHandler; + TouchManager.Instance.TouchMoved -= touchMovedHandler; + TouchManager.Instance.TouchCancelled -= touchCancelledHandler; + } + } + + #endregion + + #region Private functions + + private TouchProxyBase instantiateProxy() + { + return Instantiate(touchProxy); + } + + private void clearProxy(TouchProxyBase proxy) + { + proxy.Hide(); + } + + private int getTouchSize() + { + if (useDPI) return (int) (touchSize * TouchManager.Instance.DotsPerCentimeter); + return defaultSize; + } + + private void updateDefaultSize() + { + if (touchProxy != null) + { + var rt = touchProxy.GetComponent(); + if (rt) defaultSize = (int) rt.sizeDelta.x; + } + } + + #endregion + + #region Event handlers + + private void touchBeganHandler(object sender, TouchEventArgs e) + { + if (touchProxy == null) return; + + var touch = e.Touch; + var proxy = pool.Get(); + proxy.Size = getTouchSize(); + proxy.ShowTouchId = showTouchId; + proxy.ShowTags = showTags; + proxy.Init(rect, touch); + proxies.Add(touch.Id, proxy); + } + + private void touchMovedHandler(object sender, TouchEventArgs e) + { + var touch = e.Touch; + TouchProxyBase proxy; + if (!proxies.TryGetValue(touch.Id, out proxy)) return; + proxy.UpdateTouch(touch); + } + + private void touchEndedHandler(object sender, TouchEventArgs e) + { + var touch = e.Touch; + TouchProxyBase proxy; + if (!proxies.TryGetValue(touch.Id, out proxy)) return; + proxies.Remove(touch.Id); + pool.Release(proxy); + } + + private void touchCancelledHandler(object sender, TouchEventArgs e) + { + touchEndedHandler(sender, e); + } + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Behaviors/Visualizer/TouchVisualizer.cs.meta b/ThirdParty/TouchScript/Scripts/Behaviors/Visualizer/TouchVisualizer.cs.meta new file mode 100644 index 000000000..39a9874cd --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Behaviors/Visualizer/TouchVisualizer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 75324aa372886435faa21a4145210f8e +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Clusters.meta b/ThirdParty/TouchScript/Scripts/Clusters.meta new file mode 100644 index 000000000..670f53bbc --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Clusters.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5c33e9956a93a43478c998eb73358a31 +folderAsset: yes +timeCreated: 1447582128 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Clusters/Clusters.cs b/ThirdParty/TouchScript/Scripts/Clusters/Clusters.cs new file mode 100644 index 000000000..6d4649e9f --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Clusters/Clusters.cs @@ -0,0 +1,328 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System.Collections.Generic; +using TouchScript.Utils; +using UnityEngine; + +namespace TouchScript.Clusters +{ + /// + /// Represents a pool of points separated into two clusters. + /// + public sealed class Clusters + { + #region Constants + + /// + /// The first cluster. + /// + public const int CLUSTER1 = 0; + + /// + /// The second cluster. + /// + public const int CLUSTER2 = 1; + + #endregion + + #region Public properties + + /// + /// Gets the total number of points in clusters represented by this object. + /// + public int PointsCount + { + get { return points.Count; } + } + + /// + /// Gets or sets minimum distance in pixels between clusters to treat them as two separate clusters. + /// + /// Minimum distance in pixels which must be between cluster centers to consider them as separate clusters. + /// This value is used to set the limit of how close cluster can be. Sometimes very close points shouldn't be treated as being in separate clusters. + public float MinPointsDistance + { + get { return minPointDistance; } + set + { + minPointDistance = value; + minPointDistanceSqr = value * value; + } + } + + /// + /// Indicates that this cluster instance has two valid clusters. + /// + /// true if this instance has clusters; otherwise, false. + public bool HasClusters + { + get + { + if (dirty) distributePoints(); + return hasClusters; + } + } + + #endregion + + #region Private variables + + private List points = new List(); + private bool dirty; + private List cluster1 = new List(); + private List cluster2 = new List(); + private float minPointDistance, minPointDistanceSqr; + private bool hasClusters = false; + + #endregion + + /// + /// Initializes a new instance of the class. + /// + public Clusters() + { + MinPointsDistance = 0; + markDirty(); + } + + #region Public methods + + /// + /// Calculates the center position of one of the clusters. + /// + /// Cluster id. Either or . + /// Cluster's centroid position or if cluster contains no points. + public Vector2 GetCenterPosition(int id) + { + if (!HasClusters) return TouchManager.INVALID_POSITION; + + Vector2 result; + switch (id) + { + case CLUSTER1: + result = ClusterUtils.Get2DCenterPosition(cluster1); + break; + case CLUSTER2: + result = ClusterUtils.Get2DCenterPosition(cluster2); + break; + default: + return TouchManager.INVALID_POSITION; + } + return result; + } + + /// + /// Calculates previous center position of one of the clusters. + /// + /// Cluster id. Either or . + /// Cluster's centroid previous position or if cluster contains no points. + public Vector2 GetPreviousCenterPosition(int id) + { + if (!HasClusters) return TouchManager.INVALID_POSITION; + + Vector2 result; + switch (id) + { + case CLUSTER1: + result = ClusterUtils.GetPrevious2DCenterPosition(cluster1); + break; + case CLUSTER2: + result = ClusterUtils.GetPrevious2DCenterPosition(cluster2); + break; + default: + return TouchManager.INVALID_POSITION; + } + return result; + } + + /// + /// Adds a point to cluster. + /// A point. + public void AddPoint(TouchPoint point) + { + if (points.Contains(point)) return; + + points.Add(point); + markDirty(); + } + + /// + /// Adds a list of points to cluster. + /// + /// List of points. + public void AddPoints(IList points) + { + var count = points.Count; + for (var i = 0; i < count; i++) AddPoint(points[i]); + } + + /// + /// Removes a point from cluster. + /// + /// A point. + public void RemovePoint(TouchPoint point) + { + if (!points.Contains(point)) return; + + points.Remove(point); + markDirty(); + } + + /// + /// Removes a list of points from cluster. + /// + /// List of points. + public void RemovePoints(IList points) + { + var count = points.Count; + for (var i = 0; i < count; i++) RemovePoint(points[i]); + } + + /// + /// Removes all points from cluster. + /// + public void RemoveAllPoints() + { + points.Clear(); + markDirty(); + } + + /// + /// Invalidates cluster state. Call this method to recalculate cluster properties. + /// + public void Invalidate() + { + markDirty(); + } + + #endregion + + #region Private functions + + private void distributePoints() + { + cluster1.Clear(); + cluster2.Clear(); + + hasClusters = checkClusters(); + if (!hasClusters) return; + + cluster1.Add(points[0]); + cluster2.Add(points[1]); + + var total = points.Count; + if (total == 2) return; + + var oldHash1 = ""; + var oldHash2 = ""; + var hash1 = "#"; + var hash2 = "#"; + + while (oldHash1 != hash1 || oldHash2 != hash2) + { + var center1 = ClusterUtils.Get2DCenterPosition(cluster1); + var center2 = ClusterUtils.Get2DCenterPosition(cluster2); + TouchPoint obj1 = null; + TouchPoint obj2 = null; + + // Take most distant points from cluster1 and cluster2 + var maxDist1 = -float.MaxValue; + var maxDist2 = -float.MaxValue; + for (var i = 0; i < total; i++) + { + var obj = points[i]; + var dist = (center1 - obj.Position).sqrMagnitude; + if (dist > maxDist2) + { + maxDist2 = dist; + obj2 = obj; + } + + dist = (center2 - obj.Position).sqrMagnitude; + if (dist > maxDist1) + { + maxDist1 = dist; + obj1 = obj; + } + } + + // If it is the same point it means that this point is too far away from both clusters and has to be in a separate cluster + if (obj1 == obj2) + { + center1 = (center1 + center2) * .5f; + center2 = obj2.Position; + } + else + { + center1 = obj1.Position; + center2 = obj2.Position; + } + + cluster1.Clear(); + cluster2.Clear(); + + for (var i = 0; i < total; i++) + { + var obj = points[i]; + if ((center1 - obj.Position).sqrMagnitude < (center2 - obj.Position).sqrMagnitude) + { + cluster1.Add(obj); + } + else + { + cluster2.Add(obj); + } + } + + oldHash1 = hash1; + oldHash2 = hash2; + hash1 = ClusterUtils.GetPointsHash(cluster1); + hash2 = ClusterUtils.GetPointsHash(cluster2); + } + + markClean(); + } + + private bool checkClusters() + { + var length = points.Count - 1; + if (length < 1) return false; + if (length == 1) + { + var p1 = points[0].Position; + var p2 = points[1].Position; + var dx = p1.x - p2.x; + var dy = p1.y - p2.y; + if (dx * dx + dy * dy >= minPointDistanceSqr) return true; + return false; + } + + for (var i = 0; i < length; i++) + { + for (var j = i + 1; j <= length; j++) + { + var p1 = points[i].Position; + var p2 = points[j].Position; + var dx = p1.x - p2.x; + var dy = p1.y - p2.y; + if (dx * dx + dy * dy >= minPointDistanceSqr) return true; + } + } + return false; + } + + private void markDirty() + { + dirty = true; + } + + private void markClean() + { + dirty = false; + } + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Clusters/Clusters.cs.meta b/ThirdParty/TouchScript/Scripts/Clusters/Clusters.cs.meta new file mode 100644 index 000000000..663634cb1 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Clusters/Clusters.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 5b6085d6e46444dc7a6c9e673016b565 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/DebuggableMonoBehaviour.cs b/ThirdParty/TouchScript/Scripts/DebuggableMonoBehaviour.cs new file mode 100644 index 000000000..780a54bde --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/DebuggableMonoBehaviour.cs @@ -0,0 +1,42 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +#if TOUCHSCRIPT_DEBUG +using TouchScript.Utils.Attributes; +#endif +using UnityEngine; + +namespace TouchScript +{ + /// + /// A debuggable component. When built with TOUCHSCRIPT_DEBUG define has a checkbox to turn debug information on and off. + /// + public class DebuggableMonoBehaviour : MonoBehaviour, IDebuggable + { + /// + public bool DebugMode + { + get + { +#if TOUCHSCRIPT_DEBUG + return debugMode; +#else + return false; +#endif + } + set + { +#if TOUCHSCRIPT_DEBUG + debugMode = value; +#endif + } + } + +#if TOUCHSCRIPT_DEBUG + [SerializeField] + [ToggleLeft] + private bool debugMode = false; +#endif + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/DebuggableMonoBehaviour.cs.meta b/ThirdParty/TouchScript/Scripts/DebuggableMonoBehaviour.cs.meta new file mode 100644 index 000000000..e34342dbc --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/DebuggableMonoBehaviour.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c0727eb6299e14d74accd8ae22d26fec +timeCreated: 1447582131 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/Devices.meta b/ThirdParty/TouchScript/Scripts/Devices.meta similarity index 67% rename from ThirdParty/TouchScript/Examples/Devices.meta rename to ThirdParty/TouchScript/Scripts/Devices.meta index 5447ba24d..a816a56d4 100644 --- a/ThirdParty/TouchScript/Examples/Devices.meta +++ b/ThirdParty/TouchScript/Scripts/Devices.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 -guid: 015a75a52390cb54ab243c58b777d403 +guid: 0f0d02fafb4b84027a26a4f6d7869eb7 folderAsset: yes -timeCreated: 1445027516 +timeCreated: 1447582128 licenseType: Pro DefaultImporter: userData: diff --git a/ThirdParty/TouchScript/Examples/Devices/Display.meta b/ThirdParty/TouchScript/Scripts/Devices/Display.meta similarity index 67% rename from ThirdParty/TouchScript/Examples/Devices/Display.meta rename to ThirdParty/TouchScript/Scripts/Devices/Display.meta index 358722acf..a2b554cce 100644 --- a/ThirdParty/TouchScript/Examples/Devices/Display.meta +++ b/ThirdParty/TouchScript/Scripts/Devices/Display.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 -guid: 7c4da54dcaf9ffd4a98ed42a83468d18 +guid: 7d2c38e5cc5ea4b4281bbbba6206ae38 folderAsset: yes -timeCreated: 1445027517 +timeCreated: 1447582128 licenseType: Pro DefaultImporter: userData: diff --git a/ThirdParty/TouchScript/Scripts/Devices/Display/DisplayDevice.cs b/ThirdParty/TouchScript/Scripts/Devices/Display/DisplayDevice.cs new file mode 100644 index 000000000..8958d8468 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Devices/Display/DisplayDevice.cs @@ -0,0 +1,52 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using UnityEngine; + +namespace TouchScript.Devices.Display +{ + /// + /// A simple display device which inherits from and can be saved in Unity assets. + /// + public class DisplayDevice : ScriptableObject, IDisplayDevice + { + /// + public string Name + { + get { return name; } + set + { + name = value; + base.name = value; + } + } + + /// + public virtual float DPI + { + get { return dpi; } + set { dpi = value; } + } + + /// + /// Serialized device name. + /// + [SerializeField] + protected new string name = "Unknown Device"; + + /// + /// Serialized device DPI. + /// + [SerializeField] + protected float dpi = 96; + + /// + /// OnEnable Unity method. + /// + protected virtual void OnEnable() + { + base.name = name; + } + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Devices/Display/DisplayDevice.cs.meta b/ThirdParty/TouchScript/Scripts/Devices/Display/DisplayDevice.cs.meta new file mode 100644 index 000000000..14d5bd4fe --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Devices/Display/DisplayDevice.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3bb766ec5aebe4332b86a7b9b50eb01d +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Devices/Display/GenericDisplayDevice.cs b/ThirdParty/TouchScript/Scripts/Devices/Display/GenericDisplayDevice.cs new file mode 100644 index 000000000..733f28f7e --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Devices/Display/GenericDisplayDevice.cs @@ -0,0 +1,138 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System.Text.RegularExpressions; +using UnityEngine; + +namespace TouchScript.Devices.Display +{ + /// + /// Display device which tries to guess current DPI if it's not set by platform. + /// + public class GenericDisplayDevice : DisplayDevice + { + internal static bool INTERNAL_IsLaptop + { + get + { + if (isLaptop == null) + { + var gpuName = SystemInfo.graphicsDeviceName.ToLower(); + var regex = new Regex(@"^(.*mobile.*|intel hd graphics.*|.*m\s*(series)?\s*(opengl engine)?)$", RegexOptions.IgnoreCase); + if (regex.IsMatch(gpuName)) isLaptop = true; + else isLaptop = false; + } + return isLaptop == true; + } + } + + private static bool? isLaptop = null; + + /// + protected override void OnEnable() + { + base.OnEnable(); + + Name = Application.platform.ToString(); + if (INTERNAL_IsLaptop) Name += " (Laptop)"; + + dpi = Screen.dpi; + if (dpi < float.Epsilon) + { + // Calculations based on http://en.wikipedia.org/wiki/List_of_displays_by_pixel_density and probability + switch (Application.platform) + { + case RuntimePlatform.OSXEditor: + case RuntimePlatform.OSXDashboardPlayer: + case RuntimePlatform.OSXPlayer: + case RuntimePlatform.OSXWebPlayer: + case RuntimePlatform.WindowsEditor: + case RuntimePlatform.WindowsPlayer: + case RuntimePlatform.WindowsWebPlayer: + case RuntimePlatform.LinuxPlayer: + { + var width = Mathf.Max(Screen.currentResolution.width, Screen.currentResolution.height); + var height = Mathf.Min(Screen.currentResolution.width, Screen.currentResolution.height); + + if (width >= 3840) + { + if (height <= 2160) dpi = 150; // 28-31" + else dpi = 200; + } + else if (width >= 2880 && height == 1800) dpi = 220; // 15" retina + else if (width >= 2560) + { + if (height >= 1600) + { + if (INTERNAL_IsLaptop) dpi = 226; // 13.3" retina + else dpi = 101; // 30" display + } + else if (height >= 1440) dpi = 109; // 27" iMac + } + else if (width >= 2048) + { + if (height <= 1152) dpi = 100; // 23-27" + else dpi = 171; // 15" laptop + } + else if (width >= 1920) + { + if (height >= 1440) dpi = 110; // 24" + else if (height >= 1200) dpi = 90; // 26-27" + else if (height >= 1080) + { + if (INTERNAL_IsLaptop) dpi = 130; // 15" - 18" laptop + else dpi = 92; // +-24" display + } + } + else if (width >= 1680) dpi = 129; // 15" laptop + else if (width >= 1600) dpi = 140; // 13" laptop + else if (width >= 1440) + { + if (height >= 1050) dpi = 125; // 14" laptop + else dpi = 110; // 13" air or 15" macbook pro + } + else if (width >= 1366) dpi = 125; // 10"-14" laptops + else if (width >= 1280) dpi = 110; + else dpi = 96; + break; + } + case RuntimePlatform.Android: + { + var width = Mathf.Max(Screen.currentResolution.width, Screen.currentResolution.height); + var height = Mathf.Min(Screen.currentResolution.width, Screen.currentResolution.height); + if (width >= 1280) + { + if (height >= 800) dpi = 285; //Galaxy Note + else dpi = 312; //Galaxy S3, Xperia S + } + else if (width >= 1024) dpi = 171; // Galaxy Tab + else if (width >= 960) dpi = 256; // Sensation + else if (width >= 800) dpi = 240; // Galaxy S2... + else dpi = 160; + break; + } + case RuntimePlatform.IPhonePlayer: + { + var width = Mathf.Max(Screen.currentResolution.width, Screen.currentResolution.height); +// var height = Mathf.Min(Screen.currentResolution.width, Screen.currentResolution.height); + if (width >= 2048) dpi = 290; // iPad4 or ipad2 mini + else if (width >= 1136) dpi = 326; // iPhone 5+ + else if (width >= 1024) dpi = 160; // iPad mini1 + else if (width >= 960) dpi = 326; // iPhone 4+ + else dpi = 160; + break; + } + case RuntimePlatform.WSAPlayerARM: + case RuntimePlatform.WSAPlayerX64: + case RuntimePlatform.WSAPlayerX86: + dpi = 160; + break; + case RuntimePlatform.WP8Player: + dpi = 160; + break; + } + } + } + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Devices/Display/GenericDisplayDevice.cs.meta b/ThirdParty/TouchScript/Scripts/Devices/Display/GenericDisplayDevice.cs.meta new file mode 100644 index 000000000..796ec6ada --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Devices/Display/GenericDisplayDevice.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0896e97c8d8484717ae2c80c241157d9 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Devices/Display/IDisplayDevice.cs b/ThirdParty/TouchScript/Scripts/Devices/Display/IDisplayDevice.cs new file mode 100644 index 000000000..21e3e3c78 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Devices/Display/IDisplayDevice.cs @@ -0,0 +1,28 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +namespace TouchScript.Devices.Display +{ + /// + /// Represents a device which is used to display touch interface. Incapsulating such properties as . + /// + /// + /// TouchScript uses display device to calculate gesture properties based on device's DPI. This makes it possible to have the same experience on mobile devices with high DPI and large touch surfaces which have low DPI. + /// Current instance of can be accessed via . + /// + public interface IDisplayDevice + { + /// + /// Gets or sets the name of display device. + /// + /// The name of display device. + string Name { get; set; } + + /// + /// Gets or sets DPI of display device. + /// + /// DPI used by display device. + float DPI { get; set; } + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Devices/Display/IDisplayDevice.cs.meta b/ThirdParty/TouchScript/Scripts/Devices/Display/IDisplayDevice.cs.meta new file mode 100644 index 000000000..c6df6b8f4 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Devices/Display/IDisplayDevice.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4abf92e08a63c4a26805b5917d5e0c64 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/GestureManager.cs b/ThirdParty/TouchScript/Scripts/GestureManager.cs new file mode 100644 index 000000000..e1654ef65 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/GestureManager.cs @@ -0,0 +1,26 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using UnityEngine; + +namespace TouchScript +{ + /// + /// Facade for current instance of . + /// + public sealed class GestureManager : MonoBehaviour + { + #region Public properties + + /// + /// Gets the GestureManager instance. + /// + public static IGestureManager Instance + { + get { return GestureManagerInstance.Instance; } + } + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/GestureManager.cs.meta b/ThirdParty/TouchScript/Scripts/GestureManager.cs.meta new file mode 100644 index 000000000..9056a3eec --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/GestureManager.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8e601f7600f944e56ac4d76e112fd154 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/GestureManagerInstance.cs b/ThirdParty/TouchScript/Scripts/GestureManagerInstance.cs new file mode 100644 index 000000000..6bb0b106f --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/GestureManagerInstance.cs @@ -0,0 +1,488 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System; +using System.Collections.Generic; +using TouchScript.Gestures; +using TouchScript.Utils; +using UnityEngine; + +namespace TouchScript +{ + /// + /// Internal implementation of . + /// + internal sealed class GestureManagerInstance : MonoBehaviour, IGestureManager + { + #region Public properties + + public static IGestureManager Instance + { + get + { + if (shuttingDown) return null; + if (instance == null) + { + if (!Application.isPlaying) return null; + var objects = FindObjectsOfType(); + if (objects.Length == 0) + { + var go = new GameObject("GestureManager Instance"); + instance = go.AddComponent(); + } + else if (objects.Length >= 1) + { + instance = objects[0]; + } + } + return instance; + } + } + + public IGestureDelegate GlobalGestureDelegate { get; set; } + + #endregion + + #region Private variables + + private static GestureManagerInstance instance; + private static bool shuttingDown = false; + + // Upcoming changes + private List gesturesToReset = new List(20); + + private Action _updateBegan, _updateMoved, _updateEnded, _updateCancelled; + private Action _processTarget, _processTargetBegan; + + #endregion + + #region Temporary variables + + // Temporary variables for update methods. + private List activeGestures = new List(20); + + private static ObjectPool> gestureListPool = new ObjectPool>(10, + () => new List(20), null, (l) => l.Clear()); + + #endregion + + #region Unity + + private void Awake() + { + if (instance == null) + { + instance = this; + } + else if (instance != this) + { + Destroy(this); + return; + } + + gameObject.hideFlags = HideFlags.HideInHierarchy; + DontDestroyOnLoad(gameObject); + + _processTarget = processTarget; + _processTargetBegan = processTargetBegan; + _updateBegan = doUpdateBegan; + _updateMoved = doUpdateMoved; + _updateEnded = doUpdateEnded; + _updateCancelled = doUpdateCancelled; + + gestureListPool.WarmUp(5); + } + + private void OnEnable() + { + var touchManager = TouchManager.Instance; + if (touchManager != null) + { + touchManager.FrameStarted += frameStartedHandler; + touchManager.FrameFinished += frameFinishedHandler; + touchManager.TouchBegan += touchBeganHandler; + touchManager.TouchMoved += touchMovedHandler; + touchManager.TouchEnded += touchEndedHandler; + touchManager.TouchCancelled += touchCancelledHandler; + } + } + + private void OnDisable() + { + var touchManager = TouchManager.Instance; + if (touchManager != null) + { + touchManager.FrameStarted -= frameStartedHandler; + touchManager.FrameFinished -= frameFinishedHandler; + touchManager.TouchBegan -= touchBeganHandler; + touchManager.TouchMoved -= touchMovedHandler; + touchManager.TouchEnded -= touchEndedHandler; + touchManager.TouchCancelled -= touchCancelledHandler; + } + } + + private void OnApplicationQuit() + { + shuttingDown = true; + } + + #endregion + + #region Internal methods + + internal Gesture.GestureState INTERNAL_GestureChangeState(Gesture gesture, Gesture.GestureState state) + { + bool recognized = false; + switch (state) + { + case Gesture.GestureState.Possible: + break; + case Gesture.GestureState.Began: + switch (gesture.State) + { + case Gesture.GestureState.Possible: + break; + default: + print(String.Format("Gesture {0} erroneously tried to enter state {1} from state {2}", + new object[] {gesture, state, gesture.State})); + break; + } + recognized = recognizeGestureIfNotPrevented(gesture); + if (!recognized) + { + if (!gesturesToReset.Contains(gesture)) gesturesToReset.Add(gesture); + return Gesture.GestureState.Failed; + } + break; + case Gesture.GestureState.Changed: + switch (gesture.State) + { + case Gesture.GestureState.Began: + case Gesture.GestureState.Changed: + break; + default: + print(String.Format("Gesture {0} erroneously tried to enter state {1} from state {2}", + new object[] {gesture, state, gesture.State})); + break; + } + break; + case Gesture.GestureState.Failed: + if (!gesturesToReset.Contains(gesture)) gesturesToReset.Add(gesture); + break; + case Gesture.GestureState.Recognized: // Ended + if (!gesturesToReset.Contains(gesture)) gesturesToReset.Add(gesture); + switch (gesture.State) + { + case Gesture.GestureState.Possible: + recognized = recognizeGestureIfNotPrevented(gesture); + if (!recognized) + { + return Gesture.GestureState.Failed; + } + break; + case Gesture.GestureState.Began: + case Gesture.GestureState.Changed: + break; + default: + print(string.Format("Gesture {0} erroneously tried to enter state {1} from state {2}", + new object[] {gesture, state, gesture.State})); + break; + } + break; + case Gesture.GestureState.Cancelled: + if (!gesturesToReset.Contains(gesture)) gesturesToReset.Add(gesture); + break; + } + + return state; + } + + #endregion + + #region Private functions + + private void doUpdateBegan(Gesture gesture, TouchPoint touch) + { + gesture.INTERNAL_TouchBegan(touch); + } + + private void doUpdateMoved(Gesture gesture, TouchPoint touch) + { + gesture.INTERNAL_TouchMoved(touch); + } + + private void doUpdateEnded(Gesture gesture, TouchPoint touch) + { + gesture.INTERNAL_TouchEnded(touch); + } + + private void doUpdateCancelled(Gesture gesture, TouchPoint touch) + { + gesture.INTERNAL_TouchCancelled(touch); + } + + private void update(TouchPoint touch, Action process, + Action dispatch) + { + // WARNING! Arcane magic ahead! + // gestures which got any touch points + // needed because there's no order in dictionary + activeGestures.Clear(); + + if (touch.Target != null) process(touch.Target, touch); + var count = activeGestures.Count; + for (var i = 0; i < count; i++) + { + var gesture = activeGestures[i]; + if (gestureIsActive(gesture)) dispatch(gesture, touch); + } + } + + private void processTarget(Transform target, TouchPoint touch) + { + // gestures on objects in the hierarchy from "root" to target + var endingList = gestureListPool.Get(); + getHierarchyEndingWith(target, endingList); + + var count = endingList.Count; + for (var i = 0; i < count; i++) + { + var gesture = endingList[i]; + if (!gestureIsActive(gesture)) continue; + + if (gesture.HasTouch(touch)) activeGestures.Add(gesture); + } + gestureListPool.Release(endingList); + } + + private void processTargetBegan(Transform target, TouchPoint touch) + { + var containingList = gestureListPool.Get(); + var endingList = gestureListPool.Get(); + + // gestures in the target's hierarchy which might affect gesture on the target + getHierarchyContaining(target, containingList); + // gestures on objects in the hierarchy from "root" to target + getHierarchyEndingWith(target, endingList); + var count = endingList.Count; + for (var i = 0; i < count; i++) + { + var gesture = endingList[i]; + // WARNING! Gestures might change during this loop. + // For example when one of them recognizes. + if (!gestureIsActive(gesture)) continue; + + var canReceiveTouches = true; + var activeCount = containingList.Count; + for (var j = 0; j < activeCount; j++) + { + var activeGesture = containingList[j]; + + if (gesture == activeGesture) continue; + if ((activeGesture.State == Gesture.GestureState.Began || + activeGesture.State == Gesture.GestureState.Changed) && + (canPreventGesture(activeGesture, gesture))) + { + // there's a started gesture which prevents this one + canReceiveTouches = false; + break; + } + } + + if (canReceiveTouches && shouldReceiveTouch(gesture, touch)) activeGestures.Add(gesture); + } + + gestureListPool.Release(containingList); + gestureListPool.Release(endingList); + } + + private void resetGestures() + { + if (gesturesToReset.Count == 0) return; + + var count = gesturesToReset.Count; + for (var i = 0; i < count; i++) + { + var gesture = gesturesToReset[i]; + if (gesture == null) continue; + gesture.INTERNAL_Reset(); + gesture.INTERNAL_SetState(Gesture.GestureState.Possible); + } + gesturesToReset.Clear(); + } + + // parent <- parent <- target + private void getHierarchyEndingWith(Transform target, List outputList) + { + while (target != null) + { + getEnabledGesturesOnTarget(target, outputList); + target = target.parent; + } + } + + // target <- child* + private void getHierarchyBeginningWith(Transform target, List outputList, bool includeSelf) + { + if (includeSelf) + { + getEnabledGesturesOnTarget(target, outputList); + } + + var count = target.childCount; + for (var i = 0; i < count; i++) + { + getHierarchyBeginningWith(target.GetChild(i), outputList, true); + } + } + + private void getHierarchyContaining(Transform target, List outputList) + { + getHierarchyEndingWith(target, outputList); + getHierarchyBeginningWith(target, outputList, false); + } + + private void getEnabledGesturesOnTarget(Transform target, List outputList) + { + if (target.gameObject.activeInHierarchy) + { + var list = gestureListPool.Get(); + target.GetComponents(list); + var count = list.Count; + for (var i = 0; i < count; i++) + { + var gesture = list[i]; + if (gesture != null && gesture.enabled) outputList.Add(gesture); + } + gestureListPool.Release(list); + } + } + + private bool gestureIsActive(Gesture gesture) + { + if (gesture.gameObject.activeInHierarchy == false) return false; + if (gesture.enabled == false) return false; + switch (gesture.State) + { + case Gesture.GestureState.Failed: + case Gesture.GestureState.Recognized: + case Gesture.GestureState.Cancelled: + return false; + default: + return true; + } + } + + private bool recognizeGestureIfNotPrevented(Gesture gesture) + { + if (!shouldBegin(gesture)) return false; + + var gesturesToFail = gestureListPool.Get(); + var gesturesInHierarchy = gestureListPool.Get(); + bool canRecognize = true; + getHierarchyContaining(gesture.transform, gesturesInHierarchy); + + var count = gesturesInHierarchy.Count; + for (var i = 0; i < count; i++) + { + var otherGesture = gesturesInHierarchy[i]; + if (gesture == otherGesture) continue; + if (!gestureIsActive(otherGesture)) continue; + + if (otherGesture.State == Gesture.GestureState.Began || + otherGesture.State == Gesture.GestureState.Changed) + { + if (canPreventGesture(otherGesture, gesture)) + { + canRecognize = false; + break; + } + } + else + { + if (canPreventGesture(gesture, otherGesture)) + { + gesturesToFail.Add(otherGesture); + } + } + } + + if (canRecognize) + { + count = gesturesToFail.Count; + for (var i = 0; i < count; i++) + { + failGesture(gesturesToFail[i]); + } + } + + gestureListPool.Release(gesturesToFail); + gestureListPool.Release(gesturesInHierarchy); + + return canRecognize; + } + + private void failGesture(Gesture gesture) + { + gesture.INTERNAL_SetState(Gesture.GestureState.Failed); + } + + private bool shouldReceiveTouch(Gesture gesture, TouchPoint touch) + { + bool result = true; + if (GlobalGestureDelegate != null) result = GlobalGestureDelegate.ShouldReceiveTouch(gesture, touch); + return result && gesture.ShouldReceiveTouch(touch); + } + + private bool shouldBegin(Gesture gesture) + { + bool result = true; + if (GlobalGestureDelegate != null) result = GlobalGestureDelegate.ShouldBegin(gesture); + return result && gesture.ShouldBegin(); + } + + private bool canPreventGesture(Gesture first, Gesture second) + { + bool result = true; + if (GlobalGestureDelegate != null) result = !GlobalGestureDelegate.ShouldRecognizeSimultaneously(first, second); + return result && first.CanPreventGesture(second); + } + + #endregion + + #region Touch events handlers + + private void frameFinishedHandler(object sender, EventArgs eventArgs) + { + resetGestures(); + } + + private void frameStartedHandler(object sender, EventArgs eventArgs) + { + resetGestures(); + } + + private void touchBeganHandler(object sender, TouchEventArgs touchEventArgs) + { + update(touchEventArgs.Touch, _processTargetBegan, _updateBegan); + } + + private void touchMovedHandler(object sender, TouchEventArgs touchEventArgs) + { + update(touchEventArgs.Touch, _processTarget, _updateMoved); + } + + private void touchEndedHandler(object sender, TouchEventArgs touchEventArgs) + { + update(touchEventArgs.Touch, _processTarget, _updateEnded); + } + + private void touchCancelledHandler(object sender, TouchEventArgs touchEventArgs) + { + update(touchEventArgs.Touch, _processTarget, _updateCancelled); + } + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/GestureManagerInstance.cs.meta b/ThirdParty/TouchScript/Scripts/GestureManagerInstance.cs.meta new file mode 100644 index 000000000..6b2838c29 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/GestureManagerInstance.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0a69204e9cef74e54ae7e617cc267b6e +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Gestures.meta b/ThirdParty/TouchScript/Scripts/Gestures.meta new file mode 100644 index 000000000..45613e041 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c52b7151036da458387513f807f2f02c +folderAsset: yes +timeCreated: 1447582128 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Gestures/Base.meta b/ThirdParty/TouchScript/Scripts/Gestures/Base.meta new file mode 100644 index 000000000..849b7c611 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/Base.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 017fe8bb6694f41d994967e3e61b197c +folderAsset: yes +timeCreated: 1447582128 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Gestures/Base/PinnedTransformGestureBase.cs b/ThirdParty/TouchScript/Scripts/Gestures/Base/PinnedTransformGestureBase.cs new file mode 100644 index 000000000..c8c0ad943 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/Base/PinnedTransformGestureBase.cs @@ -0,0 +1,445 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System; +using System.Collections.Generic; +using TouchScript.Layers; +using TouchScript.Utils; +using UnityEngine; + +#if TOUCHSCRIPT_DEBUG +using System.Collections; +using TouchScript.Utils.Debug; +#endif + +namespace TouchScript.Gestures.Base +{ + /// + /// Abstract base class for Pinned Transform Gestures. + /// + public abstract class PinnedTrasformGestureBase : Gesture + { + #region Constants + + /// + /// Types of transformation. + /// + [Flags] + public enum TransformType + { + /// + /// Rotation. + /// + Rotation = 0x2, + + /// + /// Scaling. + /// + Scaling = 0x4 + } + + /// + /// Message name when gesture starts + /// + public const string TRANSFORM_START_MESSAGE = "OnTransformStart"; + + /// + /// Message name when gesture updates + /// + public const string TRANSFORM_MESSAGE = "OnTransform"; + + /// + /// Message name when gesture ends + /// + public const string TRANSFORM_COMPLETE_MESSAGE = "OnTransformComplete"; + + #endregion + + #region Events + + /// + public event EventHandler TransformStarted + { + add { transformStartedInvoker += value; } + remove { transformStartedInvoker -= value; } + } + + /// + public event EventHandler Transformed + { + add { transformedInvoker += value; } + remove { transformedInvoker -= value; } + } + + /// + public event EventHandler TransformCompleted + { + add { transformCompletedInvoker += value; } + remove { transformCompletedInvoker -= value; } + } + + // Needed to overcome iOS AOT limitations + private EventHandler transformStartedInvoker, transformedInvoker, transformCompletedInvoker; + + #endregion + + #region Public properties + + /// + /// Gets or sets types of transformation this gesture supports. + /// + /// Type flags. + public TransformType Type + { + get { return type; } + set { type = value; } + } + + /// + /// Gets or sets minimum distance in cm for touch points to move for gesture to begin. + /// + /// Minimum value in cm user must move their fingers to start this gesture. + public float ScreenTransformThreshold + { + get { return screenTransformThreshold; } + set + { + screenTransformThreshold = value; + updateScreenTransformThreshold(); + } + } + + /// + /// Gets delta rotation between this frame and last frame in degrees. + /// + public float DeltaRotation + { + get { return deltaRotation; } + } + + /// + /// Contains local delta scale when gesture is recognized. + /// Value is between 0 and +infinity, where 1 is no scale, 0.5 is scaled in half, 2 scaled twice. + /// + public float DeltaScale + { + get { return deltaScale; } + } + + /// + public override Vector2 ScreenPosition + { + get + { + if (NumTouches == 0) return TouchManager.INVALID_POSITION; + return activeTouches[0].Position; + } + } + + /// + public override Vector2 PreviousScreenPosition + { + get + { + if (NumTouches == 0) return TouchManager.INVALID_POSITION; + return activeTouches[0].PreviousPosition; + } + } + + #endregion + + #region Private variables + + /// + /// in pixels. + /// + protected float screenTransformPixelThreshold; + + /// + /// in pixels squared. + /// + protected float screenTransformPixelThresholdSquared; + + /// + /// The cached collider. + /// + protected Collider cachedCollider; + + /// + /// Calculated delta rotation. + /// + protected float deltaRotation; + + /// + /// Calculated delta scale. + /// + protected float deltaScale; + + /// + /// Translation buffer. + /// + protected Vector2 screenPixelTranslationBuffer; + + /// + /// Rotation buffer. + /// + protected float screenPixelRotationBuffer; + + /// + /// Angle buffer. + /// + protected float angleBuffer; + + /// + /// Screen space scaling buffer. + /// + protected float screenPixelScalingBuffer; + + /// + /// Scaling buffer. + /// + protected float scaleBuffer; + + /// + /// Indicates whether transformation started; + /// + protected bool isTransforming = false; + + /// + /// Touches moved this frame. + /// + protected List movedTouches = new List(5); + + /// + /// Layer projection parameters. + /// + protected ProjectionParams projectionParams; + + [SerializeField] + private TransformType type = TransformType.Scaling | TransformType.Rotation; + + [SerializeField] + private float screenTransformThreshold = 0.1f; + + #endregion + + #region Unity methods + +#if TOUCHSCRIPT_DEBUG + /// + protected override void Awake() + { + base.Awake(); + + debugID = DebugHelper.GetDebugId(this); + debugTouchSize = Vector2.one * TouchManager.Instance.DotsPerCentimeter * 1.1f; + } +#endif + + /// + protected override void OnEnable() + { + base.OnEnable(); + + cachedCollider = GetComponent(); + updateScreenTransformThreshold(); + } + + #endregion + + #region Gesture callbacks + + /// + protected override void touchBegan(TouchPoint touch) + { + base.touchBegan(touch); + + if (activeTouches.Count == 1) projectionParams = activeTouches[0].ProjectionParams; + + if (touchesNumState == TouchesNumState.PassedMaxThreshold || + touchesNumState == TouchesNumState.PassedMinMaxThreshold) + { + switch (State) + { + case GestureState.Began: + case GestureState.Changed: + setState(GestureState.Ended); + break; + } + } + } + + /// + protected override void touchEnded(TouchPoint touch) + { + base.touchEnded(touch); + + if (touchesNumState == TouchesNumState.PassedMinThreshold) + { + switch (State) + { + case GestureState.Began: + case GestureState.Changed: + setState(GestureState.Ended); + break; + } + } + } + + /// + protected override void onBegan() + { + base.onBegan(); + if (transformStartedInvoker != null) transformStartedInvoker.InvokeHandleExceptions(this, EventArgs.Empty); + if (UseSendMessage && SendMessageTarget != null) + { + SendMessageTarget.SendMessage(TRANSFORM_START_MESSAGE, this, SendMessageOptions.DontRequireReceiver); + } + } + + /// + protected override void onChanged() + { + base.onChanged(); + if (transformedInvoker != null) transformedInvoker.InvokeHandleExceptions(this, EventArgs.Empty); + if (UseSendMessage && SendMessageTarget != null) + SendMessageTarget.SendMessage(TRANSFORM_MESSAGE, this, SendMessageOptions.DontRequireReceiver); + } + + /// + protected override void onRecognized() + { + base.onRecognized(); + + // need to clear moved touches updateMoved() wouldn't fire in a wrong state + // yes, if moved and released the same frame movement data will be lost + movedTouches.Clear(); + if (transformCompletedInvoker != null) + transformCompletedInvoker.InvokeHandleExceptions(this, EventArgs.Empty); + if (UseSendMessage && SendMessageTarget != null) + SendMessageTarget.SendMessage(TRANSFORM_COMPLETE_MESSAGE, this, SendMessageOptions.DontRequireReceiver); + } + + /// + protected override void onFailed() + { + base.onFailed(); + + movedTouches.Clear(); + } + + /// + protected override void onCancelled() + { + base.onCancelled(); + + movedTouches.Clear(); + } + + /// + protected override void reset() + { + base.reset(); + + deltaRotation = 0f; + deltaScale = 1f; + + screenPixelTranslationBuffer = Vector2.zero; + screenPixelRotationBuffer = 0f; + angleBuffer = 0; + screenPixelScalingBuffer = 0f; + scaleBuffer = 1f; + + movedTouches.Clear(); + isTransforming = false; + +#if TOUCHSCRIPT_DEBUG + clearDebug(); +#endif + } + + #endregion + + #region Protected methods + + /// + /// Checks if there are touch points in moved list which matter for the gesture. + /// + /// true if there are relevant touch points; false otherwise. + protected virtual bool relevantTouches() + { + // We care only about the first touch point + var count = movedTouches.Count; + for (var i = 0; i < count; i++) + { + if (movedTouches[i] == activeTouches[0]) return true; + } + return false; + } + + /// + /// Returns screen position of a point with index 0. + /// + protected virtual Vector2 getPointScreenPosition() + { + return activeTouches[0].Position; + } + + /// + /// Returns previous screen position of a point with index 0. + /// + protected virtual Vector2 getPointPreviousScreenPosition() + { + return activeTouches[0].PreviousPosition; + } + +#if TOUCHSCRIPT_DEBUG + protected int debugID; + protected Coroutine debugCoroutine; + protected Vector2 debugTouchSize; + + protected virtual void clearDebug() + { + GLDebug.RemoveFigure(debugID); + GLDebug.RemoveFigure(debugID + 1); + GLDebug.RemoveFigure(debugID + 2); + + if (debugCoroutine != null) StopCoroutine(debugCoroutine); + debugCoroutine = null; + } + + protected void drawDebugDelayed(Vector2 point1, Vector2 point2) + { + if (debugCoroutine != null) StopCoroutine(debugCoroutine); + debugCoroutine = StartCoroutine(doDrawDebug(point1, point2)); + } + + protected virtual void drawDebug(Vector2 point1, Vector2 point2) + { + var color = State == GestureState.Possible ? Color.red : Color.green; + GLDebug.DrawSquareScreenSpace(debugID + 1, point2, 0f, debugTouchSize, color, float.PositiveInfinity); + GLDebug.DrawLineScreenSpace(debugID + 2, point1, point2, color, float.PositiveInfinity); + } + + private IEnumerator doDrawDebug(Vector2 point1, Vector2 point2) + { + yield return new WaitForEndOfFrame(); + + drawDebug(point1, point2); + } +#endif + + #endregion + + #region Private functions + + private void updateScreenTransformThreshold() + { + screenTransformPixelThreshold = screenTransformThreshold * touchManager.DotsPerCentimeter; + screenTransformPixelThresholdSquared = screenTransformPixelThreshold * screenTransformPixelThreshold; + } + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Gestures/Base/PinnedTransformGestureBase.cs.meta b/ThirdParty/TouchScript/Scripts/Gestures/Base/PinnedTransformGestureBase.cs.meta new file mode 100644 index 000000000..c2963b904 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/Base/PinnedTransformGestureBase.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2e0b42362ebf8465e8b9e3dc274cc60a +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Gestures/Base/TransformGestureBase.cs b/ThirdParty/TouchScript/Scripts/Gestures/Base/TransformGestureBase.cs new file mode 100644 index 000000000..a8a900608 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/Base/TransformGestureBase.cs @@ -0,0 +1,765 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System; +using System.Collections.Generic; +using TouchScript.Layers; +using TouchScript.Utils; +using TouchScript.Utils.Geom; +using UnityEngine; + +#if TOUCHSCRIPT_DEBUG +using System.Collections; +using TouchScript.Utils.Debug; +#endif + +namespace TouchScript.Gestures.Base +{ + /// + /// Abstract base class for Transform Gestures. + /// + public abstract class TransformGestureBase : Gesture + { + #region Constants + + /// + /// Types of transformation. + /// + [Flags] + public enum TransformType + { + /// + /// Translation. + /// + Translation = 0x1, + + /// + /// Rotation. + /// + Rotation = 0x2, + + /// + /// Scaling. + /// + Scaling = 0x4 + } + + /// + /// Message name when gesture starts + /// + public const string TRANSFORM_START_MESSAGE = "OnTransformStart"; + + /// + /// Message name when gesture updates + /// + public const string TRANSFORM_MESSAGE = "OnTransform"; + + /// + /// Message name when gesture ends + /// + public const string TRANSFORM_COMPLETE_MESSAGE = "OnTransformComplete"; + + #endregion + + #region Events + + /// + public event EventHandler TransformStarted + { + add { transformStartedInvoker += value; } + remove { transformStartedInvoker -= value; } + } + + /// + public event EventHandler Transformed + { + add { transformedInvoker += value; } + remove { transformedInvoker -= value; } + } + + /// + public event EventHandler TransformCompleted + { + add { transformCompletedInvoker += value; } + remove { transformCompletedInvoker -= value; } + } + + // Needed to overcome iOS AOT limitations + private EventHandler transformStartedInvoker, transformedInvoker, transformCompletedInvoker; + + #endregion + + #region Public properties + + /// + /// Gets or sets types of transformation this gesture supports. + /// + /// Type flags. + public TransformType Type + { + get { return type; } + set { type = value; } + } + + /// + /// Gets or sets minimum distance between 2 points in cm for gesture to begin. + /// + /// Minimum distance. + public virtual float MinScreenPointsDistance + { + get { return minScreenPointsDistance; } + set + { + minScreenPointsDistance = value; + updateMinScreenPointsDistance(); + } + } + + /// + /// Gets or sets minimum distance in cm for touch points to move for gesture to begin. + /// + /// Minimum value in cm user must move their fingers to start this gesture. + public float ScreenTransformThreshold + { + get { return screenTransformThreshold; } + set + { + screenTransformThreshold = value; + updateScreenTransformThreshold(); + } + } + + /// + /// Gets delta position between this frame and the last frame in world coordinates. + /// + public Vector3 DeltaPosition + { + get { return deltaPosition; } + } + + /// + /// Gets delta rotation between this frame and last frame in degrees. + /// + public float DeltaRotation + { + get { return deltaRotation; } + } + + /// + /// Contains local delta scale when gesture is recognized. + /// Value is between 0 and +infinity, where 1 is no scale, 0.5 is scaled in half, 2 scaled twice. + /// + public float DeltaScale + { + get { return deltaScale; } + } + + /// + public override Vector2 ScreenPosition + { + get + { + if (NumTouches == 0) return TouchManager.INVALID_POSITION; + if (NumTouches == 1) return activeTouches[0].Position; + return (getPointScreenPosition(0) + getPointScreenPosition(1)) * .5f; + } + } + + /// + public override Vector2 PreviousScreenPosition + { + get + { + if (NumTouches == 0) return TouchManager.INVALID_POSITION; + if (NumTouches == 1) return activeTouches[0].PreviousPosition; + return (getPointPreviousScreenPosition(0) + getPointPreviousScreenPosition(1)) * .5f; + } + } + + #endregion + + #region Private variables + + /// + /// in pixels for internal use. + /// + protected float minScreenPointsPixelDistance; + + /// + /// squared in pixels for internal use. + /// + protected float minScreenPointsPixelDistanceSquared; + + /// + /// in pixels. + /// + protected float screenTransformPixelThreshold; + + /// + /// in pixels squared. + /// + protected float screenTransformPixelThresholdSquared; + + /// + /// Calculated delta position. + /// + protected Vector3 deltaPosition; + + /// + /// Calculated delta rotation. + /// + protected float deltaRotation; + + /// + /// Calculated delta scale. + /// + protected float deltaScale; + + /// + /// Translation buffer. + /// + protected Vector2 screenPixelTranslationBuffer; + + /// + /// Rotation buffer. + /// + protected float screenPixelRotationBuffer; + + /// + /// Angle buffer. + /// + protected float angleBuffer; + + /// + /// Screen space scaling buffer. + /// + protected float screenPixelScalingBuffer; + + /// + /// Scaling buffer. + /// + protected float scaleBuffer; + + /// + /// Indicates whether transformation started; + /// + protected bool isTransforming = false; + + /// + /// Touches moved this frame. + /// + protected List movedTouches = new List(5); + + /// + /// Layer projection parameters. + /// + protected ProjectionParams projectionParams; + + [SerializeField] + private TransformType type = TransformType.Translation | TransformType.Scaling | + TransformType.Rotation; + + [SerializeField] + private float minScreenPointsDistance = 0.5f; + + [SerializeField] + private float screenTransformThreshold = 0.1f; + + #endregion + + #region Unity methods + +#if TOUCHSCRIPT_DEBUG + /// + protected override void Awake() + { + base.Awake(); + + debugID = DebugHelper.GetDebugId(this); + debugTouchSize = Vector2.one*TouchManager.Instance.DotsPerCentimeter*1.1f; + } +#endif + + /// + protected override void OnEnable() + { + base.OnEnable(); + + updateMinScreenPointsDistance(); + updateScreenTransformThreshold(); + + TouchManager.Instance.FrameFinished += frameFinishedHandler; + } + + /// + protected override void OnDisable() + { + base.OnDisable(); + + if (TouchManager.Instance != null) TouchManager.Instance.FrameFinished -= frameFinishedHandler; + } + + #endregion + + #region Gesture callbacks + + /// + protected override void touchBegan(TouchPoint touch) + { + base.touchBegan(touch); + + if (NumTouches == 1) projectionParams = activeTouches[0].ProjectionParams; + + if (touchesNumState == TouchesNumState.PassedMaxThreshold || + touchesNumState == TouchesNumState.PassedMinMaxThreshold) + { + switch (State) + { + case GestureState.Began: + case GestureState.Changed: + setState(GestureState.Ended); + break; + } + } +#if TOUCHSCRIPT_DEBUG + else drawDebugDelayed(getNumPoints()); +#endif + } + + /// + protected override void touchMoved(TouchPoint touch) + { + base.touchMoved(touch); + + movedTouches.Add(touch); + } + + /// + protected override void touchEnded(TouchPoint touch) + { + base.touchEnded(touch); + + if (touchesNumState == TouchesNumState.PassedMinThreshold) + { + switch (State) + { + case GestureState.Began: + case GestureState.Changed: + setState(GestureState.Ended); + break; + } + } + +#if TOUCHSCRIPT_DEBUG + else drawDebugDelayed(getNumPoints()); +#endif + } + + /// + protected override void onBegan() + { + base.onBegan(); + if (transformStartedInvoker != null) transformStartedInvoker.InvokeHandleExceptions(this, EventArgs.Empty); + if (UseSendMessage && SendMessageTarget != null) + { + SendMessageTarget.SendMessage(TRANSFORM_START_MESSAGE, this, SendMessageOptions.DontRequireReceiver); + } + } + + /// + protected override void onChanged() + { + base.onChanged(); + if (transformedInvoker != null) transformedInvoker.InvokeHandleExceptions(this, EventArgs.Empty); + if (UseSendMessage && SendMessageTarget != null) + SendMessageTarget.SendMessage(TRANSFORM_MESSAGE, this, SendMessageOptions.DontRequireReceiver); + } + + /// + protected override void onRecognized() + { + base.onRecognized(); + + // need to clear moved touches updateMoved() wouldn't fire in a wrong state + // if moved and released the same frame movement data will be lost + movedTouches.Clear(); + if (transformCompletedInvoker != null) + transformCompletedInvoker.InvokeHandleExceptions(this, EventArgs.Empty); + if (UseSendMessage && SendMessageTarget != null) + SendMessageTarget.SendMessage(TRANSFORM_COMPLETE_MESSAGE, this, SendMessageOptions.DontRequireReceiver); + } + + /// + protected override void onFailed() + { + base.onFailed(); + + movedTouches.Clear(); + } + + /// + protected override void onCancelled() + { + base.onCancelled(); + + movedTouches.Clear(); + } + + /// + protected override void reset() + { + base.reset(); + + deltaPosition = Vector3.zero; + deltaRotation = 0f; + deltaScale = 1f; + + screenPixelTranslationBuffer = Vector2.zero; + screenPixelRotationBuffer = 0f; + angleBuffer = 0; + screenPixelScalingBuffer = 0f; + scaleBuffer = 1f; + + movedTouches.Clear(); + isTransforming = false; + +#if TOUCHSCRIPT_DEBUG + clearDebug(); +#endif + } + + #endregion + + #region Protected methods + + /// + /// Calculates rotation. + /// + /// Finger one old screen position. + /// Finger two old screen position. + /// Finger one new screen position. + /// Finger two new screen position. + /// Layer projection parameters. + /// Angle in degrees. + protected virtual float doRotation(Vector2 oldScreenPos1, Vector2 oldScreenPos2, Vector2 newScreenPos1, + Vector2 newScreenPos2, ProjectionParams projectionParams) + { + return 0; + } + + /// + /// Calculates scaling. + /// + /// Finger one old screen position. + /// Finger two old screen position. + /// Finger one new screen position. + /// Finger two new screen position. + /// Layer projection parameters. + /// Multiplicative delta scaling. + protected virtual float doScaling(Vector2 oldScreenPos1, Vector2 oldScreenPos2, Vector2 newScreenPos1, + Vector2 newScreenPos2, ProjectionParams projectionParams) + { + return 1; + } + + /// + /// Calculates single finger translation. + /// + /// Finger old screen position. + /// Finger new screen position. + /// Layer projection parameters. + /// Delta translation vector. + protected virtual Vector3 doOnePointTranslation(Vector2 oldScreenPos, Vector2 newScreenPos, + ProjectionParams projectionParams) + { + return Vector3.zero; + } + + /// + /// Calculated two finger translation with respect to rotation and scaling. + /// + /// Finger one old screen position. + /// Finger two old screen position. + /// Finger one new screen position. + /// Finger two new screen position. + /// Calculated delta rotation. + /// Calculated delta scaling. + /// Layer projection parameters. + /// Delta translation vector. + protected virtual Vector3 doTwoPointTranslation(Vector2 oldScreenPos1, Vector2 oldScreenPos2, + Vector2 newScreenPos1, Vector2 newScreenPos2, float dR, float dS, ProjectionParams projectionParams) + { + return Vector3.zero; + } + + /// + /// Gets the number of points. + /// + /// Number of points. + protected virtual int getNumPoints() + { + return NumTouches; + } + + /// + /// Checks if there are touch points in moved list which matter for the gesture. + /// + /// true if there are relevant touch points; false otherwise. + protected virtual bool relevantTouches1() + { + // We care only about the first touch point + var count = movedTouches.Count; + for (var i = 0; i < count; i++) + { + if (movedTouches[i] == activeTouches[0]) return true; + } + return false; + } + + /// + /// Checks if there are touch points in moved list which matter for the gesture. + /// + /// true if there are relevant touch points; false otherwise. + protected virtual bool relevantTouches2() + { + // We care only about the first and the second touch points + var count = movedTouches.Count; + for (var i = 0; i < count; i++) + { + var touch = movedTouches[i]; + if (touch == activeTouches[0] || touch == activeTouches[1]) return true; + } + return false; + } + + /// + /// Returns screen position of a point with index 0 or 1 + /// + /// The index. + protected virtual Vector2 getPointScreenPosition(int index) + { + return activeTouches[index].Position; + } + + /// + /// Returns previous screen position of a point with index 0 or 1 + /// + /// The index. + protected virtual Vector2 getPointPreviousScreenPosition(int index) + { + return activeTouches[index].PreviousPosition; + } + +#if TOUCHSCRIPT_DEBUG + protected int debugID; + protected Coroutine debugCoroutine; + protected Vector2 debugTouchSize; + + protected virtual void clearDebug() + { + GLDebug.RemoveFigure(debugID); + GLDebug.RemoveFigure(debugID + 1); + GLDebug.RemoveFigure(debugID + 2); + + if (debugCoroutine != null) StopCoroutine(debugCoroutine); + debugCoroutine = null; + } + + protected void drawDebugDelayed(int touchPoints) + { + if (debugCoroutine != null) StopCoroutine(debugCoroutine); + debugCoroutine = StartCoroutine(doDrawDebug(touchPoints)); + } + + protected virtual void drawDebug(int touchPoints) + { + if (!DebugMode) return; + + var color = State == GestureState.Possible ? Color.red : Color.green; + switch (touchPoints) + { + case 1: + GLDebug.DrawSquareScreenSpace(debugID, getPointScreenPosition(0), 0f, debugTouchSize, color, + float.PositiveInfinity); + GLDebug.RemoveFigure(debugID + 1); + GLDebug.RemoveFigure(debugID + 2); + break; + default: + var newScreenPos1 = getPointScreenPosition(0); + var newScreenPos2 = getPointScreenPosition(1); + GLDebug.DrawSquareScreenSpace(debugID, newScreenPos1, 0f, debugTouchSize, color, + float.PositiveInfinity); + GLDebug.DrawSquareScreenSpace(debugID + 1, newScreenPos2, 0f, debugTouchSize, color, + float.PositiveInfinity); + GLDebug.DrawLineWithCrossScreenSpace(debugID + 2, newScreenPos1, newScreenPos2, .5f, + debugTouchSize * .3f, color, float.PositiveInfinity); + break; + } + } + + private IEnumerator doDrawDebug(int touchPoints) + { + yield return new WaitForEndOfFrame(); + + drawDebug(touchPoints); + } +#endif + + #endregion + + #region Private functions + + private void updateMoved() + { +#if TOUCHSCRIPT_DEBUG + drawDebugDelayed(getNumPoints()); +#endif + + var numPoints = getNumPoints(); + if (numPoints == 0) return; + + var translationEnabled = (Type & TransformType.Translation) == TransformType.Translation; + var rotationEnabled = (Type & TransformType.Rotation) == TransformType.Rotation; + var scalingEnabled = (Type & TransformType.Scaling) == TransformType.Scaling; + + var dP = deltaPosition = Vector3.zero; + var dR = deltaRotation = 0; + var dS = deltaScale = 1f; + + // one touch or one cluster (points might be too close to each other for 2 clusters) + + if (numPoints == 1 || (!rotationEnabled && !scalingEnabled)) + { + if (!translationEnabled) return; // don't look for translates + if (!relevantTouches1()) return; + + // translate using one point + dP = doOnePointTranslation(getPointPreviousScreenPosition(0), getPointScreenPosition(0), projectionParams); + } + else if (numPoints >= 2) + { + // Make sure that we actually care about the touch moved. + if (!relevantTouches2()) return; + + var newScreenPos1 = getPointScreenPosition(0); + var newScreenPos2 = getPointScreenPosition(1); + + // Here we can't reuse last frame screen positions because points 0 and 1 can change. + // For example if the first of 3 fingers is lifted off. + var oldScreenPos1 = getPointPreviousScreenPosition(0); + var oldScreenPos2 = getPointPreviousScreenPosition(1); + + var newScreenDelta = newScreenPos2 - newScreenPos1; + if (newScreenDelta.sqrMagnitude > minScreenPointsPixelDistanceSquared) + { + if (rotationEnabled) + { + if (isTransforming) + { + dR = doRotation(oldScreenPos1, oldScreenPos2, newScreenPos1, newScreenPos2, projectionParams); + } + else + { + float d1, d2; + // Find how much we moved perpendicular to the line (oldScreenPos1, oldScreenPos2) + TwoD.PointToLineDistance2(oldScreenPos1, oldScreenPos2, newScreenPos1, newScreenPos2, + out d1, out d2); + screenPixelRotationBuffer += (d1 - d2); + angleBuffer += doRotation(oldScreenPos1, oldScreenPos2, newScreenPos1, newScreenPos2, projectionParams); + + if (screenPixelRotationBuffer * screenPixelRotationBuffer >= + screenTransformPixelThresholdSquared) + { + isTransforming = true; + dR = angleBuffer; + } + } + } + + if (scalingEnabled) + { + if (isTransforming) + { + dS *= doScaling(oldScreenPos1, oldScreenPos2, newScreenPos1, newScreenPos2, projectionParams); + } + else + { + var oldScreenDelta = oldScreenPos2 - oldScreenPos1; + var newDistance = newScreenDelta.magnitude; + var oldDistance = oldScreenDelta.magnitude; + screenPixelScalingBuffer += newDistance - oldDistance; + scaleBuffer *= doScaling(oldScreenPos1, oldScreenPos2, newScreenPos1, newScreenPos2, projectionParams); + + if (screenPixelScalingBuffer * screenPixelScalingBuffer >= + screenTransformPixelThresholdSquared) + { + isTransforming = true; + dS = scaleBuffer; + } + } + } + + if (translationEnabled) + { + if (dR == 0 && dS == 1) dP = doOnePointTranslation(oldScreenPos1, newScreenPos1, projectionParams); + else + dP = doTwoPointTranslation(oldScreenPos1, oldScreenPos2, newScreenPos1, newScreenPos2, dR, dS, projectionParams); + } + } + else if (translationEnabled) + { + // points are too close, translate using one point + dP = doOnePointTranslation(oldScreenPos1, newScreenPos1, projectionParams); + } + } + + if (dP != Vector3.zero || dR != 0 || dS != 1) + { + if (State == GestureState.Possible) + { + if (touchesNumState == TouchesNumState.InRange) setState(GestureState.Began); + else + { + // Wrong number of touches! + setState(GestureState.Failed); + return; + } + } + switch (State) + { + case GestureState.Began: + case GestureState.Changed: + deltaPosition = dP; + deltaRotation = dR; + deltaScale = dS; + setState(GestureState.Changed); + break; + } + } + } + + private void updateMinScreenPointsDistance() + { + minScreenPointsPixelDistance = minScreenPointsDistance * touchManager.DotsPerCentimeter; + minScreenPointsPixelDistanceSquared = minScreenPointsPixelDistance * minScreenPointsPixelDistance; + } + + private void updateScreenTransformThreshold() + { + screenTransformPixelThreshold = screenTransformThreshold * touchManager.DotsPerCentimeter; + screenTransformPixelThresholdSquared = screenTransformPixelThreshold * screenTransformPixelThreshold; + } + + private void frameFinishedHandler(object sender, EventArgs eventArgs) + { + if (movedTouches.Count > 0) + { + updateMoved(); + movedTouches.Clear(); + } + } + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Gestures/Base/TransformGestureBase.cs.meta b/ThirdParty/TouchScript/Scripts/Gestures/Base/TransformGestureBase.cs.meta new file mode 100644 index 000000000..e67dea5e4 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/Base/TransformGestureBase.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b056765f5d95e45ef9a3c9befaabbdec +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Gestures/Clustered.meta b/ThirdParty/TouchScript/Scripts/Gestures/Clustered.meta new file mode 100644 index 000000000..5ca574934 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/Clustered.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2dbbc39f33a27479b89910854ee862c2 +folderAsset: yes +timeCreated: 1447582128 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Gestures/Clustered/ClusteredPinnedTransformGesture.cs b/ThirdParty/TouchScript/Scripts/Gestures/Clustered/ClusteredPinnedTransformGesture.cs new file mode 100644 index 000000000..915a732fe --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/Clustered/ClusteredPinnedTransformGesture.cs @@ -0,0 +1,40 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using TouchScript.Utils; +using UnityEngine; + +namespace TouchScript.Gestures.Clustered +{ + /// + /// ScreenTransformGesture which works with centroid of all touches instead of with just the first touch. + /// Should be used for large touch surfaces. + /// + [AddComponentMenu("TouchScript/Gestures/Clustered/Pinned Transform Gesture (Clustered)")] + [HelpURL("http://touchscript.github.io/docs/Index.html?topic=html/T_TouchScript_Gestures_Clustered_ClusteredPinnedTransformGesture.htm")] + public class ClusteredPinnedTransformGesture : PinnedTransformGesture + { + #region Protected methods + + /// + protected override bool relevantTouches() + { + return true; + } + + /// + protected override Vector2 getPointScreenPosition() + { + return ClusterUtils.Get2DCenterPosition(activeTouches); + } + + /// + protected override Vector2 getPointPreviousScreenPosition() + { + return ClusterUtils.GetPrevious2DCenterPosition(activeTouches); + } + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Gestures/Clustered/ClusteredPinnedTransformGesture.cs.meta b/ThirdParty/TouchScript/Scripts/Gestures/Clustered/ClusteredPinnedTransformGesture.cs.meta new file mode 100644 index 000000000..c89441338 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/Clustered/ClusteredPinnedTransformGesture.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a02b4354287c54e8b8a68cb3380b4266 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Gestures/Clustered/ClusteredScreenTransformGesture.cs b/ThirdParty/TouchScript/Scripts/Gestures/Clustered/ClusteredScreenTransformGesture.cs new file mode 100644 index 000000000..c4f8acfc0 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/Clustered/ClusteredScreenTransformGesture.cs @@ -0,0 +1,100 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using TouchScript.Utils; +using UnityEngine; + +namespace TouchScript.Gestures.Clustered +{ + /// + /// ScreenTransformGesture which splits all touch points into 2 clusters and works with them. + /// Should be used for large touch surfaces. + /// + [AddComponentMenu("TouchScript/Gestures/Clustered/Screen Transform Gesture (Clustered)")] + [HelpURL("http://touchscript.github.io/docs/Index.html?topic=html/T_TouchScript_Gestures_Clustered_ClusteredScreenTransformGesture.htm")] + public class ClusteredScreenTransformGesture : ScreenTransformGesture + { + #region Private variables + + private Clusters.Clusters clusters = new Clusters.Clusters(); + + #endregion + + #region Gesture callbacks + + /// + protected override void touchBegan(TouchPoint touch) + { + clusters.AddPoint(touch); + + base.touchBegan(touch); + } + + /// + protected override void touchMoved(TouchPoint touch) + { + clusters.Invalidate(); + + base.touchMoved(touch); + } + + /// + protected override void touchEnded(TouchPoint touch) + { + clusters.RemovePoint(touch); + + base.touchEnded(touch); + } + + /// + protected override void reset() + { + base.reset(); + + clusters.RemoveAllPoints(); + } + + #endregion + + #region Protected methods + + /// + protected override int getNumPoints() + { + if (clusters.HasClusters) return 2; + if (NumTouches > 0) return 1; + return 0; + } + + /// + protected override bool relevantTouches1() + { + return true; + } + + /// + protected override bool relevantTouches2() + { + return true; + } + + /// + protected override Vector2 getPointScreenPosition(int index) + { + if (!clusters.HasClusters) return ClusterUtils.Get2DCenterPosition(activeTouches); + + return clusters.GetCenterPosition(index); + } + + /// + protected override Vector2 getPointPreviousScreenPosition(int index) + { + if (!clusters.HasClusters) return ClusterUtils.GetPrevious2DCenterPosition(activeTouches); + + return clusters.GetPreviousCenterPosition(index); + } + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Gestures/Clustered/ClusteredScreenTransformGesture.cs.meta b/ThirdParty/TouchScript/Scripts/Gestures/Clustered/ClusteredScreenTransformGesture.cs.meta new file mode 100644 index 000000000..addbcced0 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/Clustered/ClusteredScreenTransformGesture.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 35c2dca9c55c34126a66ce1252fbad55 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Gestures/Clustered/ClusteredTransformGesture.cs b/ThirdParty/TouchScript/Scripts/Gestures/Clustered/ClusteredTransformGesture.cs new file mode 100644 index 000000000..23bbec529 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/Clustered/ClusteredTransformGesture.cs @@ -0,0 +1,100 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using TouchScript.Utils; +using UnityEngine; + +namespace TouchScript.Gestures.Clustered +{ + /// + /// TransformGesture which splits all touch points into 2 clusters and works with them. + /// Should be used for large touch surfaces. + /// + [AddComponentMenu("TouchScript/Gestures/Clustered/Transform Gesture (Clustered)")] + [HelpURL("http://touchscript.github.io/docs/Index.html?topic=html/T_TouchScript_Gestures_Clustered_ClusteredTransformGesture.htm")] + public class ClusteredTransformGesture : TransformGesture + { + #region Private variables + + private Clusters.Clusters clusters = new Clusters.Clusters(); + + #endregion + + #region Gesture callbacks + + /// + protected override void touchBegan(TouchPoint touch) + { + clusters.AddPoint(touch); + + base.touchBegan(touch); + } + + /// + protected override void touchMoved(TouchPoint touch) + { + clusters.Invalidate(); + + base.touchMoved(touch); + } + + /// + protected override void touchEnded(TouchPoint touch) + { + clusters.RemovePoint(touch); + + base.touchEnded(touch); + } + + /// + protected override void reset() + { + base.reset(); + + clusters.RemoveAllPoints(); + } + + #endregion + + #region Protected methods + + /// + protected override int getNumPoints() + { + if (clusters.HasClusters) return 2; + if (NumTouches > 0) return 1; + return 0; + } + + /// + protected override bool relevantTouches1() + { + return true; + } + + /// + protected override bool relevantTouches2() + { + return true; + } + + /// + protected override Vector2 getPointScreenPosition(int index) + { + if (!clusters.HasClusters) return ClusterUtils.Get2DCenterPosition(activeTouches); + + return clusters.GetCenterPosition(index); + } + + /// + protected override Vector2 getPointPreviousScreenPosition(int index) + { + if (!clusters.HasClusters) return ClusterUtils.GetPrevious2DCenterPosition(activeTouches); + + return clusters.GetPreviousCenterPosition(index); + } + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Gestures/Clustered/ClusteredTransformGesture.cs.meta b/ThirdParty/TouchScript/Scripts/Gestures/Clustered/ClusteredTransformGesture.cs.meta new file mode 100644 index 000000000..6e8f83d6b --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/Clustered/ClusteredTransformGesture.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 72b38de9ff1ca4059868438f858d35a9 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Gestures/FlickGesture.cs b/ThirdParty/TouchScript/Scripts/Gestures/FlickGesture.cs new file mode 100644 index 000000000..ef1ddc260 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/FlickGesture.cs @@ -0,0 +1,252 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System; +using TouchScript.Utils; +using UnityEngine; + +namespace TouchScript.Gestures +{ + /// + /// Recognizes fast movement before releasing touches. Doesn't care how much time touch points were on surface and how much they moved. + /// + [AddComponentMenu("TouchScript/Gestures/Flick Gesture")] + [HelpURL("http://touchscript.github.io/docs/Index.html?topic=html/T_TouchScript_Gestures_FlickGesture.htm")] + public class FlickGesture : Gesture + { + #region Constants + + /// + /// Message name when gesture is recognized + /// + public const string FLICK_MESSAGE = "OnFlick"; + + /// + /// Direction of a flick. + /// + public enum GestureDirection + { + /// + /// Direction doesn't matter. + /// + Any, + + /// + /// Only horizontal. + /// + Horizontal, + + /// + /// Only vertical. + /// + Vertical, + } + + #endregion + + #region Events + + /// + /// Occurs when gesture is recognized. + /// + public event EventHandler Flicked + { + add { flickedInvoker += value; } + remove { flickedInvoker -= value; } + } + + // Needed to overcome iOS AOT limitations + private EventHandler flickedInvoker; + + #endregion + + #region Public properties + + /// + /// Gets or sets time interval in seconds in which touch points must move by for gesture to succeed. + /// + /// Interval in seconds in which touch points must move by for gesture to succeed. + public float FlickTime + { + get { return flickTime; } + set { flickTime = value; } + } + + /// + /// Gets or sets minimum distance in cm to move in before ending gesture for it to be recognized. + /// + /// Minimum distance in cm to move in before ending gesture for it to be recognized. + public float MinDistance + { + get { return minDistance; } + set { minDistance = value; } + } + + /// + /// Gets or sets minimum distance in cm touches must move to start recognizing this gesture. + /// + /// Minimum distance in cm touches must move to start recognizing this gesture. + /// Prevents misinterpreting taps. + public float MovementThreshold + { + get { return movementThreshold; } + set { movementThreshold = value; } + } + + /// + /// Gets or sets direction to look for. + /// + /// Direction of movement. + public GestureDirection Direction + { + get { return direction; } + set { direction = value; } + } + + /// + /// Gets flick direction (not normalized) when gesture is recognized. + /// + public Vector2 ScreenFlickVector { get; private set; } + + /// + /// Gets flick time in seconds touches moved by . + /// + public float ScreenFlickTime { get; private set; } + + #endregion + + #region Private variables + + [SerializeField] + private float flickTime = .1f; + + [SerializeField] + private float minDistance = 1f; + + [SerializeField] + private float movementThreshold = .5f; + + [SerializeField] + private GestureDirection direction = GestureDirection.Any; + + private bool moving = false; + private Vector2 movementBuffer = Vector2.zero; + private bool isActive = false; + private TimedSequence deltaSequence = new TimedSequence(); + + #endregion + + #region Unity methods + + /// + protected void LateUpdate() + { + if (!isActive) return; + + deltaSequence.Add(ScreenPosition - PreviousScreenPosition); + } + + #endregion + + #region Gesture callbacks + + /// + protected override void touchBegan(TouchPoint touch) + { + base.touchBegan(touch); + + if (touchesNumState == TouchesNumState.PassedMaxThreshold || + touchesNumState == TouchesNumState.PassedMinMaxThreshold) + { + if (State == GestureState.Possible) setState(GestureState.Failed); + } + else if (touchesNumState == TouchesNumState.PassedMinThreshold) + { + // Starting the gesture when it is already active? => we released one finger and pressed again while moving + if (isActive) setState(GestureState.Failed); + else isActive = true; + } + } + + /// + protected override void touchMoved(TouchPoint touch) + { + base.touchMoved(touch); + + if (isActive || !moving) + { + movementBuffer += ScreenPosition - PreviousScreenPosition; + var dpiMovementThreshold = MovementThreshold * touchManager.DotsPerCentimeter; + if (movementBuffer.sqrMagnitude >= dpiMovementThreshold * dpiMovementThreshold) + { + moving = true; + } + } + } + + /// + protected override void touchEnded(TouchPoint touch) + { + base.touchEnded(touch); + + if (NumTouches == 0) + { + if (!isActive || !moving) + { + setState(GestureState.Failed); + return; + } + + deltaSequence.Add(ScreenPosition - PreviousScreenPosition); + + float lastTime; + var deltas = deltaSequence.FindElementsLaterThan(Time.time - FlickTime, out lastTime); + var totalMovement = Vector2.zero; + var count = deltas.Count; + for (var i = 0; i < count; i++) totalMovement += deltas[i]; + + switch (Direction) + { + case GestureDirection.Horizontal: + totalMovement.y = 0; + break; + case GestureDirection.Vertical: + totalMovement.x = 0; + break; + } + + if (totalMovement.magnitude < MinDistance * touchManager.DotsPerCentimeter) + { + setState(GestureState.Failed); + } + else + { + ScreenFlickVector = totalMovement; + ScreenFlickTime = Time.time - lastTime; + setState(GestureState.Recognized); + } + } + } + + /// + protected override void onRecognized() + { + base.onRecognized(); + if (flickedInvoker != null) flickedInvoker.InvokeHandleExceptions(this, EventArgs.Empty); + if (UseSendMessage && SendMessageTarget != null) SendMessageTarget.SendMessage(FLICK_MESSAGE, this, SendMessageOptions.DontRequireReceiver); + } + + /// + protected override void reset() + { + base.reset(); + + isActive = false; + moving = false; + movementBuffer = Vector2.zero; + } + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Gestures/FlickGesture.cs.meta b/ThirdParty/TouchScript/Scripts/Gestures/FlickGesture.cs.meta new file mode 100644 index 000000000..7e1b8adf1 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/FlickGesture.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1ba67d04e07d3491989322c6414feaf3 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Gestures/Gesture.cs b/ThirdParty/TouchScript/Scripts/Gestures/Gesture.cs new file mode 100644 index 000000000..7700d38ea --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/Gesture.cs @@ -0,0 +1,1119 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using TouchScript.Hit; +using TouchScript.Layers; +using TouchScript.Utils; +using TouchScript.Utils.Attributes; +using UnityEngine; + +namespace TouchScript.Gestures +{ + /// + /// Base class for all gestures. + /// + public abstract class Gesture : DebuggableMonoBehaviour + { + #region Constants + + /// + /// Message sent when gesture changes state if SendMessage is used. + /// + public const string STATE_CHANGE_MESSAGE = "OnGestureStateChange"; + + /// + /// Message sent when gesture is cancelled if SendMessage is used. + /// + public const string CANCEL_MESSAGE = "OnGestureCancel"; + + /// + /// Possible states of a gesture. + /// + public enum GestureState + { + /// + /// Gesture is possible. + /// + Possible, + + /// + /// Continuous gesture has just begun. + /// + Began, + + /// + /// Started continuous gesture is updated. + /// + Changed, + + /// + /// Continuous gesture is ended. + /// + Ended, + + /// + /// Gesture is cancelled. + /// + Cancelled, + + /// + /// Gesture is failed by itself or by another recognized gesture. + /// + Failed, + + /// + /// Gesture is recognized. + /// + Recognized = Ended + } + + /// + /// Current state of the number of touch points. + /// + protected enum TouchesNumState + { + /// + /// The number of touch points is between min and max thresholds. + /// + InRange, + + /// + /// The number of touch points is less than min threshold. + /// + TooFew, + + /// + /// The number of touch points is greater than max threshold. + /// + TooMany, + + /// + /// The number of touch points passed min threshold this frame and is now in range. + /// + PassedMinThreshold, + + /// + /// The number of touch points passed max threshold this frame and is now in range. + /// + PassedMaxThreshold, + + /// + /// The number of touch points passed both min and max thresholds. + /// + PassedMinMaxThreshold + } + + #endregion + + #region Events + + /// + /// Occurs when gesture changes state. + /// + public event EventHandler StateChanged + { + add { stateChangedInvoker += value; } + remove { stateChangedInvoker -= value; } + } + + /// + /// Occurs when gesture is cancelled. + /// + public event EventHandler Cancelled + { + add { cancelledInvoker += value; } + remove { cancelledInvoker -= value; } + } + + // Needed to overcome iOS AOT limitations + private EventHandler stateChangedInvoker; + private EventHandler cancelledInvoker; + + #endregion + + #region Public properties + + /// + /// Gets or sets minimum number of touches this gesture reacts to. + /// The gesture will not be recognized if it has less than touches. + /// + /// Minimum number of touches. + public int MinTouches + { + get { return minTouches; } + set + { + if (value < 0) return; + minTouches = value; + } + } + + /// + /// Gets or sets maximum number of touches this gesture reacts to. + /// The gesture will not be recognized if it has more than touches. + /// + /// Maximum number of touches. + public int MaxTouches + { + get { return maxTouches; } + set + { + if (value < 0) return; + maxTouches = value; + } + } + + /// + /// Gets or sets another gesture which must fail before this gesture can be recognized. + /// + /// The gesture which must fail before this gesture can be recognized. + public Gesture RequireGestureToFail + { + get { return requireGestureToFail; } + set + { + if (requireGestureToFail != null) + requireGestureToFail.StateChanged -= requiredToFailGestureStateChangedHandler; + requireGestureToFail = value; + if (requireGestureToFail != null) + requireGestureToFail.StateChanged += requiredToFailGestureStateChangedHandler; + } + } + + /// + /// Gets or sets the flag if touches should be treated as a cluster. + /// + /// true if touches should be treated as a cluster; otherwise, false. + /// + /// At the end of a gesture when touches are lifted off due to the fact that computers are faster than humans the very last touch's position will be gesture's after that. This flag is used to combine several touch which from the point of a user were lifted off simultaneously and set their centroid as gesture's . + /// + public bool CombineTouches + { + get { return combineTouches; } + set { combineTouches = value; } + } + + /// + /// Gets or sets time interval before gesture is recognized to combine all lifted touch points into a cluster to use its center as . + /// + /// Time in seconds to treat touches lifted off during this interval as a single gesture. + public float CombineTouchesInterval + { + get { return combineTouchesInterval; } + set { combineTouchesInterval = value; } + } + + /// + /// Gets or sets whether gesture should use Unity's SendMessage in addition to C# events. + /// + /// true if gesture uses SendMessage; otherwise, false. + public bool UseSendMessage + { + get { return useSendMessage; } + set { useSendMessage = value; } + } + + /// + /// Gets or sets a value indicating whether state change events are broadcasted if is true.. + /// + /// true if state change events should be broadcaster; otherwise, false. + public bool SendStateChangeMessages + { + get { return sendStateChangeMessages; } + set { sendStateChangeMessages = value; } + } + + /// + /// Gets or sets the target of Unity messages sent from this gesture. + /// + /// The target of Unity messages. + public GameObject SendMessageTarget + { + get { return sendMessageTarget; } + set + { + sendMessageTarget = value; + if (value == null) sendMessageTarget = gameObject; + } + } + + /// + /// Gets current gesture state. + /// + /// Current state of the gesture. + public GestureState State + { + get { return state; } + private set + { + PreviousState = state; + state = value; + + switch (value) + { + case GestureState.Possible: + onPossible(); + break; + case GestureState.Began: + retainTouches(); + onBegan(); + break; + case GestureState.Changed: + onChanged(); + break; + case GestureState.Recognized: + // Only retain/release touches for continuos gestures + if (PreviousState == GestureState.Changed || PreviousState == GestureState.Began) + releaseTouches(true); + onRecognized(); + break; + case GestureState.Failed: + onFailed(); + break; + case GestureState.Cancelled: + if (PreviousState == GestureState.Changed || PreviousState == GestureState.Began) + releaseTouches(false); + onCancelled(); + break; + } + + if (stateChangedInvoker != null) + stateChangedInvoker.InvokeHandleExceptions(this, + new GestureStateChangeEventArgs(state, PreviousState)); + if (useSendMessage && sendStateChangeMessages && SendMessageTarget != null) + sendMessageTarget.SendMessage(STATE_CHANGE_MESSAGE, this, SendMessageOptions.DontRequireReceiver); + } + } + + /// + /// Gets previous gesture state. + /// + /// Previous state of the gesture. + public GestureState PreviousState { get; private set; } + + /// + /// Gets current screen position. + /// + /// Gesture's position in screen coordinates. + public virtual Vector2 ScreenPosition + { + get + { + if (NumTouches == 0) + { + if (!TouchManager.IsInvalidPosition(cachedScreenPosition)) return cachedScreenPosition; + return TouchManager.INVALID_POSITION; + } + return ClusterUtils.Get2DCenterPosition(activeTouches); + } + } + + /// + /// Gets previous screen position. + /// + /// Gesture's previous position in screen coordinates. + public virtual Vector2 PreviousScreenPosition + { + get + { + if (NumTouches == 0) + { + if (!TouchManager.IsInvalidPosition(cachedPreviousScreenPosition)) + return cachedPreviousScreenPosition; + return TouchManager.INVALID_POSITION; + } + return ClusterUtils.GetPrevious2DCenterPosition(activeTouches); + } + } + + /// + /// Gets normalized screen position. + /// + /// Gesture's position in normalized screen coordinates. + public Vector2 NormalizedScreenPosition + { + get + { + var position = ScreenPosition; + if (TouchManager.IsInvalidPosition(position)) return TouchManager.INVALID_POSITION; + return new Vector2(position.x / Screen.width, position.y / Screen.height); + } + } + + /// + /// Gets previous screen position. + /// + /// Gesture's previous position in normalized screen coordinates. + public Vector2 PreviousNormalizedScreenPosition + { + get + { + var position = PreviousScreenPosition; + if (TouchManager.IsInvalidPosition(position)) return TouchManager.INVALID_POSITION; + return new Vector2(position.x / Screen.width, position.y / Screen.height); + } + } + + /// + /// Gets list of gesture's active touch points. + /// + /// The list of touches owned by this gesture. + public IList ActiveTouches + { + get + { + if (readonlyActiveTouches == null) + readonlyActiveTouches = new ReadOnlyCollection(activeTouches); + return readonlyActiveTouches; + } + } + + /// + /// Gets the number of active touch points. + /// + /// The number of touches owned by this gesture. + public int NumTouches + { + get { return numTouches; } + } + + /// + /// Gets or sets an object implementing to be asked for gesture specific actions. + /// + /// The delegate. + public IGestureDelegate Delegate { get; set; } + + #endregion + + #region Private variables + + /// + /// Reference to global GestureManager. + /// + protected IGestureManager gestureManager + { + // implemented as a property because it returns IGestureManager but we need to reference GestureManagerInstance to access internal methods + get { return gestureManagerInstance; } + } + + /// + /// Reference to global TouchManager. + /// + protected ITouchManager touchManager { get; private set; } + + /// + /// The state of min/max number of touches. + /// + protected TouchesNumState touchesNumState { get; private set; } + + /// + /// Touch points the gesture currently owns and works with. + /// + protected List activeTouches = new List(10); + + /// + /// Cached transform of the parent object. + /// + protected Transform cachedTransform; + + [SerializeField] + private bool advancedProps; // is used to save if advanced properties are opened or closed + + [SerializeField] + private int minTouches = 0; + + [SerializeField] + private int maxTouches = 0; + + [SerializeField] + [ToggleLeft] + private bool combineTouches = false; + + [SerializeField] + private float combineTouchesInterval = .3f; + + [SerializeField] + [ToggleLeft] + private bool useSendMessage = false; + + [SerializeField] + [ToggleLeft] + private bool sendStateChangeMessages = false; + + [SerializeField] + private GameObject sendMessageTarget; + + [SerializeField] + [NullToggle] + private Gesture requireGestureToFail; + + [SerializeField] + // Serialized list of gestures for Unity IDE. + private List friendlyGestures = new List(); + + private int numTouches; + private TouchLayer layer; + private ReadOnlyCollection readonlyActiveTouches; + private TimedSequence touchSequence = new TimedSequence(); + private GestureManagerInstance gestureManagerInstance; + private GestureState delayedStateChange = GestureState.Possible; + private bool requiredGestureFailed = false; + private GestureState state = GestureState.Possible; + + /// + /// Cached screen position. + /// Used to keep tap's position which can't be calculated from touch points when the gesture is recognized since all touch points are gone. + /// + private Vector2 cachedScreenPosition; + + /// + /// Cached previous screen position. + /// Used to keep tap's position which can't be calculated from touch points when the gesture is recognized since all touch points are gone. + /// + private Vector2 cachedPreviousScreenPosition; + + #endregion + + #region Public methods + + /// + /// Adds a friendly gesture. + /// + /// The gesture. + public void AddFriendlyGesture(Gesture gesture) + { + if (gesture == null || gesture == this) return; + + registerFriendlyGesture(gesture); + gesture.registerFriendlyGesture(this); + } + + /// + /// Checks if a gesture is friendly with this gesture. + /// + /// A gesture to check. + /// true if gestures are friendly; false otherwise. + public bool IsFriendly(Gesture gesture) + { + return friendlyGestures.Contains(gesture); + } + + /// + /// Gets result of casting a ray from gesture touch points' centroid screen position. + /// + /// true if ray hits gesture's target; false otherwise. + public bool GetTargetHitResult() + { + TouchHit hit; + return GetTargetHitResult(ScreenPosition, out hit); + } + + /// + /// Gets result of casting a ray from gesture touch points centroid screen position. + /// + /// Raycast result + /// true if ray hits gesture's target; false otherwise. + public virtual bool GetTargetHitResult(out TouchHit hit) + { + return GetTargetHitResult(ScreenPosition, out hit); + } + + /// + /// Gets result of casting a ray from specific screen position. + /// + /// The position. + /// true if ray hits gesture's target; false otherwise. + public bool GetTargetHitResult(Vector2 position) + { + TouchHit hit; + return GetTargetHitResult(position, out hit); + } + + /// + /// Gets result of casting a ray from specific screen position. + /// + /// The position. + /// Raycast result. + /// true if ray hits gesture's target; false otherwise. + public virtual bool GetTargetHitResult(Vector2 position, out TouchHit hit) + { + if (layer != null) + { + if (layer.Hit(position, out hit) != TouchLayer.LayerHitResult.Hit) return false; + } + else + { + TouchLayer l = null; + if (!touchManager.GetHitTarget(position, out hit, out l)) return false; + } + + if (cachedTransform == hit.Transform || hit.Transform.IsChildOf(cachedTransform)) return true; + return false; + } + + /// + /// Determines whether gesture controls a touch point. + /// + /// The touch. + /// true if gesture controls the touch point; false otherwise. + public bool HasTouch(TouchPoint touch) + { + return activeTouches.Contains(touch); + } + + /// + /// Determines whether this instance can prevent the specified gesture. + /// + /// The gesture. + /// true if this instance can prevent the specified gesture; false otherwise. + public virtual bool CanPreventGesture(Gesture gesture) + { + if (Delegate == null) + { + if (gesture.CanBePreventedByGesture(this)) return !IsFriendly(gesture); + return false; + } + return !Delegate.ShouldRecognizeSimultaneously(this, gesture); + } + + /// + /// Determines whether this instance can be prevented by specified gesture. + /// + /// The gesture. + /// true if this instance can be prevented by specified gesture; false otherwise. + public virtual bool CanBePreventedByGesture(Gesture gesture) + { + if (Delegate == null) return !IsFriendly(gesture); + return !Delegate.ShouldRecognizeSimultaneously(this, gesture); + } + + /// + /// Specifies if gesture can receive this specific touch point. + /// + /// The touch. + /// true if this touch should be received by the gesture; false otherwise. + public virtual bool ShouldReceiveTouch(TouchPoint touch) + { + if (Delegate == null) return true; + return Delegate.ShouldReceiveTouch(this, touch); + } + + /// + /// Specifies if gesture can begin or recognize. + /// + /// true if gesture should begin; false otherwise. + public virtual bool ShouldBegin() + { + if (Delegate == null) return true; + return Delegate.ShouldBegin(this); + } + + /// + /// Cancels this gesture. + /// + /// if set to true also implicitly cancels all touches owned by the gesture. + /// if set to true redispatched all canceled touches. + public void Cancel(bool cancelTouches, bool returnTouches) + { + switch (state) + { + case GestureState.Cancelled: + case GestureState.Ended: + case GestureState.Failed: + return; + } + + setState(GestureState.Cancelled); + + if (!cancelTouches) return; + for (var i = 0; i < numTouches; i++) touchManager.CancelTouch(activeTouches[i].Id, returnTouches); + } + + /// + /// Cancels this gesture. + /// + public void Cancel() + { + Cancel(false, false); + } + + #endregion + + #region Unity methods + + /// + protected virtual void Awake() + { + cachedTransform = transform; + + var count = friendlyGestures.Count; + for (var i = 0; i < count; i++) + { + AddFriendlyGesture(friendlyGestures[i]); + } + RequireGestureToFail = requireGestureToFail; + } + + /// + /// Unity3d Start handler. + /// + protected virtual void OnEnable() + { + // TouchManager might be different in another scene + touchManager = TouchManager.Instance; + gestureManagerInstance = GestureManager.Instance as GestureManagerInstance; + + if (touchManager == null) + Debug.LogError("No TouchManager found! Please add an instance of TouchManager to the scene!"); + if (gestureManagerInstance == null) + Debug.LogError("No GesturehManager found! Please add an instance of GesturehManager to the scene!"); + + if (sendMessageTarget == null) sendMessageTarget = gameObject; + INTERNAL_Reset(); + } + + /// + /// Unity3d OnDisable handler. + /// + protected virtual void OnDisable() + { + setState(GestureState.Failed); + } + + /// + /// Unity3d OnDestroy handler. + /// + protected virtual void OnDestroy() + { + var copy = new List(friendlyGestures); + var count = copy.Count; + for (var i = 0; i < count; i++) + { + INTERNAL_RemoveFriendlyGesture(copy[i]); + } + RequireGestureToFail = null; + } + + #endregion + + #region Internal functions + + internal void INTERNAL_SetState(GestureState value) + { + setState(value); + } + + internal void INTERNAL_Reset() + { + activeTouches.Clear(); + numTouches = 0; + delayedStateChange = GestureState.Possible; + touchesNumState = TouchesNumState.TooFew; + requiredGestureFailed = false; + reset(); + } + + internal void INTERNAL_TouchBegan(TouchPoint touch) + { + if (numTouches == 0) layer = touch.Layer; + + var total = numTouches + 1; + touchesNumState = TouchesNumState.InRange; + + if (minTouches <= 0) + { + // minTouches is not set and we got our first touches + if (numTouches == 0) touchesNumState = TouchesNumState.PassedMinThreshold; + } + else + { + if (numTouches < minTouches) + { + // had < minTouches, got >= minTouches + if (total >= minTouches) touchesNumState = TouchesNumState.PassedMinThreshold; + else touchesNumState = TouchesNumState.TooFew; + } + } + + if (maxTouches > 0) + { + if (numTouches <= maxTouches) + { + if (total > maxTouches) + { + // this event we crossed both minTouches and maxTouches + if (touchesNumState == TouchesNumState.PassedMinThreshold) touchesNumState = TouchesNumState.PassedMinMaxThreshold; + // this event we crossed maxTouches + else touchesNumState = TouchesNumState.PassedMaxThreshold; + } + } + // last event we already were over maxTouches + else touchesNumState = TouchesNumState.TooMany; + } + + if (state == GestureState.Began || state == GestureState.Changed) touch.INTERNAL_Retain(); + + activeTouches.Add(touch); + numTouches = total; + touchBegan(touch); + } + + internal void INTERNAL_TouchMoved(TouchPoint touch) + { + touchesNumState = TouchesNumState.InRange; + if (minTouches > 0 && numTouches < minTouches) touchesNumState = TouchesNumState.TooFew; + if (maxTouches > 0 && touchesNumState == TouchesNumState.InRange && numTouches > maxTouches) touchesNumState = TouchesNumState.TooMany; + touchMoved(touch); + } + + internal void INTERNAL_TouchEnded(TouchPoint touch) + { + var total = numTouches - 1; + touchesNumState = TouchesNumState.InRange; + + if (minTouches <= 0) + { + // have no touches + if (total == 0) touchesNumState = TouchesNumState.PassedMinThreshold; + } + else + { + if (numTouches >= minTouches) + { + // had >= minTouches, got < minTouches + if (total < minTouches) touchesNumState = TouchesNumState.PassedMinThreshold; + } + // last event we already were under minTouches + else touchesNumState = TouchesNumState.TooFew; + } + + if (maxTouches > 0) + { + if (numTouches > maxTouches) + { + if (total <= maxTouches) + { + // this event we crossed both minTouches and maxTouches + if (touchesNumState == TouchesNumState.PassedMinThreshold) touchesNumState = TouchesNumState.PassedMinMaxThreshold; + // this event we crossed maxTouches + else touchesNumState = TouchesNumState.PassedMaxThreshold; + } + // last event we already were over maxTouches + else touchesNumState = TouchesNumState.TooMany; + } + } + + activeTouches.Remove(touch); + numTouches = total; + + if (combineTouches) + { + touchSequence.Add(touch); + + if (NumTouches == 0) + { + // Checking which points were removed in clusterExistenceTime seconds to set their centroid as cached screen position + var cluster = touchSequence.FindElementsLaterThan(Time.time - combineTouchesInterval, + shouldCacheTouchPosition); + cachedScreenPosition = ClusterUtils.Get2DCenterPosition(cluster); + cachedPreviousScreenPosition = ClusterUtils.GetPrevious2DCenterPosition(cluster); + } + } + else + { + if (NumTouches == 0) + { + if (shouldCacheTouchPosition(touch)) + { + cachedScreenPosition = touch.Position; + cachedPreviousScreenPosition = touch.PreviousPosition; + } + else + { + cachedScreenPosition = TouchManager.INVALID_POSITION; + cachedPreviousScreenPosition = TouchManager.INVALID_POSITION; + } + } + } + + touchEnded(touch); + } + + internal void INTERNAL_TouchCancelled(TouchPoint touch) + { + var total = numTouches - 1; + touchesNumState = TouchesNumState.InRange; + + if (minTouches <= 0) + { + // have no touches + if (total == 0) touchesNumState = TouchesNumState.PassedMinThreshold; + } + else + { + if (numTouches >= minTouches) + { + // had >= minTouches, got < minTouches + if (total < minTouches) touchesNumState = TouchesNumState.PassedMinThreshold; + } + // last event we already were under minTouches + else touchesNumState = TouchesNumState.TooFew; + } + + if (maxTouches > 0) + { + if (numTouches > maxTouches) + { + if (total <= maxTouches) + { + // this event we crossed both minTouches and maxTouches + if (touchesNumState == TouchesNumState.PassedMinThreshold) touchesNumState = TouchesNumState.PassedMinMaxThreshold; + // this event we crossed maxTouches + else touchesNumState = TouchesNumState.PassedMaxThreshold; + } + // last event we already were over maxTouches + else touchesNumState = TouchesNumState.TooMany; + } + } + + activeTouches.Remove(touch); + numTouches = total; + touchCancelled(touch); + } + + internal virtual void INTERNAL_RemoveFriendlyGesture(Gesture gesture) + { + if (gesture == null || gesture == this) return; + + unregisterFriendlyGesture(gesture); + gesture.unregisterFriendlyGesture(this); + } + + #endregion + + #region Protected methods + + /// + /// Should the gesture cache this touch to use it later in calculation of . + /// + /// Touch to cache. + /// true if touch should be cached; false otherwise. + protected virtual bool shouldCacheTouchPosition(TouchPoint value) + { + return true; + } + + /// + /// Tries to change gesture state. + /// + /// New state. + /// true if state was changed; otherwise, false. + protected bool setState(GestureState value) + { + if (gestureManagerInstance == null) return false; + if (!enabled && value != GestureState.Failed) return false; + if (requireGestureToFail != null) + { + switch (value) + { + case GestureState.Recognized: + case GestureState.Began: + if (!requiredGestureFailed) + { + delayedStateChange = value; + return false; + } + break; + case GestureState.Possible: + case GestureState.Failed: + case GestureState.Cancelled: + delayedStateChange = GestureState.Possible; + break; + } + } + + var newState = gestureManagerInstance.INTERNAL_GestureChangeState(this, value); + State = newState; + + return value == newState; + } + + #endregion + + #region Callbacks + + /// + /// Called when a touch is added. + /// + /// The touch. + protected virtual void touchBegan(TouchPoint touch) {} + + /// + /// Called when a touch is moved. + /// + /// The touch. + protected virtual void touchMoved(TouchPoint touch) {} + + /// + /// Called when a touch is removed. + /// + /// The touch. + protected virtual void touchEnded(TouchPoint touch) {} + + /// + /// Called when a touch is cancelled. + /// + /// The touch. + protected virtual void touchCancelled(TouchPoint touch) + { + if (touchesNumState == TouchesNumState.PassedMinThreshold) + { + // moved below the threshold + switch (state) + { + case GestureState.Began: + case GestureState.Changed: + // cancel started gestures + setState(GestureState.Cancelled); + break; + } + } + } + + /// + /// Called to reset gesture state after it fails or recognizes. + /// + protected virtual void reset() + { + layer = null; + cachedScreenPosition = TouchManager.INVALID_POSITION; + cachedPreviousScreenPosition = TouchManager.INVALID_POSITION; + } + + /// + /// Called when state is changed to Possible. + /// + protected virtual void onPossible() {} + + /// + /// Called when state is changed to Began. + /// + protected virtual void onBegan() {} + + /// + /// Called when state is changed to Changed. + /// + protected virtual void onChanged() {} + + /// + /// Called when state is changed to Recognized. + /// + protected virtual void onRecognized() {} + + /// + /// Called when state is changed to Failed. + /// + protected virtual void onFailed() {} + + /// + /// Called when state is changed to Cancelled. + /// + protected virtual void onCancelled() + { + if (cancelledInvoker != null) cancelledInvoker.InvokeHandleExceptions(this, EventArgs.Empty); + if (useSendMessage && SendMessageTarget != null) + sendMessageTarget.SendMessage(CANCEL_MESSAGE, this, SendMessageOptions.DontRequireReceiver); + } + + #endregion + + #region Private functions + + private void retainTouches() + { + var total = NumTouches; + for (var i = 0; i < total; i++) activeTouches[i].INTERNAL_Retain(); + } + + private void releaseTouches(bool cancel) + { + var total = NumTouches; + for (var i = 0; i < total; i++) + { + var touch = activeTouches[i]; + if (touch.INTERNAL_Release() == 0 && cancel) touchManager.CancelTouch(touch.Id, true); + } + } + + private void registerFriendlyGesture(Gesture gesture) + { + if (gesture == null || gesture == this) return; + + if (!friendlyGestures.Contains(gesture)) friendlyGestures.Add(gesture); + } + + private void unregisterFriendlyGesture(Gesture gesture) + { + if (gesture == null || gesture == this) return; + + friendlyGestures.Remove(gesture); + } + + #endregion + + #region Event handlers + + private void requiredToFailGestureStateChangedHandler(object sender, GestureStateChangeEventArgs e) + { + if ((sender as Gesture) != requireGestureToFail) return; + switch (e.State) + { + case GestureState.Failed: + requiredGestureFailed = true; + if (delayedStateChange != GestureState.Possible) + { + setState(delayedStateChange); + } + break; + case GestureState.Began: + case GestureState.Recognized: + case GestureState.Cancelled: + if (state != GestureState.Failed) setState(GestureState.Failed); + break; + } + } + + #endregion + } + + /// + /// Event arguments for Gesture events + /// + public class GestureStateChangeEventArgs : EventArgs + { + /// + /// Previous gesture state. + /// + public Gesture.GestureState PreviousState { get; private set; } + + /// + /// Current gesture state. + /// + public Gesture.GestureState State { get; private set; } + + /// + /// Initializes a new instance of the class. + /// + /// Current gesture state. + /// Previous gesture state. + public GestureStateChangeEventArgs(Gesture.GestureState state, Gesture.GestureState previousState) + { + State = state; + PreviousState = previousState; + } + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Gestures/Gesture.cs.meta b/ThirdParty/TouchScript/Scripts/Gestures/Gesture.cs.meta new file mode 100644 index 000000000..c580d75cb --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/Gesture.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 5b3684fecdc114e83972296c74ab9d72 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Gestures/IGestureDelegate.cs b/ThirdParty/TouchScript/Scripts/Gestures/IGestureDelegate.cs new file mode 100644 index 000000000..f75e00cbe --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/IGestureDelegate.cs @@ -0,0 +1,42 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using TouchScript.Gestures; + +namespace TouchScript +{ + /// + /// A delegate which can be set to and control what this gesture can or can not do. + /// This is a way to control very precisely how affected gestures work without inheriting from them and overriding their behavior. + /// + /// + public interface IGestureDelegate + { + /// + /// Returns whether a gesture should receive a touch. + /// + /// The gesture. + /// The touch. + /// true if it should; false otherwise. + /// Can be used to restrict what touches a gesture can receive and ignore the ones it shouldn't. + bool ShouldReceiveTouch(Gesture gesture, TouchPoint touch); + + /// + /// Returns whether a gesture can now begin. + /// + /// The gesture. + /// true if it can; false otherwise. + /// Can be used to stop a ready to begin gesture. + bool ShouldBegin(Gesture gesture); + + /// + /// Returns whether two gestures can be recognized simultaneously or not. + /// + /// The first gesture. + /// The second gesture. + /// true if they should work together; false otherwise. + /// Can be used to restrict simultaneous gesture recognition. + bool ShouldRecognizeSimultaneously(Gesture first, Gesture second); + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Gestures/IGestureDelegate.cs.meta b/ThirdParty/TouchScript/Scripts/Gestures/IGestureDelegate.cs.meta new file mode 100644 index 000000000..613b63fcb --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/IGestureDelegate.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1c01a98d4f23442519f09fd70e86d158 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Gestures/ITransformGesture.cs b/ThirdParty/TouchScript/Scripts/Gestures/ITransformGesture.cs new file mode 100644 index 000000000..842bdde17 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/ITransformGesture.cs @@ -0,0 +1,36 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System; +using UnityEngine; + +namespace TouchScript.Gestures +{ + /// + /// Gesture which performs some kind of transformation in 3d space, i.e. translation, rotation, scaling or a combination of these. + /// + public interface ITransformGesture + { + /// + /// Occurs when gesture starts. + /// + event EventHandler TransformStarted; + + /// + /// Occurs when gesture data updates. + /// + event EventHandler Transformed; + + /// + /// Occurs when gesture finishes. + /// + event EventHandler TransformCompleted; + + /// + /// Applies gesture's transform for this frame to target Transform. + /// + /// Object to transform. + void ApplyTransform(Transform target); + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Gestures/ITransformGesture.cs.meta b/ThirdParty/TouchScript/Scripts/Gestures/ITransformGesture.cs.meta new file mode 100644 index 000000000..a7209b132 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/ITransformGesture.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 5a7c6923c3da84d40a5d07d86c4f29a8 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Gestures/LongPressGesture.cs b/ThirdParty/TouchScript/Scripts/Gestures/LongPressGesture.cs new file mode 100644 index 000000000..69b1b19c8 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/LongPressGesture.cs @@ -0,0 +1,183 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System; +using System.Collections; +using TouchScript.Utils; +using TouchScript.Utils.Attributes; +using UnityEngine; + +namespace TouchScript.Gestures +{ + /// + /// Gesture which recognizes a point cluster which didn't move for specified time since it appeared. + /// + [AddComponentMenu("TouchScript/Gestures/Long Press Gesture")] + [HelpURL("http://touchscript.github.io/docs/Index.html?topic=html/T_TouchScript_Gestures_LongPressGesture.htm")] + public class LongPressGesture : Gesture + { + #region Constants + + /// + /// Message name when gesture is recognized + /// + public const string LONG_PRESS_MESSAGE = "OnLongPress"; + + #endregion + + #region Events + + /// + /// Occurs when gesture is recognized. + /// + public event EventHandler LongPressed + { + add { longPressedInvoker += value; } + remove { longPressedInvoker -= value; } + } + + // Needed to overcome iOS AOT limitations + private EventHandler longPressedInvoker; + + #endregion + + #region Public properties + + /// + /// Gets or sets total time in seconds required to hold touches still. + /// + /// Time in seconds. + public float TimeToPress + { + get { return timeToPress; } + set { timeToPress = value; } + } + + /// + /// Gets or sets maximum distance in cm touch points can move before gesture fails. + /// + /// Distance in cm. + public float DistanceLimit + { + get { return distanceLimit; } + set + { + distanceLimit = value; + distanceLimitInPixelsSquared = Mathf.Pow(distanceLimit * touchManager.DotsPerCentimeter, 2); + } + } + + #endregion + + #region Private variables + + [SerializeField] + private float timeToPress = 1; + + [SerializeField] + [NullToggle(NullFloatValue = float.PositiveInfinity)] + private float distanceLimit = float.PositiveInfinity; + + private float distanceLimitInPixelsSquared; + + private Vector2 totalMovement; + + #endregion + + #region Unity methods + + /// + protected override void OnEnable() + { + base.OnEnable(); + + distanceLimitInPixelsSquared = Mathf.Pow(distanceLimit * touchManager.DotsPerCentimeter, 2); + } + + #endregion + + #region Gesture callbacks + + /// + protected override void touchBegan(TouchPoint touch) + { + base.touchBegan(touch); + + if (touchesNumState == TouchesNumState.PassedMaxThreshold || + touchesNumState == TouchesNumState.PassedMinMaxThreshold) + { + setState(GestureState.Failed); + } + else if (touchesNumState == TouchesNumState.PassedMinThreshold) + { + StartCoroutine("wait"); + } + } + + /// + protected override void touchMoved(TouchPoint touch) + { + base.touchMoved(touch); + + if (distanceLimit < float.PositiveInfinity) + { + totalMovement += ScreenPosition - PreviousScreenPosition; + if (totalMovement.sqrMagnitude > distanceLimitInPixelsSquared) setState(GestureState.Failed); + } + } + + /// + protected override void touchEnded(TouchPoint touch) + { + base.touchEnded(touch); + + if (touchesNumState == TouchesNumState.PassedMinThreshold) + { + setState(GestureState.Failed); + } + } + + /// + protected override void onRecognized() + { + base.onRecognized(); + if (longPressedInvoker != null) longPressedInvoker.InvokeHandleExceptions(this, EventArgs.Empty); + if (UseSendMessage && SendMessageTarget != null) SendMessageTarget.SendMessage(LONG_PRESS_MESSAGE, this, SendMessageOptions.DontRequireReceiver); + } + + /// + protected override void reset() + { + base.reset(); + + totalMovement = Vector2.zero; + StopCoroutine("wait"); + } + + #endregion + + #region Private functions + + private IEnumerator wait() + { + // WaitForSeconds is affected by time scale! + var targetTime = Time.unscaledTime + TimeToPress; + while (targetTime > Time.unscaledTime) yield return null; + + if (State == GestureState.Possible) + { + if (base.GetTargetHitResult()) + { + setState(GestureState.Recognized); + } + else + { + setState(GestureState.Failed); + } + } + } + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Gestures/LongPressGesture.cs.meta b/ThirdParty/TouchScript/Scripts/Gestures/LongPressGesture.cs.meta new file mode 100644 index 000000000..c1f653b58 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/LongPressGesture.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 65c8d97aff62a473e888feae3bec54cd +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Gestures/MetaGesture.cs b/ThirdParty/TouchScript/Scripts/Gestures/MetaGesture.cs new file mode 100644 index 000000000..faa25ea5f --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/MetaGesture.cs @@ -0,0 +1,154 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System; +using TouchScript.Utils; +using UnityEngine; + +namespace TouchScript.Gestures +{ + /// + /// Converts touch events for target object into separate events to be used somewhere else. + /// + [AddComponentMenu("TouchScript/Gestures/Meta Gesture")] + [HelpURL("http://touchscript.github.io/docs/Index.html?topic=html/T_TouchScript_Gestures_MetaGesture.htm")] + public sealed class MetaGesture : Gesture + { + #region Constants + + /// + /// Message dispatched when a touch begins. + /// + public const string TOUCH_BEGAN_MESSAGE = "OnTouchBegan"; + + /// + /// Message dispatched when a touch moves. + /// + public const string TOUCH_MOVED_MESSAGE = "OnTouchMoved"; + + /// + /// Message dispatched when a touch ends. + /// + public const string TOUCH_ENDED_MESSAGE = "OnTouchEnded"; + + /// + /// Message dispatched when a touch is cancelled. + /// + public const string TOUCH_CANCELLED_MESSAGE = "OnTouchCancelled"; + + #endregion + + #region Events + + /// + /// Occurs when a touch point is added. + /// + public event EventHandler TouchBegan + { + add { touchBeganInvoker += value; } + remove { touchBeganInvoker -= value; } + } + + /// + /// Occurs when a touch point is updated. + /// + public event EventHandler TouchMoved + { + add { touchMovedInvoker += value; } + remove { touchMovedInvoker -= value; } + } + + /// + /// Occurs when a touch point is removed. + /// + public event EventHandler TouchEnded + { + add { touchEndedInvoker += value; } + remove { touchEndedInvoker -= value; } + } + + /// + /// Occurs when a touch point is cancelled. + /// + public event EventHandler TouchCancelled + { + add { touchCancelledInvoker += value; } + remove { touchCancelledInvoker -= value; } + } + + // Needed to overcome iOS AOT limitations + private EventHandler touchBeganInvoker, + touchMovedInvoker, + touchEndedInvoker, + touchCancelledInvoker; + + #endregion + + #region Gesture callbacks + + /// + protected override void touchBegan(TouchPoint touch) + { + base.touchBegan(touch); + + if (State == GestureState.Possible) setState(GestureState.Began); + + if (touchBeganInvoker != null) touchBeganInvoker.InvokeHandleExceptions(this, new MetaGestureEventArgs(touch)); + if (UseSendMessage && SendMessageTarget != null) SendMessageTarget.SendMessage(TOUCH_BEGAN_MESSAGE, touch, SendMessageOptions.DontRequireReceiver); + } + + /// + protected override void touchMoved(TouchPoint touch) + { + base.touchMoved(touch); + + if (State == GestureState.Began || State == GestureState.Changed) setState(GestureState.Changed); + + if (touchMovedInvoker != null) touchMovedInvoker.InvokeHandleExceptions(this, new MetaGestureEventArgs(touch)); + if (UseSendMessage && SendMessageTarget != null) SendMessageTarget.SendMessage(TOUCH_MOVED_MESSAGE, touch, SendMessageOptions.DontRequireReceiver); + } + + /// + protected override void touchEnded(TouchPoint touch) + { + base.touchEnded(touch); + + if ((State == GestureState.Began || State == GestureState.Changed) && NumTouches == 0) setState(GestureState.Ended); + + if (touchEndedInvoker != null) touchEndedInvoker.InvokeHandleExceptions(this, new MetaGestureEventArgs(touch)); + if (UseSendMessage && SendMessageTarget != null) SendMessageTarget.SendMessage(TOUCH_ENDED_MESSAGE, touch, SendMessageOptions.DontRequireReceiver); + } + + /// + protected override void touchCancelled(TouchPoint touch) + { + base.touchCancelled(touch); + + if (touchCancelledInvoker != null) touchCancelledInvoker.InvokeHandleExceptions(this, new MetaGestureEventArgs(touch)); + if (UseSendMessage && SendMessageTarget != null) SendMessageTarget.SendMessage(TOUCH_CANCELLED_MESSAGE, touch, SendMessageOptions.DontRequireReceiver); + } + + #endregion + } + + /// + /// EventArgs for MetaGesture events. + /// + public class MetaGestureEventArgs : EventArgs + { + /// + /// Current touch point. + /// + public TouchPoint Touch { get; private set; } + + /// + /// Initializes a new instance of the class. + /// + /// Touch point the event is for. + public MetaGestureEventArgs(TouchPoint touch) + { + Touch = touch; + } + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Gestures/MetaGesture.cs.meta b/ThirdParty/TouchScript/Scripts/Gestures/MetaGesture.cs.meta new file mode 100644 index 000000000..04efca14c --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/MetaGesture.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3fd90a8856e1a49eba25728d5aaac9f2 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Gestures/PinnedTransformGesture.cs b/ThirdParty/TouchScript/Scripts/Gestures/PinnedTransformGesture.cs new file mode 100644 index 000000000..cabdeceea --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/PinnedTransformGesture.cs @@ -0,0 +1,368 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System; +using TouchScript.Gestures.Base; +using TouchScript.Layers; +using TouchScript.Utils.Geom; +#if TOUCHSCRIPT_DEBUG +using TouchScript.Utils.Debug; +#endif +using UnityEngine; + +namespace TouchScript.Gestures +{ + /// + /// Recognizes a transform gesture around center of the object, i.e. one finger rotation, scaling or a combination of these. + /// + [AddComponentMenu("TouchScript/Gestures/Pinned Transform Gesture")] + [HelpURL("http://touchscript.github.io/docs/Index.html?topic=html/T_TouchScript_Gestures_PinnedTransformGesture.htm")] + public class PinnedTransformGesture : PinnedTrasformGestureBase, ITransformGesture + { + #region Constants + + /// + /// Transform's projection type. + /// + public enum ProjectionType + { + /// + /// Use a plane with normal vector defined by layer. + /// + Layer, + + /// + /// Use a plane with certain normal vector in local coordinates. + /// + Object, + + /// + /// Use a plane with certain normal vector in global coordinates. + /// + Global + } + + #endregion + + #region Public properties + + /// + /// Gets or sets transform's projection type. + /// + /// Projection type. + public ProjectionType Projection + { + get { return projection; } + set + { + if (projection == value) return; + projection = value; + if (Application.isPlaying) updateProjectionPlane(); + } + } + + /// + /// Gets or sets transform's projection plane normal. + /// + /// Projection plane normal. + public Vector3 ProjectionPlaneNormal + { + get + { + if (projection == ProjectionType.Layer) return projectionLayer.WorldProjectionNormal; + return projectionPlaneNormal; + } + set + { + if (projection == ProjectionType.Layer) projection = ProjectionType.Object; + value.Normalize(); + if (projectionPlaneNormal == value) return; + projectionPlaneNormal = value; + if (Application.isPlaying) updateProjectionPlane(); + } + } + + /// + /// Plane where transformation occured. + /// + public Plane TransformPlane + { + get { return transformPlane; } + } + + /// + /// Gets rotation axis of the gesture in world coordinates. + /// + /// Rotation axis of the gesture in world coordinates. + public Vector3 RotationAxis + { + get { return transformPlane.normal; } + } + + #endregion + + #region Private variables + + [SerializeField] + private ProjectionType projection = ProjectionType.Layer; + + [SerializeField] + private Vector3 projectionPlaneNormal = Vector3.forward; + + private TouchLayer projectionLayer; + private Plane transformPlane; + + #endregion + + #region Public methods + + /// + public void ApplyTransform(Transform target) + { + if (!Mathf.Approximately(DeltaRotation, 0f)) + target.rotation = Quaternion.AngleAxis(DeltaRotation, RotationAxis) * target.rotation; + if (!Mathf.Approximately(DeltaScale, 1f)) target.localScale *= DeltaScale; + } + + #endregion + + #region Unity methods + + /// + protected override void Awake() + { + base.Awake(); + transformPlane = new Plane(); + } + + /// + protected override void OnEnable() + { + base.OnEnable(); + + updateProjectionPlane(); + TouchManager.Instance.FrameFinished += frameFinishedHandler; + } + + /// + protected override void OnDisable() + { + base.OnDisable(); + + if (TouchManager.Instance != null) TouchManager.Instance.FrameFinished -= frameFinishedHandler; + } + + #endregion + + #region Gesture callbacks + + /// + protected override void touchBegan(TouchPoint touch) + { + base.touchBegan(touch); + + if (State != GestureState.Possible) return; + if (NumTouches == 1) + { + projectionLayer = activeTouches[0].Layer; + updateProjectionPlane(); + +#if TOUCHSCRIPT_DEBUG + drawDebug(activeTouches[0].ProjectionParams.ProjectFrom(cachedTransform.position), activeTouches[0].Position); +#endif + } + } + + /// + protected override void touchMoved(TouchPoint touch) + { + base.touchMoved(touch); + + movedTouches.Add(touch); + } + +#if TOUCHSCRIPT_DEBUG + /// + protected override void touchEnded(TouchPoint touch) + { + base.touchEnded(touch); + + if (NumTouches == 0) return; + drawDebug(activeTouches[0].ProjectionParams.ProjectFrom(cachedTransform.position), activeTouches[0].Position); + } +#endif + + #endregion + + #region Protected methods + +#if TOUCHSCRIPT_DEBUG + protected override void clearDebug() + { + base.clearDebug(); + + GLDebug.RemoveFigure(debugID + 3); + } + + protected override void drawDebug(Vector2 point1, Vector2 point2) + { + base.drawDebug(point1, point2); + + GLDebug.DrawPlaneWithNormal(debugID + 3, cachedTransform.position, RotationAxis, 1f, GLDebug.MULTIPLY, float.PositiveInfinity); + } +#endif + + #endregion + + #region Private functions + + private float doRotation(Vector3 center, Vector2 oldScreenPos, Vector2 newScreenPos, + ProjectionParams projectionParams) + { + var newVector = projectionParams.ProjectTo(newScreenPos, TransformPlane) - center; + var oldVector = projectionParams.ProjectTo(oldScreenPos, TransformPlane) - center; + var angle = Vector3.Angle(oldVector, newVector); + if (Vector3.Dot(Vector3.Cross(oldVector, newVector), TransformPlane.normal) < 0) + angle = -angle; + return angle; + } + + private float doScaling(Vector3 center, Vector2 oldScreenPos, Vector2 newScreenPos, + ProjectionParams projectionParams) + { + var newVector = projectionParams.ProjectTo(newScreenPos, TransformPlane) - center; + var oldVector = projectionParams.ProjectTo(oldScreenPos, TransformPlane) - center; + return newVector.magnitude / oldVector.magnitude; + } + + private void updateProjectionPlane() + { + if (!Application.isPlaying) return; + + switch (projection) + { + case ProjectionType.Layer: + if (projectionLayer == null) + transformPlane = new Plane(cachedTransform.TransformDirection(Vector3.forward), + cachedTransform.position); + else transformPlane = new Plane(projectionLayer.WorldProjectionNormal, cachedTransform.position); + break; + case ProjectionType.Object: + transformPlane = new Plane(cachedTransform.TransformDirection(projectionPlaneNormal), + cachedTransform.position); + break; + case ProjectionType.Global: + transformPlane = new Plane(projectionPlaneNormal, cachedTransform.position); + break; + } + } + + private void updateMoved() + { +#if TOUCHSCRIPT_DEBUG + var worldCenter = cachedTransform.position; + var screenCenter = projectionParams.ProjectFrom(worldCenter); + var newScreenPos = getPointScreenPosition(); + drawDebug(screenCenter, newScreenPos); +#endif + + if (NumTouches == 0) return; + + var rotationEnabled = (Type & TransformType.Rotation) == TransformType.Rotation; + var scalingEnabled = (Type & TransformType.Scaling) == TransformType.Scaling; + if (!rotationEnabled && !scalingEnabled) return; + if (!relevantTouches()) return; + + var dR = deltaRotation = 0; + var dS = deltaScale = 1f; + +#if !TOUCHSCRIPT_DEBUG + var theTouch = activeTouches[0]; + var worldCenter = cachedTransform.position; + var screenCenter = projectionParams.ProjectFrom(worldCenter); + var newScreenPos = theTouch.Position; +#endif + + // Here we can't reuse last frame screen positions because points 0 and 1 can change. + // For example if the first of 3 fingers is lifted off. + var oldScreenPos = getPointPreviousScreenPosition(); + + if (rotationEnabled) + { + if (isTransforming) + { + dR = doRotation(worldCenter, oldScreenPos, newScreenPos, projectionParams); + } + else + { + // Find how much we moved perpendicular to the line (center, oldScreenPos) + screenPixelRotationBuffer += TwoD.PointToLineDistance(screenCenter, oldScreenPos, newScreenPos); + angleBuffer += doRotation(worldCenter, oldScreenPos, newScreenPos, projectionParams); + + if (screenPixelRotationBuffer * screenPixelRotationBuffer >= + screenTransformPixelThresholdSquared) + { + isTransforming = true; + dR = angleBuffer; + } + } + } + + if (scalingEnabled) + { + if (isTransforming) + { + dS *= doScaling(worldCenter, oldScreenPos, newScreenPos, projectionParams); + } + else + { + screenPixelScalingBuffer += (newScreenPos - screenCenter).magnitude - + (oldScreenPos - screenCenter).magnitude; + scaleBuffer *= doScaling(worldCenter, oldScreenPos, newScreenPos, projectionParams); + + if (screenPixelScalingBuffer * screenPixelScalingBuffer >= + screenTransformPixelThresholdSquared) + { + isTransforming = true; + dS = scaleBuffer; + } + } + } + + if (dR != 0 || dS != 1) + { + if (State == GestureState.Possible) + { + if (touchesNumState == TouchesNumState.InRange) setState(GestureState.Began); + else + { + // Wrong number of touches! + setState(GestureState.Failed); + return; + } + } + switch (State) + { + case GestureState.Began: + case GestureState.Changed: + deltaRotation = dR; + deltaScale = dS; + setState(GestureState.Changed); + break; + } + } + } + + private void frameFinishedHandler(object sender, EventArgs eventArgs) + { + if (movedTouches.Count > 0) + { + updateMoved(); + movedTouches.Clear(); + } + } + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Gestures/PinnedTransformGesture.cs.meta b/ThirdParty/TouchScript/Scripts/Gestures/PinnedTransformGesture.cs.meta new file mode 100644 index 000000000..f1dd73cfc --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/PinnedTransformGesture.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 38e07bff8743d4ee38bf724a7a2b4cbb +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Gestures/PressGesture.cs b/ThirdParty/TouchScript/Scripts/Gestures/PressGesture.cs new file mode 100644 index 000000000..8b3efc396 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/PressGesture.cs @@ -0,0 +1,112 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System; +using TouchScript.Utils; +using TouchScript.Utils.Attributes; +using UnityEngine; + +namespace TouchScript.Gestures +{ + /// + /// Recognizes when an object is touched. + /// Works with any gesture unless a Delegate is set. + /// + [AddComponentMenu("TouchScript/Gestures/Press Gesture")] + [HelpURL("http://touchscript.github.io/docs/Index.html?topic=html/T_TouchScript_Gestures_PressGesture.htm")] + public class PressGesture : Gesture + { + #region Constants + + /// + /// Message name when gesture is recognized + /// + public const string PRESS_MESSAGE = "OnPress"; + + #endregion + + #region Events + + /// + /// Occurs when gesture is recognized. + /// + public event EventHandler Pressed + { + add { pressedInvoker += value; } + remove { pressedInvoker -= value; } + } + + // Needed to overcome iOS AOT limitations + private EventHandler pressedInvoker; + + #endregion + + #region Public properties + + /// + /// Gets or sets a value indicating whether actions coming from children should be ingored. + /// + /// true if actions from children should be ignored; otherwise, false. + public bool IgnoreChildren + { + get { return ignoreChildren; } + set { ignoreChildren = value; } + } + + #endregion + + #region Private variables + + [SerializeField] + [ToggleLeft] + private bool ignoreChildren = false; + + #endregion + + #region Gesture callbacks + + /// + public override bool ShouldReceiveTouch(TouchPoint touch) + { + if (!IgnoreChildren) return base.ShouldReceiveTouch(touch); + if (!base.ShouldReceiveTouch(touch)) return false; + + if (touch.Target != cachedTransform) return false; + return true; + } + + /// + public override bool CanPreventGesture(Gesture gesture) + { + if (Delegate == null) return false; + return !Delegate.ShouldRecognizeSimultaneously(this, gesture); + } + + /// + public override bool CanBePreventedByGesture(Gesture gesture) + { + if (Delegate == null) return false; + return !Delegate.ShouldRecognizeSimultaneously(this, gesture); + } + + /// + protected override void touchBegan(TouchPoint touch) + { + base.touchBegan(touch); + + if (touchesNumState == TouchesNumState.PassedMinThreshold) setState(GestureState.Recognized); + } + + /// + protected override void onRecognized() + { + base.onRecognized(); + if (pressedInvoker != null) pressedInvoker.InvokeHandleExceptions(this, EventArgs.Empty); + if (UseSendMessage && SendMessageTarget != null) + SendMessageTarget.SendMessage(PRESS_MESSAGE, this, SendMessageOptions.DontRequireReceiver); + } + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Gestures/PressGesture.cs.meta b/ThirdParty/TouchScript/Scripts/Gestures/PressGesture.cs.meta new file mode 100644 index 000000000..5595e47f7 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/PressGesture.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c6be551879cd14d739b0188844ef2c60 +timeCreated: 1447582131 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Gestures/ReleaseGesture.cs b/ThirdParty/TouchScript/Scripts/Gestures/ReleaseGesture.cs new file mode 100644 index 000000000..907ae7c62 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/ReleaseGesture.cs @@ -0,0 +1,111 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System; +using TouchScript.Utils; +using TouchScript.Utils.Attributes; +using UnityEngine; + +namespace TouchScript.Gestures +{ + /// + /// Recognizes when last touch is released from target. + /// Works with any gesture unless a Delegate is set. + /// + [AddComponentMenu("TouchScript/Gestures/Release Gesture")] + [HelpURL("http://touchscript.github.io/docs/Index.html?topic=html/T_TouchScript_Gestures_ReleaseGesture.htm")] + public class ReleaseGesture : Gesture + { + #region Constants + + /// + /// Message name when gesture is recognized + /// + public const string RELEASE_MESSAGE = "OnRelease"; + + #endregion + + #region Events + + /// + /// Occurs when gesture is recognized. + /// + public event EventHandler Released + { + add { releasedInvoker += value; } + remove { releasedInvoker -= value; } + } + + // Needed to overcome iOS AOT limitations + private EventHandler releasedInvoker; + + #endregion + + #region Public properties + + /// + /// Gets or sets a value indicating whether actions coming from children should be ingored. + /// + /// true if actions from children should be ignored; otherwise, false. + public bool IgnoreChildren + { + get { return ignoreChildren; } + set { ignoreChildren = value; } + } + + #endregion + + #region Private variables + + [SerializeField] + [ToggleLeft] + private bool ignoreChildren = false; + + #endregion + + #region Gesture callbacks + + /// + public override bool ShouldReceiveTouch(TouchPoint touch) + { + if (!IgnoreChildren) return base.ShouldReceiveTouch(touch); + if (!base.ShouldReceiveTouch(touch)) return false; + + if (touch.Target != cachedTransform) return false; + return true; + } + + /// + public override bool CanPreventGesture(Gesture gesture) + { + if (Delegate == null) return false; + return !Delegate.ShouldRecognizeSimultaneously(this, gesture); + } + + /// + public override bool CanBePreventedByGesture(Gesture gesture) + { + if (Delegate == null) return false; + return !Delegate.ShouldRecognizeSimultaneously(this, gesture); + } + + /// + protected override void touchEnded(TouchPoint touch) + { + base.touchEnded(touch); + + if (touchesNumState == TouchesNumState.PassedMinThreshold) setState(GestureState.Recognized); + } + + /// + protected override void onRecognized() + { + base.onRecognized(); + if (releasedInvoker != null) releasedInvoker.InvokeHandleExceptions(this, EventArgs.Empty); + if (UseSendMessage && SendMessageTarget != null) SendMessageTarget.SendMessage(RELEASE_MESSAGE, this, SendMessageOptions.DontRequireReceiver); + } + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Gestures/ReleaseGesture.cs.meta b/ThirdParty/TouchScript/Scripts/Gestures/ReleaseGesture.cs.meta new file mode 100644 index 000000000..1986da9c6 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/ReleaseGesture.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 141e75b9b7edb42df80a22a14f03ae4b +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Gestures/ScreenTransformGesture.cs b/ThirdParty/TouchScript/Scripts/Gestures/ScreenTransformGesture.cs new file mode 100644 index 000000000..ee6010cfa --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/ScreenTransformGesture.cs @@ -0,0 +1,106 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using TouchScript.Gestures.Base; +using TouchScript.Layers; +using TouchScript.Utils.Geom; +using UnityEngine; + +namespace TouchScript.Gestures +{ + /// + /// Recognizes a transform gesture in screen space, i.e. translation, rotation, scaling or a combination of these. + /// + [AddComponentMenu("TouchScript/Gestures/Screen Transform Gesture")] + [HelpURL("http://touchscript.github.io/docs/Index.html?topic=html/T_TouchScript_Gestures_ScreenTransformGesture.htm")] + public class ScreenTransformGesture : TransformGestureBase, ITransformGesture + { + #region Public methods + + /// + public void ApplyTransform(Transform target) + { + if (DeltaPosition != Vector3.zero) target.position += DeltaPosition; + if (!Mathf.Approximately(DeltaRotation, 0f)) + target.rotation = Quaternion.Euler(0, 0, DeltaRotation) * target.rotation; + if (!Mathf.Approximately(DeltaScale, 1f)) target.localScale *= DeltaScale; + } + + #endregion + + #region Protected methods + + /// + protected override float doRotation(Vector2 oldScreenPos1, Vector2 oldScreenPos2, Vector2 newScreenPos1, + Vector2 newScreenPos2, ProjectionParams projectionParams) + { + var oldScreenDelta = oldScreenPos2 - oldScreenPos1; + var newScreenDelta = newScreenPos2 - newScreenPos1; + return (Mathf.Atan2(newScreenDelta.y, newScreenDelta.x) - + Mathf.Atan2(oldScreenDelta.y, oldScreenDelta.x)) * Mathf.Rad2Deg; + } + + /// + protected override float doScaling(Vector2 oldScreenPos1, Vector2 oldScreenPos2, Vector2 newScreenPos1, + Vector2 newScreenPos2, ProjectionParams projectionParams) + { + return (newScreenPos2 - newScreenPos1).magnitude / (oldScreenPos2 - oldScreenPos1).magnitude; + } + + /// + protected override Vector3 doOnePointTranslation(Vector2 oldScreenPos, Vector2 newScreenPos, + ProjectionParams projectionParams) + { + if (isTransforming) + { + return new Vector3(newScreenPos.x - oldScreenPos.x, newScreenPos.y - oldScreenPos.y, 0); + } + + screenPixelTranslationBuffer += newScreenPos - oldScreenPos; + if (screenPixelTranslationBuffer.sqrMagnitude > screenTransformPixelThresholdSquared) + { + isTransforming = true; + return screenPixelTranslationBuffer; + } + + return Vector3.zero; + } + + /// + protected override Vector3 doTwoPointTranslation(Vector2 oldScreenPos1, Vector2 oldScreenPos2, + Vector2 newScreenPos1, Vector2 newScreenPos2, float dR, float dS, ProjectionParams projectionParams) + { + if (isTransforming) + { + var transformedPoint = scaleAndRotate(oldScreenPos1, (oldScreenPos1 + oldScreenPos2) * .5f, dR, dS); + return new Vector3(newScreenPos1.x - transformedPoint.x, newScreenPos1.y - transformedPoint.y, 0); + } + + screenPixelTranslationBuffer += newScreenPos1 - oldScreenPos1; + if (screenPixelTranslationBuffer.sqrMagnitude > screenTransformPixelThresholdSquared) + { + isTransforming = true; + oldScreenPos1 = newScreenPos1 - screenPixelTranslationBuffer; + var transformedPoint = scaleAndRotate(oldScreenPos1, (oldScreenPos1 + oldScreenPos2) * .5f, dR, dS); + return new Vector3(newScreenPos1.x - transformedPoint.x, newScreenPos1.y - transformedPoint.y, 0); + } + + return Vector3.zero; + } + + #endregion + + #region Private functions + + private Vector2 scaleAndRotate(Vector2 point, Vector2 center, float dR, float dS) + { + var delta = point - center; + if (dR != 0) delta = TwoD.Rotate(delta, dR); + if (dS != 0) delta = delta * dS; + return center + delta; + } + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Gestures/ScreenTransformGesture.cs.meta b/ThirdParty/TouchScript/Scripts/Gestures/ScreenTransformGesture.cs.meta new file mode 100644 index 000000000..4948188d7 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/ScreenTransformGesture.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 74ae431eff8434b0897d3f7f1cff4311 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Gestures/TapGesture.cs b/ThirdParty/TouchScript/Scripts/Gestures/TapGesture.cs new file mode 100644 index 000000000..4217fbc4b --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/TapGesture.cs @@ -0,0 +1,255 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System; +using System.Collections; +using TouchScript.Utils; +using TouchScript.Utils.Attributes; +using UnityEngine; + +namespace TouchScript.Gestures +{ + /// + /// Recognizes a tap. + /// + [AddComponentMenu("TouchScript/Gestures/Tap Gesture")] + [HelpURL("http://touchscript.github.io/docs/Index.html?topic=html/T_TouchScript_Gestures_TapGesture.htm")] + public class TapGesture : Gesture + { + #region Constants + + /// + /// Message name when gesture is recognized + /// + public const string TAP_MESSAGE = "OnTap"; + + #endregion + + #region Events + + /// + /// Occurs when gesture is recognized. + /// + public event EventHandler Tapped + { + add { tappedInvoker += value; } + remove { tappedInvoker -= value; } + } + + // Needed to overcome iOS AOT limitations + private EventHandler tappedInvoker; + + #endregion + + #region Public properties + + /// + /// Gets or sets the number of taps required for the gesture to recognize. + /// + /// The number of taps required for this gesture to recognize. 1 — dingle tap, 2 — double tap. + public int NumberOfTapsRequired + { + get { return numberOfTapsRequired; } + set + { + if (value <= 0) numberOfTapsRequired = 1; + else numberOfTapsRequired = value; + } + } + + /// + /// Gets or sets maximum hold time before gesture fails. + /// + /// Number of seconds a user should hold their fingers before gesture fails. + public float TimeLimit + { + get { return timeLimit; } + set { timeLimit = value; } + } + + /// + /// Gets or sets maximum distance for touch cluster must move for the gesture to fail. + /// + /// Distance in cm touches must move before gesture fails. + public float DistanceLimit + { + get { return distanceLimit; } + set + { + distanceLimit = value; + distanceLimitInPixelsSquared = Mathf.Pow(distanceLimit * touchManager.DotsPerCentimeter, 2); + } + } + + #endregion + + #region Private variables + + [SerializeField] + private int numberOfTapsRequired = 1; + + [SerializeField] + [NullToggle(NullFloatValue = float.PositiveInfinity)] + private float timeLimit = + float.PositiveInfinity; + + [SerializeField] + [NullToggle(NullFloatValue = float.PositiveInfinity)] + private float distanceLimit = + float.PositiveInfinity; + + private float distanceLimitInPixelsSquared; + + private bool isActive = false; + private int tapsDone; + private Vector2 startPosition; + private Vector2 totalMovement; + + #endregion + + #region Unity methods + + /// + protected override void OnEnable() + { + base.OnEnable(); + + distanceLimitInPixelsSquared = Mathf.Pow(distanceLimit * touchManager.DotsPerCentimeter, 2); + } + + #endregion + + #region Gesture callbacks + + /// + protected override void touchBegan(TouchPoint touch) + { + base.touchBegan(touch); + + if (touchesNumState == TouchesNumState.PassedMaxThreshold || + touchesNumState == TouchesNumState.PassedMinMaxThreshold) + { + setState(GestureState.Failed); + return; + } + + if (NumTouches == 1) + { + // the first ever touch + if (tapsDone == 0) + { + startPosition = touch.Position; + if (timeLimit < float.PositiveInfinity) StartCoroutine("wait"); + } + else if (tapsDone >= numberOfTapsRequired) // Might be delayed and retapped while waiting + { + setState(GestureState.Possible); + reset(); + startPosition = touch.Position; + if (timeLimit < float.PositiveInfinity) StartCoroutine("wait"); + } + else + { + if (distanceLimit < float.PositiveInfinity) + { + if ((touch.Position - startPosition).sqrMagnitude > distanceLimitInPixelsSquared) + { + setState(GestureState.Failed); + return; + } + } + } + } + if (touchesNumState == TouchesNumState.PassedMinThreshold) + { + // Starting the gesture when it is already active? => we released one finger and pressed again + if (isActive) setState(GestureState.Failed); + else isActive = true; + } + } + + /// + protected override void touchMoved(TouchPoint touch) + { + base.touchMoved(touch); + + if (distanceLimit < float.PositiveInfinity) + { + totalMovement += touch.Position - touch.PreviousPosition; + if (totalMovement.sqrMagnitude > distanceLimitInPixelsSquared) setState(GestureState.Failed); + } + } + + /// + protected override void touchEnded(TouchPoint touch) + { + base.touchEnded(touch); + + if (NumTouches == 0) + { + if (!isActive) + { + setState(GestureState.Failed); + return; + } + + // touches outside of gesture target are ignored in shouldCacheTouchPosition() + // if all touches are outside ScreenPosition will be invalid + if (TouchManager.IsInvalidPosition(ScreenPosition)) + { + setState(GestureState.Failed); + } + else + { + tapsDone++; + isActive = false; + if (tapsDone >= numberOfTapsRequired) setState(GestureState.Recognized); + } + } + } + + /// + protected override void onRecognized() + { + base.onRecognized(); + + StopCoroutine("wait"); + if (tappedInvoker != null) tappedInvoker.InvokeHandleExceptions(this, EventArgs.Empty); + if (UseSendMessage && SendMessageTarget != null) SendMessageTarget.SendMessage(TAP_MESSAGE, this, SendMessageOptions.DontRequireReceiver); + } + + /// + protected override void reset() + { + base.reset(); + + isActive = false; + totalMovement = Vector2.zero; + StopCoroutine("wait"); + tapsDone = 0; + } + + /// + protected override bool shouldCacheTouchPosition(TouchPoint value) + { + // Points must be over target when released + return GetTargetHitResult(value.Position); + } + + #endregion + + #region private functions + + private IEnumerator wait() + { + // WaitForSeconds is affected by time scale! + var targetTime = Time.unscaledTime + TimeLimit; + while (targetTime > Time.unscaledTime) yield return null; + + if (State == GestureState.Possible) setState(GestureState.Failed); + } + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Gestures/TapGesture.cs.meta b/ThirdParty/TouchScript/Scripts/Gestures/TapGesture.cs.meta new file mode 100644 index 000000000..cf20a7e9f --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/TapGesture.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 7a878a6ff128243dfb1d89ca0273f059 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Gestures/TransformGesture.cs b/ThirdParty/TouchScript/Scripts/Gestures/TransformGesture.cs new file mode 100644 index 000000000..7658fb6f8 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/TransformGesture.cs @@ -0,0 +1,310 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using TouchScript.Gestures.Base; +using TouchScript.Layers; +using TouchScript.Utils; +#if TOUCHSCRIPT_DEBUG +using TouchScript.Utils.Debug; +#endif +using UnityEngine; + +namespace TouchScript.Gestures +{ + /// + /// Recognizes a transform gesture, i.e. translation, rotation, scaling or a combination of these. + /// + [AddComponentMenu("TouchScript/Gestures/Transform Gesture")] + [HelpURL("http://touchscript.github.io/docs/Index.html?topic=html/T_TouchScript_Gestures_TransformGesture.htm")] + public class TransformGesture : TransformGestureBase, ITransformGesture + { + #region Constants + + /// + /// Transform's projection type. + /// + public enum ProjectionType + { + /// + /// Use a plane with normal vector defined by layer. + /// + Layer, + + /// + /// Use a plane with certain normal vector in local coordinates. + /// + Object, + + /// + /// Use a plane with certain normal vector in global coordinates. + /// + Global, + } + + #endregion + + #region Public properties + + /// + /// Gets or sets transform's projection type. + /// + /// Projection type. + public ProjectionType Projection + { + get { return projection; } + set + { + if (projection == value) return; + projection = value; + if (Application.isPlaying) updateProjectionPlane(); + } + } + + /// + /// Gets or sets transform's projection plane normal. + /// + /// Projection plane normal. + public Vector3 ProjectionPlaneNormal + { + get + { + if (projection == ProjectionType.Layer) return projectionLayer.WorldProjectionNormal; + return projectionPlaneNormal; + } + set + { + if (projection == ProjectionType.Layer) projection = ProjectionType.Object; + value.Normalize(); + if (projectionPlaneNormal == value) return; + projectionPlaneNormal = value; + if (Application.isPlaying) updateProjectionPlane(); + } + } + + /// + /// Plane where transformation occured. + /// + public Plane TransformPlane + { + get { return transformPlane; } + } + + /// + /// Gets delta position in local coordinates. + /// + /// Delta position between this frame and the last frame in local coordinates. + public Vector3 LocalDeltaPosition + { + get { return TransformUtils.GlobalToLocalVector(cachedTransform, DeltaPosition); } + } + + /// + /// Gets rotation axis of the gesture in world coordinates. + /// + /// Rotation axis of the gesture in world coordinates. + public Vector3 RotationAxis + { + get { return transformPlane.normal; } + } + + #endregion + + #region Private variables + + [SerializeField] + private ProjectionType projection = ProjectionType.Layer; + + [SerializeField] + private Vector3 projectionPlaneNormal = Vector3.forward; + + private TouchLayer projectionLayer; + private Plane transformPlane; + + #endregion + + #region Public methods + + /// + public void ApplyTransform(Transform target) + { + if (!Mathf.Approximately(DeltaScale, 1f)) target.localScale *= DeltaScale; + if (!Mathf.Approximately(DeltaRotation, 0f)) target.rotation = Quaternion.AngleAxis(DeltaRotation, RotationAxis) * target.rotation; + if (DeltaPosition != Vector3.zero) target.position += DeltaPosition; + } + + #endregion + + #region Unity methods + + /// + protected override void Awake() + { + base.Awake(); + transformPlane = new Plane(); + } + + /// + protected override void OnEnable() + { + base.OnEnable(); + updateProjectionPlane(); + } + + #endregion + + #region Gesture callbacks + + /// + protected override void touchBegan(TouchPoint touch) + { + base.touchBegan(touch); + + if (State != GestureState.Possible) return; + if (NumTouches == 1) + { + projectionLayer = activeTouches[0].Layer; + updateProjectionPlane(); + } + } + + #endregion + + #region Protected methods + + /// + protected override float doRotation(Vector2 oldScreenPos1, Vector2 oldScreenPos2, Vector2 newScreenPos1, + Vector2 newScreenPos2, ProjectionParams projectionParams) + { + var newVector = projectionParams.ProjectTo(newScreenPos2, TransformPlane) - + projectionParams.ProjectTo(newScreenPos1, TransformPlane); + var oldVector = projectionParams.ProjectTo(oldScreenPos2, TransformPlane) - + projectionParams.ProjectTo(oldScreenPos1, TransformPlane); + var angle = Vector3.Angle(oldVector, newVector); + if (Vector3.Dot(Vector3.Cross(oldVector, newVector), TransformPlane.normal) < 0) + angle = -angle; + return angle; + } + + /// + protected override float doScaling(Vector2 oldScreenPos1, Vector2 oldScreenPos2, Vector2 newScreenPos1, + Vector2 newScreenPos2, ProjectionParams projectionParams) + { + var newVector = projectionParams.ProjectTo(newScreenPos2, TransformPlane) - + projectionParams.ProjectTo(newScreenPos1, TransformPlane); + var oldVector = projectionParams.ProjectTo(oldScreenPos2, TransformPlane) - + projectionParams.ProjectTo(oldScreenPos1, TransformPlane); + return newVector.magnitude / oldVector.magnitude; + } + + /// + protected override Vector3 doOnePointTranslation(Vector2 oldScreenPos, Vector2 newScreenPos, + ProjectionParams projectionParams) + { + if (isTransforming) + { + return projectionParams.ProjectTo(newScreenPos, TransformPlane) - + projectionParams.ProjectTo(oldScreenPos, TransformPlane); + } + + screenPixelTranslationBuffer += newScreenPos - oldScreenPos; + if (screenPixelTranslationBuffer.sqrMagnitude > screenTransformPixelThresholdSquared) + { + isTransforming = true; + return projectionParams.ProjectTo(newScreenPos, TransformPlane) - + projectionParams.ProjectTo(newScreenPos - screenPixelTranslationBuffer, TransformPlane); + } + + return Vector3.zero; + } + + /// + protected override Vector3 doTwoPointTranslation(Vector2 oldScreenPos1, Vector2 oldScreenPos2, + Vector2 newScreenPos1, Vector2 newScreenPos2, float dR, float dS, ProjectionParams projectionParams) + { + if (isTransforming) + { + return projectionParams.ProjectTo(newScreenPos1, TransformPlane) - projectScaledRotated(oldScreenPos1, dR, dS, projectionParams); + } + + screenPixelTranslationBuffer += newScreenPos1 - oldScreenPos1; + if (screenPixelTranslationBuffer.sqrMagnitude > screenTransformPixelThresholdSquared) + { + isTransforming = true; + return projectionParams.ProjectTo(newScreenPos1, TransformPlane) - + projectScaledRotated(newScreenPos1 - screenPixelTranslationBuffer, dR, dS, projectionParams); + } + + return Vector3.zero; + } + + /// + private Vector3 projectScaledRotated(Vector2 point, float dR, float dS, ProjectionParams projectionParams) + { + var delta = projectionParams.ProjectTo(point, TransformPlane) - cachedTransform.position; + if (dR != 0) delta = Quaternion.AngleAxis(dR, RotationAxis) * delta; + if (dS != 0) delta = delta * dS; + return cachedTransform.position + delta; + } + +#if TOUCHSCRIPT_DEBUG + protected override void clearDebug() + { + base.clearDebug(); + + GLDebug.RemoveFigure(debugID + 3); + } + + protected override void drawDebug(int touchPoints) + { + base.drawDebug(touchPoints); + + if (!DebugMode) return; + switch (touchPoints) + { + case 1: + if (projection == ProjectionType.Global || projection == ProjectionType.Object) + { + GLDebug.DrawPlaneWithNormal(debugID + 3, cachedTransform.position, RotationAxis, 4f, GLDebug.MULTIPLY, float.PositiveInfinity); + } + break; + default: + if (projection == ProjectionType.Global || projection == ProjectionType.Object) + { + GLDebug.DrawPlaneWithNormal(debugID + 3, cachedTransform.position, RotationAxis, 4f, GLDebug.MULTIPLY, float.PositiveInfinity); + } + break; + } + } +#endif + + #endregion + + #region Private functions + + /// + /// Updates projection plane based on options set. + /// + private void updateProjectionPlane() + { + if (!Application.isPlaying) return; + + switch (projection) + { + case ProjectionType.Layer: + if (projectionLayer == null) + transformPlane = new Plane(cachedTransform.TransformDirection(Vector3.forward), cachedTransform.position); + else transformPlane = new Plane(projectionLayer.WorldProjectionNormal, cachedTransform.position); + break; + case ProjectionType.Object: + transformPlane = new Plane(cachedTransform.TransformDirection(projectionPlaneNormal), cachedTransform.position); + break; + case ProjectionType.Global: + transformPlane = new Plane(projectionPlaneNormal, cachedTransform.position); + break; + } + } + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Gestures/TransformGesture.cs.meta b/ThirdParty/TouchScript/Scripts/Gestures/TransformGesture.cs.meta new file mode 100644 index 000000000..161fb15e1 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/TransformGesture.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 11ea9930ecb674732bee27116520fad8 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Examples/General/UI.meta b/ThirdParty/TouchScript/Scripts/Gestures/UI.meta similarity index 67% rename from ThirdParty/TouchScript/Examples/General/UI.meta rename to ThirdParty/TouchScript/Scripts/Gestures/UI.meta index 85899a51b..a301f4b21 100644 --- a/ThirdParty/TouchScript/Examples/General/UI.meta +++ b/ThirdParty/TouchScript/Scripts/Gestures/UI.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 -guid: e65d95d399e7e4168b1f7d95e462389a +guid: ddd34b98b8bbe42a597fffd736c87e30 folderAsset: yes -timeCreated: 1445028788 +timeCreated: 1447582128 licenseType: Pro DefaultImporter: userData: diff --git a/ThirdParty/TouchScript/Scripts/Gestures/UI/UIGesture.cs b/ThirdParty/TouchScript/Scripts/Gestures/UI/UIGesture.cs new file mode 100644 index 000000000..7524ea5d7 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/UI/UIGesture.cs @@ -0,0 +1,196 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System.Collections.Generic; +using TouchScript.Utils; +using UnityEngine; +using UnityEngine.EventSystems; + +namespace TouchScript.Gestures.UI +{ + /// + /// Gesture which receives touch input from TouchScript and routes it to Unity UI components on the same GameObject. + /// Mostly needed for UI buttons to work with . + /// + [AddComponentMenu("TouchScript/Gestures/UI Gesture")] + [HelpURL("http://touchscript.github.io/docs/Index.html?topic=html/T_TouchScript_Gestures_UI_UIGesture.htm")] + public class UIGesture : Gesture + { + #region Protected variables + + /// + /// Touch id -> pointer data. + /// + protected Dictionary pointerData = new Dictionary(); + + #endregion + + #region Gesture callbacks + + /// + public override bool CanPreventGesture(Gesture gesture) + { + if (Delegate == null) return false; + return !Delegate.ShouldRecognizeSimultaneously(this, gesture); + } + + /// + public override bool CanBePreventedByGesture(Gesture gesture) + { + if (Delegate == null) return false; + return !Delegate.ShouldRecognizeSimultaneously(this, gesture); + } + + /// + protected override void touchBegan(TouchPoint touch) + { + base.touchBegan(touch); + + if (NumTouches == 1) setState(GestureState.Began); + + var data = getPointerData(touch); + ExecuteEvents.Execute(gameObject, data.Data, ExecuteEvents.pointerEnterHandler); + ExecuteEvents.Execute(gameObject, data.Data, ExecuteEvents.pointerDownHandler); + } + + /// + protected override void touchMoved(TouchPoint touch) + { + base.touchMoved(touch); + + var data = getPointerData(touch); + if (TouchUtils.IsTouchOnTarget(touch, cachedTransform)) + { + if (!data.OnTarget) + { + data.OnTarget = true; + ExecuteEvents.Execute(gameObject, data.Data, ExecuteEvents.pointerEnterHandler); + } + } + else + { + if (data.OnTarget) + { + data.OnTarget = false; + ExecuteEvents.Execute(gameObject, data.Data, ExecuteEvents.pointerExitHandler); + } + } + setPointerData(touch, data); + } + + /// + protected override void touchEnded(TouchPoint touch) + { + base.touchEnded(touch); + + TouchData onTarget = new TouchData(); + var data = getPointerData(touch); + ExecuteEvents.Execute(gameObject, data.Data, ExecuteEvents.pointerUpHandler); + if (data.OnTarget) onTarget = data; + removePointerData(touch); + + // One of the touches was released ontop of the target + if (onTarget.OnTarget) ExecuteEvents.Execute(gameObject, onTarget.Data, ExecuteEvents.pointerClickHandler); + + if (activeTouches.Count == 0) setState(GestureState.Ended); + } + + /// + protected override void touchCancelled(TouchPoint touch) + { + base.touchCancelled(touch); + + var data = getPointerData(touch); + ExecuteEvents.Execute(gameObject, data.Data, ExecuteEvents.pointerUpHandler); + removePointerData(touch); + + if (activeTouches.Count == 0) setState(GestureState.Ended); + } + + #endregion + + #region Protected methods + + /// + /// Gets or creates pointer data for touch. + /// + /// The touch. + /// Pointer data. + protected virtual TouchData getPointerData(TouchPoint touch) + { + TouchData data; + if (!pointerData.TryGetValue(touch.Id, out data)) + { + data = new TouchData + { + OnTarget = true, + Data = new PointerEventData(EventSystem.current) + { + pointerId = touch.Id, + pointerEnter = gameObject, + pointerPress = gameObject, + eligibleForClick = true, + delta = Vector2.zero, + dragging = false, + useDragThreshold = true, + position = touch.Position, + pressPosition = touch.Position, + pointerPressRaycast = touch.Hit.RaycastResult, + pointerCurrentRaycast = touch.Hit.RaycastResult + } + }; + pointerData.Add(touch.Id, data); + } + return data; + } + + /// + /// Sets pointer data for touch. + /// + /// The touch. + /// The data. + protected virtual void setPointerData(TouchPoint touch, TouchData data) + { + if (pointerData.ContainsKey(touch.Id)) pointerData[touch.Id] = data; + } + + /// + /// Removes pointer data for touch. + /// + /// The touch. + protected virtual void removePointerData(TouchPoint touch) + { + pointerData.Remove(touch.Id); + } + + #endregion + + /// + /// Touch pointer data value object. + /// + protected struct TouchData + { + /// + /// Is the object over the target it first hit? + /// + public bool OnTarget; + + /// + /// Pointer data for UI. + /// + public PointerEventData Data; + + /// + /// Initializes a new instance of the struct. + /// + /// if set to true touch is on target. + /// The data. + public TouchData(bool onTarget = false, PointerEventData data = null) + { + OnTarget = onTarget; + Data = data; + } + } + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Gestures/UI/UIGesture.cs.meta b/ThirdParty/TouchScript/Scripts/Gestures/UI/UIGesture.cs.meta new file mode 100644 index 000000000..068f87982 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Gestures/UI/UIGesture.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c34dc6093a49a481db532b87b45132a4 +timeCreated: 1447582131 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Hit.meta b/ThirdParty/TouchScript/Scripts/Hit.meta new file mode 100644 index 000000000..9df19be8c --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Hit.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 362f9481ac5bc4c2eb77c28a6c1393e7 +folderAsset: yes +timeCreated: 1447582128 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Hit/HitTest.cs b/ThirdParty/TouchScript/Scripts/Hit/HitTest.cs new file mode 100644 index 000000000..0c6981762 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Hit/HitTest.cs @@ -0,0 +1,64 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using UnityEngine; + +namespace TouchScript.Hit +{ + /// + /// Base class for all hit test handlers. + /// + public abstract class HitTest : MonoBehaviour + { + #region Constants + + /// + /// Result of a check to find if a hit object should recieve this touch or not. + /// + public enum ObjectHitResult + { + /// + /// Something happened. + /// + Error = 0, + + /// + /// This is a hit, object should recieve touch. + /// + Hit = 1, + + /// + /// Object should not recieve touch. + /// + Miss = 2, + + /// + /// Object should not recieve touch and this touch should be discarded and not tested with any other object. + /// + Discard = 3 + } + + #endregion + + #region Public methods + + /// + /// Determines whether a touch point hit the object. + /// + /// Data from a raycast. + /// if touch point hits the object, if it doesn't, if it doesn't and this touch must be ignored, Error otherwise. + public virtual ObjectHitResult IsHit(TouchHit hit) + { + return ObjectHitResult.Hit; + } + + #endregion + + #region Unity methods + + private void OnEnable() {} + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Hit/HitTest.cs.meta b/ThirdParty/TouchScript/Scripts/Hit/HitTest.cs.meta new file mode 100644 index 000000000..db4ab210f --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Hit/HitTest.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 62e76638558b342029565ee320e70d0a +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Hit/TouchHit.cs b/ThirdParty/TouchScript/Scripts/Hit/TouchHit.cs new file mode 100644 index 000000000..7b8e85584 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Hit/TouchHit.cs @@ -0,0 +1,190 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using UnityEngine; +using UnityEngine.EventSystems; + +namespace TouchScript.Hit +{ + /// + /// An object representing a point hit by a touch in 3D, 2D or UI space. + /// + public struct TouchHit + { + #region Consts + + /// + /// Type of hit + /// + public enum TouchHitType + { + /// + /// 3D hit. + /// + Hit3D, + + /// + /// 2D hit. + /// + Hit2D, + + /// + /// UI hit. + /// + HitUI + } + + #endregion + + #region Public properties + + /// + /// Gets the type of the hit. + /// + /// The type. + public TouchHitType Type + { + get { return type; } + } + + /// + /// Gets target transform the touch hit. + /// + /// Transform the touch hit. + public Transform Transform + { + get { return transform; } + } + + /// + /// Gets raycast hit object for a 3D hit. + /// + /// Raycast hit object. + public RaycastHit RaycastHit + { + get { return raycastHit; } + } + + /// + /// Gets 2D raycast hit object for a 2D hit. + /// + /// 2D raycast hit object. + public RaycastHit2D RaycastHit2D + { + get { return raycastHit2D; } + } + + /// + /// Gets raycast hit for a UI hit. + /// + /// UI raycast hit object. + public RaycastResult RaycastResult + { + get { return raycastResult; } + } + + /// + /// Gets the point in 3D where raycast hit the object. + /// + /// Point in 3D. + public Vector3 Point + { + get + { + switch (type) + { + case TouchHitType.Hit3D: + return RaycastHit.point; + case TouchHitType.Hit2D: + return RaycastHit2D.point; + case TouchHitType.HitUI: + return RaycastResult.worldPosition; + } + return Vector3.zero; + } + } + + /// + /// Gets the normal at the point in 3D wher eraycast hit the object. + /// + /// Normal vector. + public Vector3 Normal + { + get + { + switch (type) + { + case TouchHitType.Hit3D: + return RaycastHit.normal; + case TouchHitType.Hit2D: + return RaycastHit2D.normal; + case TouchHitType.HitUI: + return RaycastResult.worldNormal; + } + return Vector3.forward; + } + } + + #endregion + + #region Private variables + + private TouchHitType type; + private Transform transform; + private RaycastHit raycastHit; + private RaycastHit2D raycastHit2D; + private RaycastResult raycastResult; + + #endregion + + #region Constructors + + /// + /// Initializes a new instance of the struct. + /// + /// Target transform. + public TouchHit(Transform transform) + { + this.transform = transform; + raycastHit = default(RaycastHit); + raycastHit2D = default(RaycastHit2D); + raycastResult = default(RaycastResult); + type = TouchHitType.Hit3D; + } + + /// + /// Initializes a new instance of the struct from a 3D raycast. + /// + /// 3D raycast value. + public TouchHit(RaycastHit value) : this(value.collider.transform) + { + raycastHit = value; + type = TouchHitType.Hit3D; + } + + /// + /// Initializes a new instance of the struct from a 2D raycast. + /// + /// 2D raycast value. + public TouchHit(RaycastHit2D value) : + this(value.collider.transform) + { + raycastHit2D = value; + type = TouchHitType.Hit2D; + } + + /// + /// Initializes a new instance of the struct from a UI raycast. + /// + /// UI raycast value. + public TouchHit(RaycastResult value) : + this(value.gameObject.transform) + { + raycastResult = value; + type = TouchHitType.HitUI; + } + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Hit/TouchHit.cs.meta b/ThirdParty/TouchScript/Scripts/Hit/TouchHit.cs.meta new file mode 100644 index 000000000..475bef7da --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Hit/TouchHit.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a3a11ca7be7f64a2c9019ae54cf6ef7e +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Hit/Untouchable.cs b/ThirdParty/TouchScript/Scripts/Hit/Untouchable.cs new file mode 100644 index 000000000..89cfb1b67 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Hit/Untouchable.cs @@ -0,0 +1,36 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using UnityEngine; + +namespace TouchScript.Hit +{ + /// + /// Makes an object it is attached to untouchable, i.e. it completely ignores all touch points landing on it. + /// + [AddComponentMenu("TouchScript/Behaviors/Untouchable")] + [HelpURL("http://touchscript.github.io/docs/Index.html?topic=html/T_TouchScript_Hit_Untouchable.htm")] + public class Untouchable : HitTest + { + #region Public properties + + /// + /// Indicates if instead of not reacting to touches the object should completely discard them making it impossible for other gestures to receive them. + /// + /// If true touch points are not only prevented but discarded making it impossible for other gestures to receive them. + public bool DiscardTouch = false; + + #endregion + + #region Public methods + + /// + public override ObjectHitResult IsHit(TouchHit hit) + { + return DiscardTouch ? ObjectHitResult.Discard : ObjectHitResult.Miss; + } + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Hit/Untouchable.cs.meta b/ThirdParty/TouchScript/Scripts/Hit/Untouchable.cs.meta new file mode 100644 index 000000000..5b7d65a9a --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Hit/Untouchable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6abaac731b6e14e959374e05265230da +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/IDebuggable.cs b/ThirdParty/TouchScript/Scripts/IDebuggable.cs new file mode 100644 index 000000000..01ace2044 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/IDebuggable.cs @@ -0,0 +1,17 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +namespace TouchScript +{ + /// + /// An interface for objects which can expose some kind of debug information which can be turned on and off. + /// + public interface IDebuggable + { + /// + /// Gets or sets if this object should show its debug information. + /// + bool DebugMode { get; set; } + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/IDebuggable.cs.meta b/ThirdParty/TouchScript/Scripts/IDebuggable.cs.meta new file mode 100644 index 000000000..2a5eb7ccb --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/IDebuggable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0bfadf6252f6646569883eef35215aa5 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/IGestureManager.cs b/ThirdParty/TouchScript/Scripts/IGestureManager.cs new file mode 100644 index 000000000..9dbb6d326 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/IGestureManager.cs @@ -0,0 +1,18 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +namespace TouchScript +{ + /// + /// Core manager which controls gesture recognition in hierarchy. + /// + public interface IGestureManager + { + /// + /// Gets or sets the global gesture delegate. + /// + /// Gesture delegate. + IGestureDelegate GlobalGestureDelegate { get; set; } + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/IGestureManager.cs.meta b/ThirdParty/TouchScript/Scripts/IGestureManager.cs.meta new file mode 100644 index 000000000..78259496d --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/IGestureManager.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4bc7bfe2c28cf4040a48b710a0efe97e +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/ITouchManager.cs b/ThirdParty/TouchScript/Scripts/ITouchManager.cs new file mode 100644 index 000000000..30fcfc174 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/ITouchManager.cs @@ -0,0 +1,243 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System; +using System.Collections.Generic; +using TouchScript.Devices.Display; +using TouchScript.Hit; +using TouchScript.InputSources; +using TouchScript.Layers; +using UnityEngine; + +namespace TouchScript +{ + /// + /// Core manager of all touch input in TouchScript. It is responsible for assigning unique touch ids and keeping the list of active touches. Controls touch frames and dispatches touch events. + /// + /// + /// Every frame touch events are dispatched in this order: + /// + /// FrameStarted + /// TouchBegan + /// TouchMoved + /// TouchEnded + /// TouchCancelled + /// FrameFinished + /// + /// FrameStarted and FrameFinished events mark the start and the end of current touch frame and allow to implement specific logic at these moments. + /// Current instance of an active object implementing can be obtained via . + /// + /// + /// + /// This sample shows how to get Touch Manager instance and subscribe to events. + /// + /// TouchManager.Instance.TouchBegan += (sender, args) => { Debug.Log("Began: " + args.Touch.Id); }; + /// TouchManager.Instance.TouchEnded += (sender, args) => { Debug.Log("Ended: " + args.Touch.Id); }; + /// + /// + public interface ITouchManager + { + /// + /// Occurs when a new frame is started before all other events. + /// + event EventHandler FrameStarted; + + /// + /// Occurs when a frame is finished. After all other events. + /// + event EventHandler FrameFinished; + + /// + /// Occurs when new touch points are added. + /// + event EventHandler TouchBegan; + + /// + /// Occurs when touch points are updated. + /// + event EventHandler TouchMoved; + + /// + /// Occurs when touch points are removed. + /// + event EventHandler TouchEnded; + + /// + /// Occurs when touch points are cancelled. + /// + event EventHandler TouchCancelled; + + /// + /// Gets or sets current display device. + /// + /// Object which holds properties of current display device, like DPI and others. + IDisplayDevice DisplayDevice { get; set; } + + /// + /// Gets current DPI. + /// + /// Shortcut for . + float DPI { get; } + + /// + /// Indicates if TouchScript should create a for you if no layers present in a scene. + /// + /// true if a CameraLayer should be created on startup; otherwise, false. + /// This is usually a desired behavior but sometimes you would want to turn this off if you are using TouchScript only to get touch input from some device. + bool ShouldCreateCameraLayer { get; set; } + + /// + /// Gets or sets a value indicating whether a should be created in scene if no inputs present. + /// + /// true if StandardInput should be created; otherwise, false. + /// This is usually a desired behavior but sometimes you would want to turn this off. + bool ShouldCreateStandardInput { get; set; } + + /// + /// Gets the list of . + /// + /// A sorted list of currently active touch layers. + IList Layers { get; } + + /// + /// Gets the list of + /// + /// A sorted list of input sources. + IList Inputs { get; } + + /// + /// Gets number of pixels in a cm with current DPI. + /// + float DotsPerCentimeter { get; } + + /// + /// Gets number of active touches. + /// + int NumberOfTouches { get; } + + /// + /// Gets the list of active touches. + /// + /// An unsorted list of all touches which began but have not ended yet. + IList ActiveTouches { get; } + + /// + /// Adds a touch layer. + /// + /// The layer to add. + /// True if the layer was added. + bool AddLayer(TouchLayer layer); + + /// + /// Adds a touch layer in a specific position. + /// + /// The layer to add. + /// Layer index to add the layer to. + /// if set to true move the layer to another index if it is already added; don't move otherwise. + /// + /// True if the layer was added. + /// + bool AddLayer(TouchLayer layer, int index, bool addIfExists = true); + + /// + /// Removes a touch layer. + /// + /// The layer to remove. + /// True if the layer was removed. + bool RemoveLayer(TouchLayer layer); + + /// + /// Swaps layers. + /// + /// Layer index 1. + /// Layer index 2. + void ChangeLayerIndex(int at, int to); + + /// + /// Adds an input source. + /// + /// Input source to add. + /// true if the input source wasn't in the list and was added; false otherwise. + bool AddInput(IInputSource input); + + /// + /// Removes the input. + /// + /// Input source to remove. + /// true if the input source was removed; false otherwise. + bool RemoveInput(IInputSource input); + + /// + /// Checks if a touch hits anything. + /// + /// Screen position of the touch. + /// Transform which has been hit or null otherwise. + Transform GetHitTarget(Vector2 position); + + /// + /// Checks if a touch hits anything. + /// + /// + /// Screen position of the touch. + /// An object which represents hit information. + /// True if the touch hits any Transform. + bool GetHitTarget(Vector2 position, out TouchHit hit); + + /// + /// Checks if a touch hits anything. + /// + /// + /// + /// Screen position of the touch. + /// An object which represents hit information. + /// A layer which was hit. + /// True if the touch hits any Transform. + bool GetHitTarget(Vector2 position, out TouchHit hit, out TouchLayer layer); + + /// + /// Cancels a touch and returns it to the system of need. + /// + /// Touch id to cancel. + /// Should the touch be returned to the system. + void CancelTouch(int id, bool @return); + + /// + /// Cancels a touch. + /// + /// Touch id to cancel. + void CancelTouch(int id); + } + + /// + /// Arguments dispatched with Touch Manager events. + /// + public class TouchEventArgs : EventArgs + { + /// + /// Gets the touch participating in the event. + /// + /// The touch added, changed or removed this frame. + public TouchPoint Touch { get; private set; } + + private static TouchEventArgs instance; + + /// + /// Initializes a new instance of the class. + /// + private TouchEventArgs() {} + + /// + /// Returns cached instance of EventArgs. + /// This cached EventArgs is reused throughout the library not to alocate new ones on every call. + /// + /// Touch for the event. + /// Cached EventArgs object. + public static TouchEventArgs GetCachedEventArgs(TouchPoint touch) + { + if (instance == null) instance = new TouchEventArgs(); + instance.Touch = touch; + return instance; + } + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/ITouchManager.cs.meta b/ThirdParty/TouchScript/Scripts/ITouchManager.cs.meta new file mode 100644 index 000000000..1679d5c39 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/ITouchManager.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8ec7e5142e5574b22a7463ed89e960e5 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/InputSources.meta b/ThirdParty/TouchScript/Scripts/InputSources.meta new file mode 100644 index 000000000..6fcbe8ece --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/InputSources.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8c2e99dd18ffd4699974c559f6da3aaa +folderAsset: yes +timeCreated: 1447582128 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/InputSources/ICoordinatesRemapper.cs b/ThirdParty/TouchScript/Scripts/InputSources/ICoordinatesRemapper.cs new file mode 100644 index 000000000..4412191d7 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/InputSources/ICoordinatesRemapper.cs @@ -0,0 +1,24 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using UnityEngine; + +namespace TouchScript.InputSources +{ + /// + /// An object which changes touch coordinates coming from an input source. + /// + /// + /// If your input device is not fully aligned with display device you can use a remapper to carefully retarget touch positions to "calibrate" input with image. + /// + public interface ICoordinatesRemapper + { + /// + /// Remaps touch input. + /// + /// Original coordinates. + /// Changed coordinates. + Vector2 Remap(Vector2 input); + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/InputSources/ICoordinatesRemapper.cs.meta b/ThirdParty/TouchScript/Scripts/InputSources/ICoordinatesRemapper.cs.meta new file mode 100644 index 000000000..4263fb5f0 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/InputSources/ICoordinatesRemapper.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0e3fee45ad636474f888650fb0e2df1b +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/InputSources/IInputSource.cs b/ThirdParty/TouchScript/Scripts/InputSources/IInputSource.cs new file mode 100644 index 000000000..9a4514a79 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/InputSources/IInputSource.cs @@ -0,0 +1,34 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +namespace TouchScript.InputSources +{ + /// + /// An object which represents an input source. + /// + /// + /// In TouchScript all touch points () come from input sources. + /// If you want to feed the library with touches the best way to do it is to create a custom input source. + /// + public interface IInputSource + { + /// + /// Gets or sets current coordinates remapper. + /// + /// An object used to change coordinates of touch points coming from this input source. + ICoordinatesRemapper CoordinatesRemapper { get; set; } + + /// + /// This method is called by to synchronously update the input. + /// + void UpdateInput(); + + /// + /// Cancels the touch. + /// + /// The touch. + /// if set to true returns the touch back to the system with different id. + void CancelTouch(TouchPoint touch, bool @return); + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/InputSources/IInputSource.cs.meta b/ThirdParty/TouchScript/Scripts/InputSources/IInputSource.cs.meta new file mode 100644 index 000000000..41b287ee9 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/InputSources/IInputSource.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9a563581326e54933b760cdbbec1aa76 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/InputSources/InputHandlers.meta b/ThirdParty/TouchScript/Scripts/InputSources/InputHandlers.meta new file mode 100644 index 000000000..c1c1ca9fd --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/InputSources/InputHandlers.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d817f4417686e4fa09b6c9ab27f11531 +folderAsset: yes +timeCreated: 1448668275 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/InputSources/InputHandlers/MouseHandler.cs b/ThirdParty/TouchScript/Scripts/InputSources/InputHandlers/MouseHandler.cs new file mode 100644 index 000000000..7801f3538 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/InputSources/InputHandlers/MouseHandler.cs @@ -0,0 +1,153 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System; +using UnityEngine; + +namespace TouchScript.InputSources.InputHandlers +{ + /// + /// Unity mouse handling implementation which can be embedded and controlled from other (input) classes. + /// + public class MouseHandler : IDisposable + { + #region Private variables + + private Func beginTouch; + private Action moveTouch; + private Action endTouch; + private Action cancelTouch; + + private Tags tags; + private int mousePointId = -1; + private int fakeMousePointId = -1; + private Vector3 mousePointPos = Vector3.zero; + + #endregion + + /// + /// Initializes a new instance of the class. + /// + /// Tags to add to touches. + /// A function called when a new touch is detected. As this function must accept a Vector2 position of the new touch and return an instance of . + /// A function called when a touch is moved. As this function must accept an int id and a Vector2 position. + /// A function called when a touch is lifted off. As this function must accept an int id. + /// A function called when a touch is cancelled. As this function must accept an int id. + public MouseHandler(Tags tags, Func beginTouch, Action moveTouch, Action endTouch, Action cancelTouch) + { + this.tags = tags; + this.beginTouch = beginTouch; + this.moveTouch = moveTouch; + this.endTouch = endTouch; + this.cancelTouch = cancelTouch; + + mousePointId = -1; + fakeMousePointId = -1; + } + + #region Public methods + + /// + /// Immediately ends all touches. + /// + public void EndTouches() + { + if (mousePointId != -1) + { + endTouch(mousePointId); + mousePointId = -1; + } + if (fakeMousePointId != -1) + { + endTouch(fakeMousePointId); + fakeMousePointId = -1; + } + } + + /// + /// Updates this instance. + /// + public void Update() + { + // If mouse button was pressed and released during the same frame, + // we need to figure out what happened first. + var upHandled = false; + if (Input.GetMouseButtonUp(0)) + { + // Release happened first? + if (mousePointId != -1) + { + endTouch(mousePointId); + mousePointId = -1; + upHandled = true; + } + } + + // Need to end fake pointer + if (fakeMousePointId > -1 && !(Input.GetKey(KeyCode.LeftAlt) || Input.GetKey(KeyCode.RightAlt))) + { + endTouch(fakeMousePointId); + fakeMousePointId = -1; + } + + if (Input.GetMouseButtonDown(0)) + { + var pos = Input.mousePosition; + if ((Input.GetKey(KeyCode.LeftAlt) || Input.GetKey(KeyCode.RightAlt)) && fakeMousePointId == -1) + fakeMousePointId = beginTouch(new Vector2(pos.x, pos.y), tags, true).Id; + else if (mousePointId == -1) mousePointId = beginTouch(new Vector2(pos.x, pos.y), tags, true).Id; + } + else if (Input.GetMouseButton(0)) + { + var pos = Input.mousePosition; + if (mousePointPos != pos) + { + mousePointPos = pos; + if (fakeMousePointId != -1) + { + if (mousePointId == -1) moveTouch(fakeMousePointId, new Vector2(pos.x, pos.y)); + else moveTouch(mousePointId, new Vector2(pos.x, pos.y)); + } + else if (mousePointId != -1) moveTouch(mousePointId, new Vector2(pos.x, pos.y)); + } + } + + // Release mouse if we haven't done it yet + if (Input.GetMouseButtonUp(0) && !upHandled && mousePointId != -1) + { + endTouch(mousePointId); + mousePointId = -1; + } + } + + /// + public bool CancelTouch(TouchPoint touch, bool @return) + { + if (touch.Id == mousePointId) + { + cancelTouch(mousePointId); + if (@return) mousePointId = beginTouch(touch.Position, tags, false).Id; + else mousePointId = -1; + return true; + } + if (touch.Id == fakeMousePointId) + { + cancelTouch(fakeMousePointId); + if (@return) fakeMousePointId = beginTouch(touch.Position, tags, false).Id; + else fakeMousePointId = -1; + return true; + } + return false; + } + + /// + public void Dispose() + { + if (mousePointId != -1) cancelTouch(mousePointId); + if (fakeMousePointId != -1) cancelTouch(fakeMousePointId); + } + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/InputSources/InputHandlers/MouseHandler.cs.meta b/ThirdParty/TouchScript/Scripts/InputSources/InputHandlers/MouseHandler.cs.meta new file mode 100644 index 000000000..4dbe882ae --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/InputSources/InputHandlers/MouseHandler.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: cfa9277d376b648fb9d19bd1007de00e +timeCreated: 1447582131 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/InputSources/InputHandlers/TouchHandler.cs b/ThirdParty/TouchScript/Scripts/InputSources/InputHandlers/TouchHandler.cs new file mode 100644 index 000000000..2f10c832a --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/InputSources/InputHandlers/TouchHandler.cs @@ -0,0 +1,210 @@ +/* + * @author Michael Holub + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace TouchScript.InputSources.InputHandlers +{ + /// + /// Unity touch handling implementation which can be embedded and controlled from other (input) classes. + /// + public class TouchHandler : IDisposable + { + #region Public properties + + /// + /// Gets a value indicating whether there any active touches. + /// + /// true if this instance has active touches; otherwise, false. + public bool HasTouches + { + get { return touchesNum > 0; } + } + + #endregion + + #region Private variables + + private Func beginTouch; + private Action moveTouch; + private Action endTouch; + private Action cancelTouch; + + private Tags tags; + private Dictionary systemToInternalId = new Dictionary(); + private int touchesNum; + + #endregion + + /// + /// Initializes a new instance of the class. + /// + /// Tags to add to touches. + /// A function called when a new touch is detected. As this function must accept a Vector2 position of the new touch and return an instance of . + /// A function called when a touch is moved. As this function must accept an int id and a Vector2 position. + /// A function called when a touch is lifted off. As this function must accept an int id. + /// A function called when a touch is cancelled. As this function must accept an int id. + public TouchHandler(Tags tags, Func beginTouch, Action moveTouch, Action endTouch, Action cancelTouch) + { + this.tags = tags; + this.beginTouch = beginTouch; + this.moveTouch = moveTouch; + this.endTouch = endTouch; + this.cancelTouch = cancelTouch; + } + + #region Public methods + + /// + /// Updates this instance. + /// + public void Update() + { + for (var i = 0; i < Input.touchCount; ++i) + { + var t = Input.GetTouch(i); + + TouchState touchState; + switch (t.phase) + { + case TouchPhase.Began: + if (systemToInternalId.TryGetValue(t.fingerId, out touchState) && touchState.Phase != TouchPhase.Canceled) + { + // Ending previous touch (missed a frame) + internalEndTouch(touchState.Id); + systemToInternalId[t.fingerId] = new TouchState(internalBeginTouch(t.position).Id); + } + else + { + systemToInternalId.Add(t.fingerId, new TouchState(internalBeginTouch(t.position).Id)); + } + break; + case TouchPhase.Moved: + if (systemToInternalId.TryGetValue(t.fingerId, out touchState) && touchState.Phase != TouchPhase.Canceled) + { + moveTouch(touchState.Id, t.position); + } + else + { + // Missed began phase + systemToInternalId.Add(t.fingerId, new TouchState(internalBeginTouch(t.position).Id)); + } + break; + case TouchPhase.Ended: + if (systemToInternalId.TryGetValue(t.fingerId, out touchState)) + { + systemToInternalId.Remove(t.fingerId); + if (touchState.Phase != TouchPhase.Canceled) internalEndTouch(touchState.Id); + } + else + { + // Missed one finger begin-end transition + internalEndTouch(internalBeginTouch(t.position).Id); + } + break; + case TouchPhase.Canceled: + if (systemToInternalId.TryGetValue(t.fingerId, out touchState)) + { + systemToInternalId.Remove(t.fingerId); + if (touchState.Phase != TouchPhase.Canceled) internalCancelTouch(touchState.Id); + } + else + { + // Missed one finger begin-end transition + internalCancelTouch(internalBeginTouch(t.position).Id); + } + break; + case TouchPhase.Stationary: + if (systemToInternalId.TryGetValue(t.fingerId, out touchState)) {} + else + { + // Missed begin phase + systemToInternalId.Add(t.fingerId, new TouchState(internalBeginTouch(t.position).Id)); + } + break; + } + } + } + + /// + public bool CancelTouch(TouchPoint touch, bool @return) + { + int fingerId = -1; + foreach (var touchState in systemToInternalId) + { + if (touchState.Value.Id == touch.Id && touchState.Value.Phase != TouchPhase.Canceled) + { + fingerId = touchState.Key; + break; + } + } + if (fingerId > -1) + { + if (@return) + { + cancelTouch(touch.Id); + systemToInternalId[fingerId] = new TouchState(beginTouch(touch.Position, touch.Tags, false).Id); + } + else + { + systemToInternalId[fingerId] = new TouchState(touch.Id, TouchPhase.Canceled); + internalCancelTouch(touch.Id); + } + return true; + } + return false; + } + + /// + public void Dispose() + { + foreach (var touchState in systemToInternalId) + { + if (touchState.Value.Phase != TouchPhase.Canceled) internalCancelTouch(touchState.Value.Id); + } + systemToInternalId.Clear(); + } + + #endregion + + #region Private functions + + private TouchPoint internalBeginTouch(Vector2 position) + { + touchesNum++; + return beginTouch(position, tags, true); + } + + private void internalEndTouch(int id) + { + touchesNum--; + endTouch(id); + } + + private void internalCancelTouch(int id) + { + touchesNum--; + cancelTouch(id); + } + + #endregion + + private struct TouchState + { + public int Id; + public TouchPhase Phase; + + public TouchState(int id, TouchPhase phase = TouchPhase.Began) + { + Id = id; + Phase = phase; + } + + } + + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/InputSources/InputHandlers/TouchHandler.cs.meta b/ThirdParty/TouchScript/Scripts/InputSources/InputHandlers/TouchHandler.cs.meta new file mode 100644 index 000000000..f21350de6 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/InputSources/InputHandlers/TouchHandler.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ef91bdfc155504626bc95d7a9fd08679 +timeCreated: 1448668275 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/InputSources/InputHandlers/WindowsTouchHandlers.cs b/ThirdParty/TouchScript/Scripts/InputSources/InputHandlers/WindowsTouchHandlers.cs new file mode 100644 index 000000000..777567b78 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/InputSources/InputHandlers/WindowsTouchHandlers.cs @@ -0,0 +1,602 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + * @author Valentin Frolov + * @author Andrew David Griffiths + */ + +#if UNITY_STANDALONE_WIN + +using System; +using System.Collections.Generic; +using System.Runtime.InteropServices; +using UnityEngine; + +namespace TouchScript.InputSources.InputHandlers +{ + /// + /// Windows 8 touch handling implementation which can be embedded to other (input) classes. + /// + public class Windows8TouchHandler : WindowsTouchHandler + { + + private Tags mouseTags, touchTags, penTags; + + /// + public Windows8TouchHandler(Tags touchTags, Tags mouseTags, Tags penTags, Func beginTouch, Action moveTouch, Action endTouch, Action cancelTouch) : base(touchTags, beginTouch, moveTouch, endTouch, cancelTouch) + { + this.mouseTags = mouseTags; + this.touchTags = touchTags; + this.penTags = penTags; + registerWindowProc(wndProcWin8); + } + + private IntPtr wndProcWin8(IntPtr hWnd, uint msg, IntPtr wParam, IntPtr lParam) + { + switch (msg) + { + case WM_POINTERDOWN: + case WM_POINTERUP: + case WM_POINTERUPDATE: + decodeWin8Touches(msg, wParam, lParam); + break; + case WM_CLOSE: + SetWindowLongPtr(hWnd, -4, oldWndProcPtr); + Application.Quit(); + return IntPtr.Zero; + } + return CallWindowProc(oldWndProcPtr, hWnd, msg, wParam, lParam); + } + + private void decodeWin8Touches(uint msg, IntPtr wParam, IntPtr lParam) + { + int pointerId = LOWORD(wParam.ToInt32()); + + POINTER_INFO pointerInfo = new POINTER_INFO(); + if (!GetPointerInfo(pointerId, ref pointerInfo)) + { + return; + } + + POINT p = new POINT(); + p.X = pointerInfo.ptPixelLocation.X; + p.Y = pointerInfo.ptPixelLocation.Y; + ScreenToClient(hMainWindow, ref p); + + int existingId; + + switch (msg) + { + case WM_POINTERDOWN: + if ((pointerInfo.pointerFlags & POINTER_FLAG_CANCELLED) == POINTER_FLAG_CANCELLED) break; + Tags tags = null; + switch (pointerInfo.pointerType) + { + case POINTER_INPUT_TYPE.PT_MOUSE: + tags = mouseTags; + break; + case POINTER_INPUT_TYPE.PT_TOUCH: + tags = touchTags; + break; + case POINTER_INPUT_TYPE.PT_PEN: + tags = penTags; + break; + } + winToInternalId.Add(pointerId, beginTouch(new Vector2((p.X - offsetX) * scaleX, Screen.height - (p.Y - offsetY) * scaleY), tags, true).Id); + break; + case WM_POINTERUP: + if (winToInternalId.TryGetValue(pointerId, out existingId)) + { + winToInternalId.Remove(pointerId); + if ((pointerInfo.pointerFlags & POINTER_FLAG_CANCELLED) == POINTER_FLAG_CANCELLED) + cancelTouch(existingId); + else endTouch(existingId); + } + break; + case WM_POINTERUPDATE: + if (winToInternalId.TryGetValue(pointerId, out existingId)) + { + if ((pointerInfo.pointerFlags & POINTER_FLAG_CANCELLED) == POINTER_FLAG_CANCELLED) + { + winToInternalId.Remove(pointerId); + cancelTouch(existingId); + } + else + { + moveTouch(existingId, + new Vector2((p.X - offsetX)*scaleX, Screen.height - (p.Y - offsetY)*scaleY)); + } + } + break; + } + } + } + + public class Windows7TouchHandler : WindowsTouchHandler + { + private int touchInputSize; + + /// + public Windows7TouchHandler(Tags tags, Func beginTouch, Action moveTouch, Action endTouch, Action cancelTouch) : base(tags, beginTouch, moveTouch, endTouch, cancelTouch) + { + touchInputSize = Marshal.SizeOf(typeof (TOUCHINPUT)); + RegisterTouchWindow(hMainWindow, 0); + registerWindowProc(wndProcWin7); + } + + /// + public override void Dispose() + { + UnregisterTouchWindow(hMainWindow); + + base.Dispose(); + } + + private IntPtr wndProcWin7(IntPtr hWnd, uint msg, IntPtr wParam, IntPtr lParam) + { + // TODO: Add mouse support to Windows 7 + switch (msg) + { + case WM_TOUCH: + decodeWin7Touches(wParam, lParam); + break; + case WM_CLOSE: + UnregisterTouchWindow(hWnd); + SetWindowLongPtr(hWnd, -4, oldWndProcPtr); + Application.Quit(); + return IntPtr.Zero; + } + return CallWindowProc(oldWndProcPtr, hWnd, msg, wParam, lParam); + } + + private void decodeWin7Touches(IntPtr wParam, IntPtr lParam) + { + int inputCount = LOWORD(wParam.ToInt32()); + TOUCHINPUT[] inputs = new TOUCHINPUT[inputCount]; + + if (!GetTouchInputInfo(lParam, inputCount, inputs, touchInputSize)) + { + return; + } + + for (int i = 0; i < inputCount; i++) + { + TOUCHINPUT touch = inputs[i]; + + if ((touch.dwFlags & (int) TOUCH_EVENT.TOUCHEVENTF_DOWN) != 0) + { + POINT p = new POINT(); + p.X = touch.x/100; + p.Y = touch.y/100; + ScreenToClient(hMainWindow, ref p); + + winToInternalId.Add(touch.dwID, beginTouch(new Vector2((p.X - offsetX)*scaleX, Screen.height - (p.Y - offsetY)*scaleY), tags, true).Id); + } + else if ((touch.dwFlags & (int) TOUCH_EVENT.TOUCHEVENTF_UP) != 0) + { + int existingId; + if (winToInternalId.TryGetValue(touch.dwID, out existingId)) + { + winToInternalId.Remove(touch.dwID); + endTouch(existingId); + } + } + else if ((touch.dwFlags & (int) TOUCH_EVENT.TOUCHEVENTF_MOVE) != 0) + { + int existingId; + if (winToInternalId.TryGetValue(touch.dwID, out existingId)) + { + POINT p = new POINT(); + p.X = touch.x/100; + p.Y = touch.y/100; + ScreenToClient(hMainWindow, ref p); + + moveTouch(existingId, + new Vector2((p.X - offsetX)*scaleX, Screen.height - (p.Y - offsetY)*scaleY)); + } + } + } + + CloseTouchInputHandle(lParam); + } + } + + public abstract class WindowsTouchHandler : IDisposable + { + /// + /// Source of touch input. + /// + public enum TouchSource + { + Touch, + Pen, + Mouse + } + + /// + /// Windows constant to turn off press and hold visual effect. + /// + public const string PRESS_AND_HOLD_ATOM = "MicrosoftTabletPenServiceProperty"; + + public delegate IntPtr WndProcDelegate(IntPtr hWnd, uint msg, IntPtr wParam, IntPtr lParam); + + protected Func beginTouch; + protected Action moveTouch; + protected Action endTouch; + protected Action cancelTouch; + + protected Tags tags; + protected IntPtr hMainWindow; + protected IntPtr oldWndProcPtr; + protected IntPtr newWndProcPtr; + protected WndProcDelegate newWndProc; + protected ushort pressAndHoldAtomID; + protected Dictionary winToInternalId = new Dictionary(); + + protected float offsetX, offsetY, scaleX, scaleY; + + /// + /// Initializes a new instance of the class. + /// + /// A function called when a new touch is detected. As this function must accept a Vector2 position of the new touch and return an instance of . + /// A function called when a touch is moved. As this function must accept an int id and a Vector2 position. + /// A function called when a touch is lifted off. As this function must accept an int id. + /// A function called when a touch is cancelled. As this function must accept an int id. + public WindowsTouchHandler(Tags tags, Func beginTouch, Action moveTouch, Action endTouch, Action cancelTouch) + { + this.tags = tags; + this.beginTouch = beginTouch; + this.moveTouch = moveTouch; + this.endTouch = endTouch; + this.cancelTouch = cancelTouch; + + hMainWindow = GetActiveWindow(); + disablePressAndHold(); + initScaling(); + } + + /// + public bool CancelTouch(TouchPoint touch, bool @return) + { + int internalId = -1; + foreach (var t in winToInternalId) + { + if (t.Value == touch.Id) + { + internalId = t.Key; + break; + } + } + if (internalId > -1) + { + cancelTouch(touch.Id); + if (@return) winToInternalId[internalId] = beginTouch(touch.Position, touch.Tags, false).Id; + return true; + } + return false; + } + + /// + public virtual void Dispose() + { + foreach (var i in winToInternalId) cancelTouch(i.Value); + + enablePressAndHold(); + unregisterWindowProc(); + } + + protected void registerWindowProc(WndProcDelegate windowProc) + { + newWndProc = windowProc; + newWndProcPtr = Marshal.GetFunctionPointerForDelegate(newWndProc); + oldWndProcPtr = SetWindowLongPtr(hMainWindow, -4, newWndProcPtr); + } + + protected void unregisterWindowProc() + { + SetWindowLongPtr(hMainWindow, -4, oldWndProcPtr); + hMainWindow = IntPtr.Zero; + oldWndProcPtr = IntPtr.Zero; + newWndProcPtr = IntPtr.Zero; + + newWndProc = null; + } + + protected void disablePressAndHold() + { + // https://msdn.microsoft.com/en-us/library/bb969148(v=vs.85).aspx + pressAndHoldAtomID = GlobalAddAtom(PRESS_AND_HOLD_ATOM); + SetProp(hMainWindow, PRESS_AND_HOLD_ATOM, + TABLET_DISABLE_PRESSANDHOLD | // disables press and hold (right-click) gesture + TABLET_DISABLE_PENTAPFEEDBACK | // disables UI feedback on pen up (waves) + TABLET_DISABLE_PENBARRELFEEDBACK | // disables UI feedback on pen button down (circle) + TABLET_DISABLE_FLICKS // disables pen flicks (back, forward, drag down, drag up); + ); + } + + protected void enablePressAndHold() + { + if (pressAndHoldAtomID != 0) + { + RemoveProp(hMainWindow, PRESS_AND_HOLD_ATOM); + GlobalDeleteAtom(pressAndHoldAtomID); + } + } + + protected void initScaling() + { + if (!Screen.fullScreen) + { + offsetX = offsetY = 0; + scaleX = scaleY = 1; + return; + } + + int width, height; + getNativeMonitorResolution(out width, out height); + float scale = Mathf.Max(Screen.width/((float) width), Screen.height/((float) height)); + offsetX = (width - Screen.width/scale)*.5f; + offsetY = (height - Screen.height/scale)*.5f; + scaleX = scale; + scaleY = scale; + } + + private void getNativeMonitorResolution(out int width, out int height) + { + var monitor = MonitorFromWindow(GetActiveWindow(), MONITOR_DEFAULTTONEAREST); + MONITORINFO monitorInfo = new MONITORINFO(); + monitorInfo.cbSize = Marshal.SizeOf(monitorInfo); + if (!GetMonitorInfo(monitor, ref monitorInfo)) + { + width = Screen.width; + height = Screen.height; + } + else + { + width = monitorInfo.rcMonitor.Width; + height = monitorInfo.rcMonitor.Height; + } + } + + #region p/invoke + + public const int WM_CLOSE = 0x0010; + public const int WM_TOUCH = 0x0240; + public const int WM_POINTERDOWN = 0x0246; + public const int WM_POINTERUP = 0x0247; + public const int WM_POINTERUPDATE = 0x0245; + + public const int POINTER_FLAG_CANCELLED = 0x00008000; + + public const int TABLET_DISABLE_PRESSANDHOLD = 0x00000001; + public const int TABLET_DISABLE_PENTAPFEEDBACK = 0x00000008; + public const int TABLET_DISABLE_PENBARRELFEEDBACK = 0x00000010; + public const int TABLET_DISABLE_FLICKS = 0x00010000; + + public const int MONITOR_DEFAULTTONEAREST = 2; + + [StructLayout(LayoutKind.Sequential)] + public struct MONITORINFO + { + public int cbSize; + public RECT rcMonitor; + public RECT rcWork; + public uint dwFlags; + } + + [StructLayout(LayoutKind.Sequential)] + public struct RECT + { + public int Left, Top, Right, Bottom; + + public RECT(int left, int top, int right, int bottom) + { + Left = left; + Top = top; + Right = right; + Bottom = bottom; + } + + public int X + { + get { return Left; } + set + { + Right -= (Left - value); + Left = value; + } + } + + public int Y + { + get { return Top; } + set + { + Bottom -= (Top - value); + Top = value; + } + } + + public int Height + { + get { return Bottom - Top; } + set { Bottom = value + Top; } + } + + public int Width + { + get { return Right - Left; } + set { Right = value + Left; } + } + } + + public enum TOUCH_EVENT : int + { + TOUCHEVENTF_MOVE = 0x0001, + TOUCHEVENTF_DOWN = 0x0002, + TOUCHEVENTF_UP = 0x0004, + TOUCHEVENTF_INRANGE = 0x0008, + TOUCHEVENTF_PRIMARY = 0x0010, + TOUCHEVENTF_NOCOALESCE = 0x0020, + TOUCHEVENTF_PEN = 0x0040 + } + + [StructLayout(LayoutKind.Sequential)] + public struct TOUCHINPUT + { + public int x; + public int y; + public IntPtr hSource; + public int dwID; + public int dwFlags; + public int dwMask; + public int dwTime; + public IntPtr dwExtraInfo; + public int cxContact; + public int cyContact; + } + + public enum POINTER_INPUT_TYPE + { + PT_POINTER = 0x00000001, + PT_TOUCH = 0x00000002, + PT_PEN = 0x00000003, + PT_MOUSE = 0x00000004, + } + + public enum POINTER_BUTTON_CHANGE_TYPE + { + POINTER_CHANGE_NONE, + POINTER_CHANGE_FIRSTBUTTON_DOWN, + POINTER_CHANGE_FIRSTBUTTON_UP, + POINTER_CHANGE_SECONDBUTTON_DOWN, + POINTER_CHANGE_SECONDBUTTON_UP, + POINTER_CHANGE_THIRDBUTTON_DOWN, + POINTER_CHANGE_THIRDBUTTON_UP, + POINTER_CHANGE_FOURTHBUTTON_DOWN, + POINTER_CHANGE_FOURTHBUTTON_UP, + POINTER_CHANGE_FIFTHBUTTON_DOWN, + POINTER_CHANGE_FIFTHBUTTON_UP, + } + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct POINTER_INFO + { + public POINTER_INPUT_TYPE pointerType; + public UInt32 pointerId; + public UInt32 frameId; + public UInt32 pointerFlags; + public IntPtr sourceDevice; + public IntPtr hwndTarget; + public POINT ptPixelLocation; + public POINT ptHimetricLocation; + public POINT ptPixelLocationRaw; + public POINT ptHimetricLocationRaw; + public UInt32 dwTime; + public UInt32 historyCount; + public Int32 inputData; + public UInt32 dwKeyStates; + public UInt64 PerformanceCount; + public POINTER_BUTTON_CHANGE_TYPE ButtonChangeType; + } + + [StructLayout(LayoutKind.Sequential)] + public struct POINT + { + public int X; + public int Y; + } + + public static int LOWORD(int value) + { + return value & 0xffff; + } + + public static IntPtr SetWindowLongPtr(IntPtr hWnd, int nIndex, IntPtr dwNewLong) + { + if (IntPtr.Size == 8) return SetWindowLongPtr64(hWnd, nIndex, dwNewLong); + return new IntPtr(SetWindowLong32(hWnd, nIndex, dwNewLong.ToInt32())); + } + + [DllImport("user32.dll")] + public static extern IntPtr GetActiveWindow(); + + [DllImport("user32.dll")] + public static extern IntPtr MonitorFromWindow(IntPtr hwnd, uint dwFlags); + + [DllImport("user32.dll")] + public static extern bool GetMonitorInfo(IntPtr hMonitor, ref MONITORINFO lpmi); + + [DllImport("user32.dll", EntryPoint = "SetWindowLong")] + public static extern int SetWindowLong32(IntPtr hWnd, int nIndex, int dwNewLong); + + [DllImport("user32.dll", EntryPoint = "SetWindowLongPtr")] + public static extern IntPtr SetWindowLongPtr64(IntPtr hWnd, int nIndex, IntPtr dwNewLong); + + [DllImport("user32.dll")] + public static extern IntPtr CallWindowProc(IntPtr lpPrevWndFunc, IntPtr hWnd, uint msg, IntPtr wParam, + IntPtr lParam); + + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool RegisterTouchWindow(IntPtr hWnd, uint ulFlags); + + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool UnregisterTouchWindow(IntPtr hWnd); + + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool GetTouchInputInfo(IntPtr hTouchInput, int cInputs, [Out] TOUCHINPUT[] pInputs, + int cbSize); + + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern void CloseTouchInputHandle(IntPtr lParam); + + [DllImport("user32.dll")] + public static extern bool ScreenToClient(IntPtr hWnd, ref POINT lpPoint); + + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool GetPointerInfo(int pointerID, ref POINTER_INFO pPointerInfo); + + [DllImport("Kernel32.dll")] + public static extern ushort GlobalAddAtom(string lpString); + + [DllImport("Kernel32.dll")] + public static extern ushort GlobalDeleteAtom(ushort nAtom); + + [DllImport("user32.dll")] + public static extern int SetProp(IntPtr hWnd, string lpString, int hData); + + [DllImport("user32.dll")] + public static extern int RemoveProp(IntPtr hWnd, string lpString); + + #endregion + } + + /// + /// A class which turns on mouse to WM_POINTER events redirection on Windows 8. + /// + public class Windows8MouseHandler : IDisposable + { + /// + /// Initializes a new instance of the class. + /// + public Windows8MouseHandler() + { + EnableMouseInPointer(true); + } + + /// + public void Dispose() + { + EnableMouseInPointer(false); + } + + [DllImport("user32.dll")] + private static extern IntPtr EnableMouseInPointer(bool value); + } +} + +#endif \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/InputSources/InputHandlers/WindowsTouchHandlers.cs.meta b/ThirdParty/TouchScript/Scripts/InputSources/InputHandlers/WindowsTouchHandlers.cs.meta new file mode 100644 index 000000000..6abbf2e06 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/InputSources/InputHandlers/WindowsTouchHandlers.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: fa5665b41c4584d4d869286b2875b036 +timeCreated: 1448668276 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/InputSources/InputSource.cs b/ThirdParty/TouchScript/Scripts/InputSources/InputSource.cs new file mode 100644 index 000000000..1a01d613d --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/InputSources/InputSource.cs @@ -0,0 +1,129 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System; +using UnityEngine; + +namespace TouchScript.InputSources +{ + /// + /// Base class for all touch input sources. + /// + public abstract class InputSource : MonoBehaviour, IInputSource + { + #region Public properties + + /// + /// Gets or sets current remapper. + /// + /// Optional remapper to use to change screen coordinates which go into the TouchManager. + public ICoordinatesRemapper CoordinatesRemapper { get; set; } + + #endregion + + #region Private variables + + [SerializeField] + [HideInInspector] + private bool advancedProps; // is used to save whether advanced properties are opened or closed + + private TouchManagerInstance manager; + + #endregion + + #region Public methods + + /// + public virtual void UpdateInput() {} + + /// + public virtual void CancelTouch(TouchPoint touch, bool @return) {} + + #endregion + + #region Unity methods + + /// + /// Unity OnEnable callback. + /// + protected virtual void OnEnable() + { + manager = TouchManagerInstance.Instance; + if (manager == null) throw new InvalidOperationException("TouchManager instance is required!"); + manager.AddInput(this); + } + + /// + /// Unity OnDestroy callback. + /// + protected virtual void OnDisable() + { + if (manager != null) + { + manager.RemoveInput(this); + manager = null; + } + } + + #endregion + + #region Protected methods + + /// + /// Begin touch in given screen position. + /// + /// Screen position. + /// Initial tags. + /// if set to true a can be used on provided coordinates. + /// Internal touch id. + protected virtual TouchPoint beginTouch(Vector2 position, Tags tags, bool canRemap = true) + { + if (CoordinatesRemapper != null && canRemap) position = CoordinatesRemapper.Remap(position); + return manager.INTERNAL_BeginTouch(position, this, tags); + } + + /// + /// Mark touch as updated. + /// + /// Touch id. + protected virtual void updateTouch(int id) + { + manager.INTERNAL_UpdateTouch(id); + } + + /// + /// Mark touch as moved. + /// + /// Touch id. + /// Screen position. + protected virtual void moveTouch(int id, Vector2 position) + { + if (CoordinatesRemapper != null) + { + position = CoordinatesRemapper.Remap(position); + } + manager.INTERNAL_MoveTouch(id, position); + } + + /// + /// End touch with id. + /// + /// Touch point id. + protected virtual void endTouch(int id) + { + manager.INTERNAL_EndTouch(id); + } + + /// + /// Cancel touch with id. + /// + /// Touch id. + protected virtual void cancelTouch(int id) + { + manager.INTERNAL_CancelTouch(id); + } + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/InputSources/InputSource.cs.meta b/ThirdParty/TouchScript/Scripts/InputSources/InputSource.cs.meta new file mode 100644 index 000000000..c550324c1 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/InputSources/InputSource.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: edf2423ed57eb42bc93a8e0e6f68737c +timeCreated: 1447582131 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/InputSources/MobileInput.cs b/ThirdParty/TouchScript/Scripts/InputSources/MobileInput.cs new file mode 100644 index 000000000..be3d89c9f --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/InputSources/MobileInput.cs @@ -0,0 +1,104 @@ +/* + * @author Michael Holub + * @author Valentin Simonov / http://va.lent.in/ + */ + +using TouchScript.Utils.Attributes; +using UnityEngine; +using TouchScript.InputSources.InputHandlers; + +namespace TouchScript.InputSources +{ + /// + /// Mobile Input Source. Gathers touch input from built-in Unity's Input.Touches API. Though, should be used on mobile devices. + /// + [System.Obsolete("MobileInput is deprecated! Please use StandardInput instead.")] + public sealed class MobileInput : InputSource + { + #region Public properties + + /// + /// Indicates if this input source should be disabled on platforms which don't support touch input with Input.Touches. + /// + [ToggleLeft] + public bool DisableOnNonTouchPlatforms = true; + + /// + /// Tags added to touches coming from this input. + /// + public Tags Tags = new Tags(Tags.INPUT_TOUCH); + + #endregion + + #region Private variables + + private TouchHandler touchHandler; + + #endregion + + #region Public methods + + /// + public override void UpdateInput() + { + base.UpdateInput(); + + if (touchHandler != null) touchHandler.Update(); + } + + /// + public override void CancelTouch(TouchPoint touch, bool @return) + { + base.CancelTouch(touch, @return); + + if (touchHandler != null) touchHandler.CancelTouch(touch, @return); + } + + #endregion + + #region Unity methods + + /// + protected override void OnEnable() + { + Debug.LogWarning("[TouchScript] MobileInput is deprecated! Please use StandardInput instead."); + + if (DisableOnNonTouchPlatforms) + { + switch (Application.platform) + { + case RuntimePlatform.Android: + case RuntimePlatform.IPhonePlayer: + case RuntimePlatform.MetroPlayerARM: + case RuntimePlatform.MetroPlayerX64: + case RuntimePlatform.MetroPlayerX86: + case RuntimePlatform.WP8Player: + case RuntimePlatform.BlackBerryPlayer: + break; + default: + // don't need mobile touch here + enabled = false; + return; + } + } + + touchHandler = new TouchHandler(Tags, beginTouch, moveTouch, endTouch, cancelTouch); + + base.OnEnable(); + } + + /// + protected override void OnDisable() + { + if (touchHandler != null) + { + touchHandler.Dispose(); + touchHandler = null; + } + + base.OnDisable(); + } + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/InputSources/MobileInput.cs.meta b/ThirdParty/TouchScript/Scripts/InputSources/MobileInput.cs.meta new file mode 100644 index 000000000..5ee21e83d --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/InputSources/MobileInput.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 33cbf52dea18b40649d742b0c6f96d3c +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/InputSources/MouseInput.cs b/ThirdParty/TouchScript/Scripts/InputSources/MouseInput.cs new file mode 100644 index 000000000..f674f6426 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/InputSources/MouseInput.cs @@ -0,0 +1,102 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using TouchScript.Utils.Attributes; +using UnityEngine; +using TouchScript.InputSources.InputHandlers; + +namespace TouchScript.InputSources +{ + /// + /// Input source which transfers mouse clicks to touches. + /// + [System.Obsolete("MouseInput is deprecated! Please use StandardInput instead.")] + public sealed class MouseInput : InputSource + { + #region Public properties + + /// + /// Indicates if this input source should be disabled on mobile platforms. + /// + /// + /// Operation Systems which support touch input send first touches as mouse clicks which may result in duplicated touch points in exactly the same coordinates. This affects clusters and multitouch gestures. + /// + [ToggleLeft] + public bool DisableOnMobilePlatforms = true; + + /// + /// Tags added to touches coming from this input. + /// + public Tags Tags = new Tags(Tags.INPUT_MOUSE); + + #endregion + + #region Private variables + + private MouseHandler mouseHandler; + + #endregion + + #region Public methods + + /// + public override void UpdateInput() + { + base.UpdateInput(); + + mouseHandler.Update(); + } + + /// + public override void CancelTouch(TouchPoint touch, bool @return) + { + base.CancelTouch(touch, @return); + + if (mouseHandler != null) mouseHandler.CancelTouch(touch, @return); + } + + #endregion + + #region Unity methods + + /// + protected override void OnEnable() + { + base.OnEnable(); + + Debug.LogWarning("[TouchScript] MouseInput is deprecated! Please use StandardInput instead."); + + if (DisableOnMobilePlatforms) + { + switch (Application.platform) + { + case RuntimePlatform.Android: + case RuntimePlatform.IPhonePlayer: + case RuntimePlatform.WP8Player: + case RuntimePlatform.MetroPlayerARM: + case RuntimePlatform.MetroPlayerX64: + case RuntimePlatform.MetroPlayerX86: + case RuntimePlatform.TizenPlayer: + case RuntimePlatform.BlackBerryPlayer: + // don't need mouse here + enabled = false; + return; + } + } + + mouseHandler = new MouseHandler(Tags, beginTouch, moveTouch, endTouch, cancelTouch); + } + + /// + protected override void OnDisable() + { + mouseHandler.Dispose(); + mouseHandler = null; + + base.OnDisable(); + } + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/InputSources/MouseInput.cs.meta b/ThirdParty/TouchScript/Scripts/InputSources/MouseInput.cs.meta new file mode 100644 index 000000000..e01a1e26f --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/InputSources/MouseInput.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 17fdf02507df2433595874500f6eef4c +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/InputSources/StandardInput.cs b/ThirdParty/TouchScript/Scripts/InputSources/StandardInput.cs new file mode 100644 index 000000000..cbfe97827 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/InputSources/StandardInput.cs @@ -0,0 +1,361 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +#if UNITY_STANDALONE_WIN && !UNITY_EDITOR +using System; +#endif +using TouchScript.InputSources.InputHandlers; +using UnityEngine; + +namespace TouchScript.InputSources +{ + /// + /// Processes standard input events (mouse, touch, pen) on all platforms. + /// Initializes proper inputs automatically. Replaces old Mobile and Mouse inputs. + /// + [AddComponentMenu("TouchScript/Input Sources/Standard Input")] + [HelpURL("http://touchscript.github.io/docs/Index.html?topic=html/T_TouchScript_InputSources_StandardInput.htm")] + public sealed class StandardInput : InputSource + { + #region Constants + + /// + /// Touch API to use on Windows 8 and later OS versions. + /// + public enum Windows8TouchAPIType + { + /// + /// Windows 8 WM_POINTER API. + /// + Windows8, + + /// + /// Windows 7 WM_TOUCH API. + /// + Windows7, + + /// + /// Built-in Unity 5 WM_TOUCH implementation. + /// + Unity, + + /// + /// Don't initialize touch input at all. + /// + None + } + + /// + /// Touch API to use on Windows 7. + /// + public enum Windows7TouchAPIType + { + /// + /// Windows 7 WM_TOUCH API. + /// + Windows7, + + /// + /// Built-in Unity 5 WM_TOUCH implementation. + /// + Unity, + + /// + /// Don't initialize touch input at all. + /// + None + } + +#if UNITY_STANDALONE_WIN && !UNITY_EDITOR + private static readonly Version WIN7_VERSION = new Version(6, 1, 0, 0); + private static readonly Version WIN8_VERSION = new Version(6, 2, 0, 0); +#endif + + #endregion + + #region Public properties + + /// + /// Tags added to touches coming from this input. + /// + public Tags TouchTags = new Tags(Tags.INPUT_TOUCH); + + /// + /// Tags added to mouse touches coming from this input. + /// + public Tags MouseTags = new Tags(Tags.INPUT_MOUSE); + + /// + /// Tags added to pen touches coming from this input. + /// + public Tags PenTags = new Tags(Tags.INPUT_PEN); + + /// + /// Touch API to use on Windows 8. + /// + public Windows8TouchAPIType Windows8Touch = Windows8TouchAPIType.Windows8; + + /// + /// Touch API to use on Windows 7. + /// + public Windows7TouchAPIType Windows7Touch = Windows7TouchAPIType.Windows7; + + /// + /// Initialize touch input in WebPlayer or not. + /// + public bool WebPlayerTouch = true; + + /// + /// Initialize touch input in WebGL or not. + /// + public bool WebGLTouch = true; + + /// + /// Initialize mouse input on Windows 8+ or not. + /// + public bool Windows8Mouse = true; + + /// + /// Initialize mouse input on Windows 7 or not. + /// + public bool Windows7Mouse = true; + + /// + /// Initialize mouse input on UWP or not. + /// + public bool UniversalWindowsMouse = true; + + #endregion + + #region Private variables + + private MouseHandler mouseHandler; + private TouchHandler touchHandler; +#if UNITY_STANDALONE_WIN && !UNITY_EDITOR + private Windows8MouseHandler windows8MouseHandler; + private Windows8TouchHandler windows8TouchHandler; + private Windows7TouchHandler windows7TouchHandler; +#endif + + #endregion + + #region Public methods + + /// + public override void UpdateInput() + { + base.UpdateInput(); + + if (touchHandler != null) + { + touchHandler.Update(); + // Unity adds mouse events from touches resulting in duplicated pointers. + // Don't update mouse if touch input is present. + if (mouseHandler != null) + { + if (touchHandler.HasTouches) mouseHandler.EndTouches(); + else mouseHandler.Update(); + } + } + else if (mouseHandler != null) mouseHandler.Update(); + } + + /// + public override void CancelTouch(TouchPoint touch, bool @return) + { + base.CancelTouch(touch, @return); + + var handled = false; + if (touchHandler != null) handled = touchHandler.CancelTouch(touch, @return); + if (mouseHandler != null && !handled) handled = mouseHandler.CancelTouch(touch, @return); +#if UNITY_STANDALONE_WIN && !UNITY_EDITOR + if (windows7TouchHandler != null && !handled) handled = windows7TouchHandler.CancelTouch(touch, @return); + if (windows8TouchHandler != null && !handled) windows8TouchHandler.CancelTouch(touch, @return); +#endif + } + + #endregion + + #region Unity + + /// + protected override void OnEnable() + { + base.OnEnable(); + +#if UNITY_EDITOR + enableTouch(); + enableMouse(); +#else +#if UNITY_STANDALONE_OSX || UNITY_STANDALONE_LINUX + enableMouse(); +#elif UNITY_STANDALONE_WIN + if (Environment.OSVersion.Platform == PlatformID.Win32NT) + { + if (Environment.OSVersion.Version >= WIN8_VERSION) + { + // Windows 8+ + switch (Windows8Touch) + { + case Windows8TouchAPIType.Windows8: + enableWindows8Touch(); + if (Windows8Mouse) enableWindows8Mouse(); + break; + case Windows8TouchAPIType.Windows7: + enableWindows7Touch(); + if (Windows8Mouse) enableMouse(); + break; + case Windows8TouchAPIType.Unity: + enableTouch(); + if (Windows8Mouse) enableMouse(); + break; + case Windows8TouchAPIType.None: + enableMouse(); + break; + } + } + else if (Environment.OSVersion.Version >= WIN7_VERSION) + { + // Windows 7 + switch (Windows7Touch) + { + case Windows7TouchAPIType.Windows7: + enableWindows7Touch(); + if (Windows7Mouse) enableMouse(); + break; + case Windows7TouchAPIType.Unity: + enableTouch(); + if (Windows7Mouse) enableMouse(); + break; + case Windows7TouchAPIType.None: + enableMouse(); + break; + } + } + else + { + // Some other earlier Windows + enableMouse(); + } + } + else + { + // Some other earlier Windows + enableMouse(); + } +#elif UNITY_WEBPLAYER + if (WebPlayerTouch) enableTouch(); + enableMouse(); +#elif UNITY_WEBGL + if (WebGLTouch) enableTouch(); + enableMouse(); +#elif UNITY_WSA || UNITY_WSA_8_0 || UNITY_WSA_8_1 || UNITY_WSA_10_0 + enableTouch(); + if (UniversalWindowsMouse) enableMouse(); +#elif UNITY_PS3 || UNITY_PS4 || UNITY_XBOX360 || UNITY_XBOXONE + enableMouse(); +#else // UNITY_IOS || UNITY_ANDROID || UNITY_WII || UNITY_BLACKBERRY || UNITY_TIZEN || UNITY_WP8 || UNITY_WP8_1 + enableTouch(); +#endif +#endif + } + + /// + protected override void OnDisable() + { + disableMouse(); + disableTouch(); +#if UNITY_STANDALONE_WIN && !UNITY_EDITOR + disableWindows8Mouse(); + disableWindows7Touch(); + disableWindows8Touch(); +#endif + + base.OnDisable(); + } + + #endregion + + #region Private functions + + private void enableMouse() + { + mouseHandler = new MouseHandler(MouseTags, beginTouch, moveTouch, endTouch, cancelTouch); + Debug.Log("[TouchScript] Initialized Unity mouse input."); + } + + private void disableMouse() + { + if (mouseHandler != null) + { + mouseHandler.Dispose(); + mouseHandler = null; + } + } + + private void enableTouch() + { + touchHandler = new TouchHandler(TouchTags, beginTouch, moveTouch, endTouch, cancelTouch); + Debug.Log("[TouchScript] Initialized Unity touch input."); + } + + private void disableTouch() + { + if (touchHandler != null) + { + touchHandler.Dispose(); + touchHandler = null; + } + } + +#if UNITY_STANDALONE_WIN && !UNITY_EDITOR + private void enableWindows8Mouse() + { + windows8MouseHandler = new Windows8MouseHandler(); + Debug.Log("[TouchScript] Initialized Windows 8 mouse input."); + } + + private void disableWindows8Mouse() + { + if (windows8MouseHandler != null) + { + windows8MouseHandler.Dispose(); + windows8MouseHandler = null; + } + } + + private void enableWindows7Touch() + { + windows7TouchHandler = new Windows7TouchHandler(TouchTags, beginTouch, moveTouch, endTouch, cancelTouch); + Debug.Log("[TouchScript] Initialized Windows 7 touch input."); + } + + private void disableWindows7Touch() + { + if (windows7TouchHandler != null) + { + windows7TouchHandler.Dispose(); + windows7TouchHandler = null; + } + } + + private void enableWindows8Touch() + { + windows8TouchHandler = new Windows8TouchHandler(TouchTags, MouseTags, PenTags, beginTouch, moveTouch, endTouch, cancelTouch); + Debug.Log("[TouchScript] Initialized Windows 8 touch input."); + } + + private void disableWindows8Touch() + { + if (windows8TouchHandler != null) + { + windows8TouchHandler.Dispose(); + windows8TouchHandler = null; + } + } +#endif + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/InputSources/StandardInput.cs.meta b/ThirdParty/TouchScript/Scripts/InputSources/StandardInput.cs.meta new file mode 100644 index 000000000..f7502cd26 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/InputSources/StandardInput.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e276ccba4f7314d9988af19f9b3a611b +timeCreated: 1447582131 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Layers.meta b/ThirdParty/TouchScript/Scripts/Layers.meta new file mode 100644 index 000000000..54ce46e23 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Layers.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ccb02477f0728440f9b0a280c6fa390c +folderAsset: yes +timeCreated: 1447582128 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Layers/CameraLayer.cs b/ThirdParty/TouchScript/Scripts/Layers/CameraLayer.cs new file mode 100644 index 000000000..8d186a3e0 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Layers/CameraLayer.cs @@ -0,0 +1,118 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System.Collections.Generic; +using TouchScript.Hit; +using UnityEngine; + +namespace TouchScript.Layers +{ + /// + /// Touch layer which represents a 3d camera looking into the world. Determines which objects may be hit in the view of a camera attached to parent GameObject. + /// + [AddComponentMenu("TouchScript/Layers/Camera Layer")] + [HelpURL("http://touchscript.github.io/docs/Index.html?topic=html/T_TouchScript_Layers_CameraLayer.htm")] + public class CameraLayer : CameraLayerBase + { + #region Private variables + + private List sortedHits = new List(20); + private Transform cachedTransform; + private List tmpHitTestList = new List(10); + + #endregion + + #region Unity methods + + /// + protected override void Awake() + { + base.Awake(); + if (!Application.isPlaying) return; + + cachedTransform = GetComponent(); + } + + #endregion + + #region Protected functions + + /// + protected override LayerHitResult castRay(Ray ray, out TouchHit hit) + { + hit = default(TouchHit); + var raycastHits = Physics.RaycastAll(ray, float.PositiveInfinity, LayerMask); + + if (raycastHits.Length == 0) return LayerHitResult.Miss; + if (raycastHits.Length > 1) + { + sortHits(raycastHits); + + RaycastHit raycastHit = default(RaycastHit); + var i = 0; + while (i < sortedHits.Count) + { + raycastHit = sortedHits[i]; + switch (doHit(raycastHit, out hit)) + { + case HitTest.ObjectHitResult.Hit: + return LayerHitResult.Hit; + case HitTest.ObjectHitResult.Discard: + return LayerHitResult.Miss; + } + i++; + } + } + else + { + switch (doHit(raycastHits[0], out hit)) + { + case HitTest.ObjectHitResult.Hit: + return LayerHitResult.Hit; + case HitTest.ObjectHitResult.Error: + return LayerHitResult.Error; + default: + return LayerHitResult.Miss; + } + } + + return LayerHitResult.Miss; + } + + private HitTest.ObjectHitResult doHit(RaycastHit raycastHit, out TouchHit hit) + { + hit = new TouchHit(raycastHit); + raycastHit.transform.GetComponents(tmpHitTestList); + var count = tmpHitTestList.Count; + if (count == 0) return HitTest.ObjectHitResult.Hit; + + var hitResult = HitTest.ObjectHitResult.Hit; + for (var i = 0; i < count; i++) + { + var test = tmpHitTestList[i]; + if (!test.enabled) continue; + hitResult = test.IsHit(hit); + if (hitResult == HitTest.ObjectHitResult.Miss || hitResult == HitTest.ObjectHitResult.Discard) break; + } + + return hitResult; + } + + private void sortHits(RaycastHit[] hits) + { + var cameraPos = cachedTransform.position; + sortedHits.Clear(); + sortedHits.AddRange(hits); + sortedHits.Sort((a, b) => + { + if (a.collider.transform == b.collider.transform) return 0; + var distA = (a.point - cameraPos).sqrMagnitude; + var distB = (b.point - cameraPos).sqrMagnitude; + return distA < distB ? -1 : 1; + }); + } + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Layers/CameraLayer.cs.meta b/ThirdParty/TouchScript/Scripts/Layers/CameraLayer.cs.meta new file mode 100644 index 000000000..c5644f73c --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Layers/CameraLayer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4c21776f7e73345948c045618b3fad6f +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Layers/CameraLayer2D.cs b/ThirdParty/TouchScript/Scripts/Layers/CameraLayer2D.cs new file mode 100644 index 000000000..1225010a0 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Layers/CameraLayer2D.cs @@ -0,0 +1,144 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System.Collections.Generic; +using TouchScript.Hit; +using UnityEngine; + +namespace TouchScript.Layers +{ + /// + /// Touch layer which works with Unity 4.3+ 2d physics. Can pick 2d objects hit by touches in right order. + /// + [AddComponentMenu("TouchScript/Layers/Camera Layer 2D")] + [HelpURL("http://touchscript.github.io/docs/Index.html?topic=html/T_TouchScript_Layers_CameraLayer2D.htm")] + public class CameraLayer2D : CameraLayerBase + { + #region Private variables + + [SerializeField] + [HideInInspector] + private int[] layerIds = new int[0]; + + private Dictionary layerById = new Dictionary(); + private List sortedHits = new List(20); + private List tmpHitTestList = new List(10); + + #endregion + + #region Unity methods + + /// + /// Unity OnEnable callback. + /// + protected virtual void OnEnable() + { + if (!Application.isPlaying) return; + + layerById.Clear(); + for (var i = 0; i < layerIds.Length; i++) + { + var value = layerIds[i]; + if (layerById.ContainsKey(value)) continue; + layerById.Add(value, i); + } + } + + #endregion + + #region Protected functions + + /// + protected override LayerHitResult castRay(Ray ray, out TouchHit hit) + { + hit = default(TouchHit); + var raycastHits = Physics2D.GetRayIntersectionAll(ray, float.PositiveInfinity, LayerMask); + + if (raycastHits.Length == 0) return LayerHitResult.Miss; + if (raycastHits.Length > 1) + { + sortHits(raycastHits); + + RaycastHit2D raycastHit = default(RaycastHit2D); + var i = 0; + while (i < sortedHits.Count) + { + raycastHit = sortedHits[i]; + switch (doHit(raycastHit, out hit)) + { + case HitTest.ObjectHitResult.Hit: + return LayerHitResult.Hit; + case HitTest.ObjectHitResult.Discard: + return LayerHitResult.Miss; + } + i++; + } + } + else + { + switch (doHit(raycastHits[0], out hit)) + { + case HitTest.ObjectHitResult.Hit: + return LayerHitResult.Hit; + case HitTest.ObjectHitResult.Error: + return LayerHitResult.Error; + default: + return LayerHitResult.Miss; + } + } + + return LayerHitResult.Miss; + } + + private HitTest.ObjectHitResult doHit(RaycastHit2D raycastHit, out TouchHit hit) + { + hit = new TouchHit(raycastHit); + raycastHit.transform.GetComponents(tmpHitTestList); + var count = tmpHitTestList.Count; + if (count == 0) return HitTest.ObjectHitResult.Hit; + + + var hitResult = HitTest.ObjectHitResult.Hit; + for (var i = 0; i < count; i++) + { + var test = tmpHitTestList[i]; + if (!test.enabled) continue; + hitResult = test.IsHit(hit); + if (hitResult == HitTest.ObjectHitResult.Miss || hitResult == HitTest.ObjectHitResult.Discard) break; + } + + return hitResult; + } + + private void sortHits(RaycastHit2D[] hits) + { + sortedHits.Clear(); + sortedHits.AddRange(hits); + sortedHits.Sort((a, b) => + { + if (a.collider.transform == b.collider.transform) return 0; + + var sprite1 = a.transform.GetComponent(); + var sprite2 = b.transform.GetComponent(); + if (sprite1 != null && sprite2 != null) + { + int s1Id, s2Id; + if (!layerById.TryGetValue(sprite1.sortingLayerID, out s1Id)) s1Id = 0; + if (!layerById.TryGetValue(sprite2.sortingLayerID, out s2Id)) s2Id = 0; + if (s1Id < s2Id) return 1; + if (s1Id > s2Id) return -1; + if (sprite1.sortingOrder < sprite2.sortingOrder) return 1; + if (sprite1.sortingOrder > sprite2.sortingOrder) return -1; + } + + var cameraPos = GetComponent().transform.position; + var distA = (a.transform.position - cameraPos).sqrMagnitude; + var distB = (b.transform.position - cameraPos).sqrMagnitude; + return distA < distB ? -1 : 1; + }); + } + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Layers/CameraLayer2D.cs.meta b/ThirdParty/TouchScript/Scripts/Layers/CameraLayer2D.cs.meta new file mode 100644 index 000000000..84ad2e515 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Layers/CameraLayer2D.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a2c791a2415314ea3b9f44592097a9d1 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Layers/CameraLayerBase.cs b/ThirdParty/TouchScript/Scripts/Layers/CameraLayerBase.cs new file mode 100644 index 000000000..23aca7cab --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Layers/CameraLayerBase.cs @@ -0,0 +1,116 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System; +using TouchScript.Hit; +using UnityEngine; + +namespace TouchScript.Layers +{ + /// + /// Abstract base class for camera-based layers. + /// + public abstract class CameraLayerBase : TouchLayer + { + #region Public properties + + /// + /// Gets or sets the layer mask which is used to select layers which should be touchable from this layer. + /// + /// A mask to exclude objects from possibly touchable list. + public LayerMask LayerMask + { + get { return layerMask; } + set { layerMask = value; } + } + + /// + public override Vector3 WorldProjectionNormal + { + get + { + if (_camera == null) return Vector3.forward; + return _camera.transform.forward; + } + } + + #endregion + + #region Private variables + + [SerializeField] + private LayerMask layerMask = -1; + + /// + /// Camera. + /// + protected Camera _camera; + + #endregion + + #region Public methods + + /// + public override LayerHitResult Hit(Vector2 position, out TouchHit hit) + { + if (base.Hit(position, out hit) == LayerHitResult.Miss) return LayerHitResult.Miss; + + if (_camera == null) return LayerHitResult.Error; + if (_camera.enabled == false || _camera.gameObject.activeInHierarchy == false) return LayerHitResult.Miss; + if (!_camera.pixelRect.Contains(position)) return LayerHitResult.Miss; + + var ray = _camera.ScreenPointToRay(position); + return castRay(ray, out hit); + } + + #endregion + + #region Unity methods + + /// + protected override void Awake() + { + updateCamera(); + base.Awake(); + } + + #endregion + + #region Protected functions + + /// + protected override void setName() + { + if (String.IsNullOrEmpty(Name) && _camera != null) Name = _camera.name; + } + + /// + protected override ProjectionParams createProjectionParams() + { + return new CameraProjectionParams(_camera); + } + + /// + /// Finds a camera. + /// + protected virtual void updateCamera() + { + _camera = GetComponent(); + if (_camera == null) _camera = Camera.main; + if (_camera != null) return; + Debug.LogError("No Camera found for CameraLayer '" + name + "'."); + enabled = false; + } + + /// + /// Casts a ray from camera position. + /// + /// The ray. + /// Hit information if the ray has hit something. + /// Hit result. + protected abstract LayerHitResult castRay(Ray ray, out TouchHit hit); + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Layers/CameraLayerBase.cs.meta b/ThirdParty/TouchScript/Scripts/Layers/CameraLayerBase.cs.meta new file mode 100644 index 000000000..852f41394 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Layers/CameraLayerBase.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: fead2d18a248a4d27b0bbe07cbf3035d +timeCreated: 1447582131 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Layers/FullscreenLayer.cs b/ThirdParty/TouchScript/Scripts/Layers/FullscreenLayer.cs new file mode 100644 index 000000000..7f1ec75c5 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Layers/FullscreenLayer.cs @@ -0,0 +1,189 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System.Collections.Generic; +using TouchScript.Hit; +using UnityEngine; + +namespace TouchScript.Layers +{ + /// + /// Layer which gets all input from a camera. Should be used instead of a background object getting all the touches which come through. + /// + [AddComponentMenu("TouchScript/Layers/Fullscreen Layer")] + [HelpURL("http://touchscript.github.io/docs/Index.html?topic=html/T_TouchScript_Layers_FullscreenLayer.htm")] + public class FullscreenLayer : TouchLayer + { + #region Constants + + /// + /// The type of FullscreenLayer. + /// + public enum LayerType + { + /// + /// Get touches from main camera. + /// + MainCamera, + + /// + /// Get touches from specific camera. + /// + Camera, + + /// + /// Get all touches on Z=0 plane without a camera. + /// + Global + } + + #endregion + + #region Public properties + + /// + /// Layer type. + /// + public LayerType Type + { + get { return type; } + set + { + if (value == type) return; + type = value; + updateCamera(); + cacheCameraTransform(); + } + } + + /// + /// Target camera if or is used. + /// + public Camera Camera + { + get { return _camera; } + set + { + if (value == _camera) return; + _camera = value; + if (_camera == null) Type = LayerType.Global; + else Type = LayerType.Camera; + setName(); + } + } + + /// + public override Vector3 WorldProjectionNormal + { + get + { + if (cameraTransform == null) return transform.forward; + return cameraTransform.forward; + } + } + + #endregion + + #region Private variables + + [SerializeField] + private LayerType type = LayerType.MainCamera; + + [SerializeField] + private Camera _camera; + + private Transform cameraTransform; + private List tmpHitTestList = new List(10); + + #endregion + + #region Public methods + + /// + public override LayerHitResult Hit(Vector2 position, out TouchHit hit) + { + if (base.Hit(position, out hit) == LayerHitResult.Miss) return LayerHitResult.Miss; + + if (_camera != null) + { + if (!_camera.pixelRect.Contains(position)) return LayerHitResult.Miss; + } + + hit = new TouchHit(transform); + transform.GetComponents(tmpHitTestList); + var count = tmpHitTestList.Count; + if (count == 0) return LayerHitResult.Hit; + + for (var i = 0; i < count; i++) + { + var test = tmpHitTestList[i]; + if (!test.enabled) continue; + var hitResult = test.IsHit(hit); + if (hitResult == HitTest.ObjectHitResult.Miss || hitResult == HitTest.ObjectHitResult.Discard) + return LayerHitResult.Miss; + } + + return LayerHitResult.Hit; + } + + #endregion + + #region Unity methods + + /// + protected override void Awake() + { + updateCamera(); + base.Awake(); + if (!Application.isPlaying) return; + + cacheCameraTransform(); + } + + #endregion + + #region Protected functions + + /// + protected override void setName() + { + if (_camera == null) Name = "Global Fullscreen"; + else Name = "Fullscreen @ " + _camera.name; + } + + /// + protected override ProjectionParams createProjectionParams() + { + if (_camera) return new CameraProjectionParams(_camera); + return base.createProjectionParams(); + } + + #endregion + + #region Private functions + + private void updateCamera() + { + switch (type) + { + case LayerType.Global: + _camera = null; + break; + case LayerType.MainCamera: + _camera = Camera.main; + if (_camera == null) Debug.LogError("No Main camera found!"); + break; + } + setName(); + } + + private void cacheCameraTransform() + { + if (_camera == null) cameraTransform = null; + else cameraTransform = _camera.transform; + } + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Layers/FullscreenLayer.cs.meta b/ThirdParty/TouchScript/Scripts/Layers/FullscreenLayer.cs.meta new file mode 100644 index 000000000..278d84adc --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Layers/FullscreenLayer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: bc7fd33c57d694994b0ab9f33fcdcbea +timeCreated: 1447582131 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Layers/ILayerDelegate.cs b/ThirdParty/TouchScript/Scripts/Layers/ILayerDelegate.cs new file mode 100644 index 000000000..fed3fed53 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Layers/ILayerDelegate.cs @@ -0,0 +1,23 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +namespace TouchScript.Layers +{ + /// + /// A delegate which can be set to and control what this layer can or can not do. + /// + /// + public interface ILayerDelegate + { + + /// + /// Returns whether a layer should receive the touch. + /// + /// The layer. + /// The touch. + /// true if it should; false otherwise. + bool ShouldReceiveTouch(TouchLayer layer, TouchPoint touch); + + } +} diff --git a/ThirdParty/TouchScript/Scripts/Layers/ILayerDelegate.cs.meta b/ThirdParty/TouchScript/Scripts/Layers/ILayerDelegate.cs.meta new file mode 100644 index 000000000..1d45b0ffc --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Layers/ILayerDelegate.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4e9a4d4a935394bc19057f2f4a1b04a2 +timeCreated: 1451051749 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Layers/ProjectionParams.cs b/ThirdParty/TouchScript/Scripts/Layers/ProjectionParams.cs new file mode 100644 index 000000000..19e95a805 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Layers/ProjectionParams.cs @@ -0,0 +1,127 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using TouchScript.Utils; +using UnityEngine; + +namespace TouchScript.Layers +{ + /// + /// specific projection parameters. Used by layers to project touches in the world and world coordinates onto layers. + /// + public class ProjectionParams + { + /// + /// Projects a screen point on a 3D plane. + /// + /// Screen point. + /// Projection plane. + /// Projected point in 3D. + public virtual Vector3 ProjectTo(Vector2 screenPosition, Plane projectionPlane) + { + return ProjectionUtils.ScreenToPlaneProjection(screenPosition, projectionPlane); + } + + /// + /// Projects a world point onto layer. + /// + /// World position. + /// 2D point on layer. + public virtual Vector2 ProjectFrom(Vector3 worldPosition) + { + return new Vector2(worldPosition.x, worldPosition.y); + } + } + + /// + /// Projection parameters for a camera based . + /// + public class CameraProjectionParams : ProjectionParams + { + /// + /// Camera used for projection. + /// + protected Camera camera; + + /// + /// Initializes a new instance of the class. + /// + /// The camera. + public CameraProjectionParams(Camera camera) + { + this.camera = camera; + } + + /// + public override Vector3 ProjectTo(Vector2 screenPosition, Plane projectionPlane) + { + return ProjectionUtils.CameraToPlaneProjection(screenPosition, camera, projectionPlane); + } + + /// + public override Vector2 ProjectFrom(Vector3 worldPosition) + { + return camera.WorldToScreenPoint(worldPosition); + } + } + + /// + /// Projection parameters for a UI based . + /// + public class CanvasProjectionParams : ProjectionParams + { + /// + /// The canvas. + /// + protected Canvas canvas; + + /// + /// Canvas RectTransform. + /// + protected RectTransform rect; + + /// + /// Canvas mode. + /// + protected RenderMode mode; + + /// + /// Canvas camera. + /// + protected Camera camera; + + /// + /// Initializes a new instance of the class. + /// + /// The canvas. + public CanvasProjectionParams(Canvas canvas) + { + this.canvas = canvas; + mode = canvas.renderMode; + + if (mode == RenderMode.ScreenSpaceOverlay) + { + rect = canvas.GetComponent(); + } + else + { + camera = canvas.worldCamera ?? Camera.main; + } + } + + /// + public override Vector3 ProjectTo(Vector2 screenPosition, Plane projectionPlane) + { + if (mode == RenderMode.ScreenSpaceOverlay) return base.ProjectTo(screenPosition, projectionPlane); + return ProjectionUtils.CameraToPlaneProjection(screenPosition, camera, projectionPlane); + } + + /// + public override Vector2 ProjectFrom(Vector3 worldPosition) + { + if (mode == RenderMode.ScreenSpaceOverlay) return base.ProjectFrom(worldPosition); + return camera.WorldToScreenPoint(worldPosition); + } + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Layers/ProjectionParams.cs.meta b/ThirdParty/TouchScript/Scripts/Layers/ProjectionParams.cs.meta new file mode 100644 index 000000000..958cce94f --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Layers/ProjectionParams.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 72ec715c90bb1435e8ba040343f8573d +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Layers/TouchLayer.cs b/ThirdParty/TouchScript/Scripts/Layers/TouchLayer.cs new file mode 100644 index 000000000..f0065d9ba --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Layers/TouchLayer.cs @@ -0,0 +1,263 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System; +using TouchScript.Hit; +using TouchScript.Utils; +using UnityEngine; + +namespace TouchScript.Layers +{ + /// + /// Base class for all touch layers. Used to check if some object is hit by a touch point. + /// + /// + /// + /// + /// + /// In TouchScript it's a layer's job to determine if a touch on the screen hits anything in Unity's 3d/2d world. + /// keeps a sorted list of all layers in which it queries when a new touch appears. It's a layer's job to return if this touch hits an object. Layers can even be used to "hit" objects outside of Unity's 3d world, for example Scaleform integration is implemented this way. + /// Layers can be configured in a scene using or from code using API. + /// If you want to route touches and manually control which objects they should "touch" it's better to create a new layer extending . + /// + [ExecuteInEditMode] + public abstract class TouchLayer : MonoBehaviour + { + #region Constants + + /// + /// Result of a touch's hit test with a layer. + /// + public enum LayerHitResult + { + /// + /// Something wrong happened. + /// + Error = 0, + + /// + /// Touch hit an object. + /// + Hit = 1, + + /// + /// Touch didn't hit any object. + /// + Miss = 2 + } + + #endregion + + #region Events + + /// + /// Occurs when layer determines that a touch has hit something. + /// + public event EventHandler TouchBegan + { + add { touchBeganInvoker += value; } + remove { touchBeganInvoker -= value; } + } + + // Needed to overcome iOS AOT limitations + private EventHandler touchBeganInvoker; + + #endregion + + #region Public properties + + /// + /// Touch layer's name. + /// + public string Name; + + /// + /// Layers screen to world projection normal. + /// + public virtual Vector3 WorldProjectionNormal + { + get { return transform.forward; } + } + + /// + /// Gets or sets an object implementing to be asked for layer specific actions. + /// + /// The delegate. + public ILayerDelegate Delegate { get; set; } + + #endregion + + #region Public methods + + /// + /// Gets the projection parameters of this layer which might depend on a specific touch data. + /// + /// Touch to retrieve projection parameters for. + /// + public virtual ProjectionParams GetProjectionParams(TouchPoint touch) + { + return layerProjectionParams; + } + + /// + /// Checks if a point in screen coordinates hits something in this layer. + /// + /// Position in screen coordinates. + /// Hit result. + /// , if an object is hit, or otherwise. + public virtual LayerHitResult Hit(Vector2 position, out TouchHit hit) + { + hit = default(TouchHit); + if (enabled == false || gameObject.activeInHierarchy == false) return LayerHitResult.Miss; + return LayerHitResult.Error; + } + + #endregion + + #region Private variables + + /// + /// The layer projection parameters. + /// + protected ProjectionParams layerProjectionParams; + + #endregion + + #region Unity methods + + /// + /// Unity Awake callback. + /// + protected virtual void Awake() + { + setName(); + if (!Application.isPlaying) return; + + layerProjectionParams = createProjectionParams(); + TouchManager.Instance.AddLayer(this, 0, false); + } + + /// + /// Unity OnDestroy callback. + /// + protected virtual void OnDestroy() + { + if (Application.isPlaying && TouchManager.Instance != null) TouchManager.Instance.RemoveLayer(this); + } + + #endregion + + #region Internal methods + + internal bool INTERNAL_BeginTouch(TouchPoint touch) + { + TouchHit hit; + if (Delegate != null && Delegate.ShouldReceiveTouch(this, touch) == false) return false; + var result = beginTouch(touch, out hit); + if (result == LayerHitResult.Hit) + { + touch.Layer = this; + touch.Hit = hit; + if (hit.Transform != null) touch.Target = hit.Transform; + if (touchBeganInvoker != null) + touchBeganInvoker.InvokeHandleExceptions(this, new TouchLayerEventArgs(touch)); + return true; + } + return false; + } + + internal void INTERNAL_UpdateTouch(TouchPoint touch) + { + updateTouch(touch); + } + + internal void INTERNAL_EndTouch(TouchPoint touch) + { + endTouch(touch); + } + + internal void INTERNAL_CancelTouch(TouchPoint touch) + { + cancelTouch(touch); + } + + #endregion + + #region Protected functions + + /// + /// Updates touch layers's name. + /// + protected virtual void setName() + { + if (string.IsNullOrEmpty(Name)) Name = "Layer"; + } + + /// + /// Called when a layer is touched to query the layer if this touch hits something. + /// + /// Touch. + /// Hit result. + /// , if an object is hit, or otherwise. + /// This method may also be used to update some internal state or resend this event somewhere. + protected virtual LayerHitResult beginTouch(TouchPoint touch, out TouchHit hit) + { + var result = Hit(touch.Position, out hit); + return result; + } + + /// + /// Called when a touch is moved. + /// + /// Touch. + /// This method may also be used to update some internal state or resend this event somewhere. + protected virtual void updateTouch(TouchPoint touch) {} + + /// + /// Called when a touch ends. + /// + /// Touch. + /// This method may also be used to update some internal state or resend this event somewhere. + protected virtual void endTouch(TouchPoint touch) {} + + /// + /// Called when a touch is cancelled. + /// + /// Touch. + /// This method may also be used to update some internal state or resend this event somewhere. + protected virtual void cancelTouch(TouchPoint touch) {} + + /// + /// Creates projection parameters. + /// + /// Created instance. + protected virtual ProjectionParams createProjectionParams() + { + return new ProjectionParams(); + } + + #endregion + } + + /// + /// Arguments used with events. + /// + public class TouchLayerEventArgs : EventArgs + { + /// + /// Gets the touch associated with the event. + /// + public TouchPoint Touch { get; private set; } + + /// + /// Initializes a new instance of the class. + /// + /// The touch associated with the event. + public TouchLayerEventArgs(TouchPoint touch) + : base() + { + Touch = touch; + } + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Layers/TouchLayer.cs.meta b/ThirdParty/TouchScript/Scripts/Layers/TouchLayer.cs.meta new file mode 100644 index 000000000..8d2bc3f6b --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Layers/TouchLayer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: fa6c5418ec5d043f19db8de147aba5ad +timeCreated: 1447582131 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Layers/UILayer.cs b/ThirdParty/TouchScript/Scripts/Layers/UILayer.cs new file mode 100644 index 000000000..bf14a2cee --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Layers/UILayer.cs @@ -0,0 +1,177 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System; +using System.Collections; +using System.Collections.Generic; +using TouchScript.Hit; +using UnityEngine; +using UnityEngine.EventSystems; +using UnityEngine.UI; + +namespace TouchScript.Layers +{ + /// + /// Touch layer which handles Unity UI and interface objects in a Canvas. + /// + [AddComponentMenu("TouchScript/Layers/UI Layer")] + [HelpURL("http://touchscript.github.io/docs/Index.html?topic=html/T_TouchScript_Layers_UILayer.htm")] + public class UILayer : TouchLayer + { + #region Public properties + + #endregion + + #region Private variables + + private static UILayer instance; + + [NonSerialized] + private List raycastResultCache = new List(20); + + private List tmpHitTestList = new List(10); + + private PointerEventData pointerDataCache; + private EventSystem eventSystem; + private Dictionary projectionParamsCache = new Dictionary(); + + #endregion + + #region Public methods + + /// + public override LayerHitResult Hit(Vector2 position, out TouchHit hit) + { + if (base.Hit(position, out hit) == LayerHitResult.Miss) return LayerHitResult.Miss; + if (eventSystem == null) return LayerHitResult.Error; + + if (pointerDataCache == null) pointerDataCache = new PointerEventData(eventSystem); + pointerDataCache.position = position; + eventSystem.RaycastAll(pointerDataCache, raycastResultCache); + + var count = raycastResultCache.Count; + if (count == 0) return LayerHitResult.Miss; + if (count > 1) + { + for (var i = 0; i < count; ++i) + { + var raycastHit = raycastResultCache[i]; + switch (doHit(raycastHit, out hit)) + { + case HitTest.ObjectHitResult.Hit: + return LayerHitResult.Hit; + case HitTest.ObjectHitResult.Discard: + return LayerHitResult.Miss; + } + } + } + else + { + switch (doHit(raycastResultCache[0], out hit)) + { + case HitTest.ObjectHitResult.Hit: + return LayerHitResult.Hit; + case HitTest.ObjectHitResult.Error: + return LayerHitResult.Error; + default: + return LayerHitResult.Miss; + } + } + + return LayerHitResult.Miss; + } + + /// + public override ProjectionParams GetProjectionParams(TouchPoint touch) + { + var graphic = touch.Target.GetComponent(); + if (graphic == null) return layerProjectionParams; + var canvas = graphic.canvas; + if (canvas == null) return layerProjectionParams; + + ProjectionParams pp; + if (!projectionParamsCache.TryGetValue(canvas, out pp)) + { + // TODO: memory leak + pp = new CanvasProjectionParams(canvas); + projectionParamsCache.Add(canvas, pp); + } + return pp; + } + + #endregion + + #region Unity methods + + /// + protected override void Awake() + { + if (Application.isPlaying) + { + if (instance == null) instance = this; + if (instance != this) + { + Debug.LogWarning("[TouchScript] Only one instance of UILayer should exist in a scene. Destroying."); + Destroy(this); + return; + } + } + + base.Awake(); + if (!Application.isPlaying) return; + + StartCoroutine(lateAwake()); + } + + /// + protected IEnumerator lateAwake() + { + yield return new WaitForEndOfFrame(); + eventSystem = EventSystem.current; + if (eventSystem == null) + { + eventSystem = gameObject.AddComponent(); + eventSystem.hideFlags = HideFlags.DontSave; + } + } + + #endregion + + #region Protected functions + + /// + protected override void setName() + { + Name = "UI Layer"; + } + + #endregion + + #region Private functions + + private HitTest.ObjectHitResult doHit(RaycastResult raycastHit, out TouchHit hit) + { + hit = new TouchHit(raycastHit); + + if (!(raycastHit.module is GraphicRaycaster)) return HitTest.ObjectHitResult.Miss; + var go = raycastHit.gameObject; + if (go == null) return HitTest.ObjectHitResult.Miss; + go.GetComponents(tmpHitTestList); + var count = tmpHitTestList.Count; + if (count == 0) return HitTest.ObjectHitResult.Hit; + + var hitResult = HitTest.ObjectHitResult.Hit; + for (var i = 0; i < count; i++) + { + var test = tmpHitTestList[i]; + if (!test.enabled) continue; + hitResult = test.IsHit(hit); + if (hitResult == HitTest.ObjectHitResult.Miss || hitResult == HitTest.ObjectHitResult.Discard) break; + } + return hitResult; + } + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Layers/UILayer.cs.meta b/ThirdParty/TouchScript/Scripts/Layers/UILayer.cs.meta new file mode 100644 index 000000000..0c3d36583 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Layers/UILayer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 26a72f9b3b6704180978dbce08cf231e +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Tags.cs b/ThirdParty/TouchScript/Scripts/Tags.cs new file mode 100644 index 000000000..3495685ce --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Tags.cs @@ -0,0 +1,232 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System; +using System.Collections.Generic; +using System.Text; +using UnityEngine; + +namespace TouchScript +{ + /// + /// Immutable tag collection for touches. + /// + [Serializable] + public sealed class Tags : ISerializationCallbackReceiver + { + #region Constants + + /// + /// Touch. + /// + public const string INPUT_TOUCH = "Touch"; + + /// + /// Mouse. + /// + public const string INPUT_MOUSE = "Mouse"; + + /// + /// Pen. + /// + public const string INPUT_PEN = "Pen"; + + /// + /// Object. + /// + public const string INPUT_OBJECT = "Object"; + + /// + /// Empty tag list. + /// + public static readonly Tags EMPTY = new Tags(); + + #endregion + + #region Public properties + + #endregion + + #region Private variables + + [SerializeField] + private List tagList = new List(); + + private HashSet tags = new HashSet(); + private string stringValue; + + #endregion + + #region Constructors + + /// + /// Initializes a new instance of the class. + /// + /// Tags to copy. + /// Tags to add. + public Tags(Tags tags, IEnumerable add) : this(tags) + { + if (add == null) return; + foreach (var tag in add) + { + if (string.IsNullOrEmpty(tag)) continue; + this.tags.Add(tag); + } +#if UNITY_EDITOR + syncTagList(); +#endif + } + + /// + /// Initializes a new instance of the class. + /// + /// Tags to copy. + /// Tag to add. + public Tags(Tags tags, string add) : this(tags) + { + if (string.IsNullOrEmpty(add)) return; + this.tags.Add(add); + } + + /// + /// Initializes a new instance of the class. + /// + /// Tags to copy. + public Tags(Tags tags) : this() + { + if (tags == null) return; + foreach (var tag in tags.tags) this.tags.Add(tag); +#if UNITY_EDITOR + syncTagList(); +#endif + } + + /// + /// Initializes a new instance of the class. + /// + /// Tags to copy. + public Tags(IEnumerable tags) : this() + { + if (tags == null) return; + foreach (var tag in tags) + { + if (string.IsNullOrEmpty(tag)) continue; + this.tags.Add(tag); + } +#if UNITY_EDITOR + syncTagList(); +#endif + } + + /// + /// Initializes a new instance of the class. + /// + /// Tags to add. + public Tags(params string[] tags) : this() + { + if (tags == null) return; + var count = tags.Length; + for (var i = 0; i < count; i++) + { + var tag = tags[i]; + if (string.IsNullOrEmpty(tag)) continue; + this.tags.Add(tag); + } +#if UNITY_EDITOR + syncTagList(); +#endif + } + + /// + /// Initializes a new instance of the class. + /// + /// Tag to add. + public Tags(string tag) : this() + { + if (string.IsNullOrEmpty(tag)) return; + tags.Add(tag); +#if UNITY_EDITOR + syncTagList(); +#endif + } + + /// + /// Initializes a new instance of the class. + /// + public Tags() {} + + #endregion + + #region Public methods + + /// + /// Checks if this collection contains a tag. + /// + /// Tag. + /// True if tag is in this collection; false otherwise. + public bool HasTag(string tag) + { + return tags.Contains(tag); + } + + + /// + public void OnBeforeSerialize() + { +#if !UNITY_EDITOR + tagList.Clear(); + tagList.AddRange(tags); +#endif + } + + /// + public void OnAfterDeserialize() + { + tags.Clear(); + foreach (var tag in tagList) tags.Add(tag); + } + + /// + public override string ToString() + { + if (stringValue == null) + { + if (tags.Count == 0) + { + stringValue = ""; + } + else if (tags.Count == 1) + { + foreach (var tag in tags) stringValue = tag; // doh!? + } + else + { + var sb = new StringBuilder(100); + foreach (var tag in tags) + { + sb.Append(tag); + sb.Append(", "); + } + stringValue = sb.ToString(0, sb.Length - 2); + } + } + return stringValue; + } + + #endregion + + #region Private functions + +#if UNITY_EDITOR + // When Tags is created in editor as a component's property need to copy all tags to tagList so Unity could serialize them. + private void syncTagList() + { + tagList.Clear(); + tagList.AddRange(tags); + } +#endif + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Tags.cs.meta b/ThirdParty/TouchScript/Scripts/Tags.cs.meta new file mode 100644 index 000000000..321ff2893 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Tags.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c7c3e58101ca34da39242009583cad02 +timeCreated: 1447582131 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/TouchManager.cs b/ThirdParty/TouchScript/Scripts/TouchManager.cs new file mode 100644 index 000000000..7c83ca5dc --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/TouchManager.cs @@ -0,0 +1,381 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System; +using System.Collections.Generic; +using TouchScript.Devices.Display; +using TouchScript.Layers; +using TouchScript.Utils.Attributes; +using UnityEngine; +using Object = UnityEngine.Object; + +namespace TouchScript +{ + /// + /// A façade object to configure and hold parameters for an instance of . Contains constants used throughout the library. + /// + /// + /// + /// An instance of may be added to a Unity scene to hold (i.e. serialize them to the scene) parameters needed to configure an instance of used in application. Which can be accessed via static property. + /// Though it's not required it is a convenient way to configure TouchScript for your scene. You can use different configuration options for different scenes. + /// + /// + /// This sample shows how to get Touch Manager instance and subscribe to events. + /// + /// TouchManager.Instance.TouchBegan += (sender, args) => { Debug.Log("Began: " + args.Touch.Id); }; + /// TouchManager.Instance.TouchEnded += (sender, args) => { Debug.Log("Ended: " + args.Touch.Id); }; + /// + /// + [AddComponentMenu("TouchScript/Touch Manager")] + [HelpURL("http://touchscript.github.io/docs/Index.html?topic=html/T_TouchScript_TouchManager.htm")] + public sealed class TouchManager : MonoBehaviour + { + #region Constants + +#if TOUCHSCRIPT_DEBUG + public const int DEBUG_GL_START = int.MinValue; + public const int DEBUG_GL_TOUCH = DEBUG_GL_START; +#endif + + /// + /// Values of a bit-mask representing which Unity messages an instance of will dispatch. + /// + [Flags] + public enum MessageType + { + /// + /// Touch frame started. + /// + FrameStarted = 1 << 0, + + /// + /// Touch frame finished. + /// + FrameFinished = 1 << 1, + + /// + /// Some touches have begun during the frame. + /// + TouchBegan = 1 << 2, + + /// + /// Some touches have moved during the frame. + /// + TouchMoved = 1 << 3, + + /// + /// Some touches have ended during the frame. + /// + TouchEnded = 1 << 4, + + /// + /// Some touches were cancelled during the frame. + /// + TouchCancelled = 1 << 5 + } + + /// + /// Names of dispatched Unity messages. + /// + public enum MessageName + { + /// + /// Touch frame started. + /// + OnTouchFrameStarted = MessageType.FrameStarted, + + /// + /// Touch frame finished. + /// + OnTouchFrameFinished = MessageType.FrameFinished, + + /// + /// Some touches have begun during the frame. + /// + OnTouchBegan = MessageType.TouchBegan, + + /// + /// Some touches have moved during the frame. + /// + OnTouchMoved = MessageType.TouchMoved, + + /// + /// Some touches have ended during the frame. + /// + OnTouchEnded = MessageType.TouchEnded, + + /// + /// Some touches were cancelled during the frame. + /// + OnTouchCancelled = MessageType.TouchCancelled + } + + /// + /// Centimeter to inch ratio to be used in DPI calculations. + /// + public const float CM_TO_INCH = 0.393700787f; + + /// + /// Inch to centimeter ratio to be used in DPI calculations. + /// + public const float INCH_TO_CM = 1 / CM_TO_INCH; + + /// + /// The value used to represent an unknown state of a screen position. Use to check if a point has unknown value. + /// + public static readonly Vector2 INVALID_POSITION = new Vector2(float.NaN, float.NaN); + + /// + /// TouchScript version. + /// + public static readonly Version VERSION = new Version(7, 0); + + #endregion + + #region Public properties + + /// + /// Gets the instance of implementation used in the application. + /// + /// An instance of which is in charge of global touch input control in the application. + public static ITouchManager Instance + { + get { return TouchManagerInstance.Instance; } + } + + /// + /// Gets or sets current display device. + /// + /// Object which holds properties of current display device, like DPI and others. + /// A shortcut for which is also serialized into scene. + public IDisplayDevice DisplayDevice + { + get + { + if (Instance == null) return displayDevice as IDisplayDevice; + return Instance.DisplayDevice; + } + set + { + if (Instance == null) + { + displayDevice = value as Object; + return; + } + Instance.DisplayDevice = value; + } + } + + /// + /// Indicates if TouchScript should create a CameraLayer for you if no layers present in a scene. + /// + /// true if a CameraLayer should be created on startup; otherwise, false. + /// This is usually a desired behavior but sometimes you would want to turn this off if you are using TouchScript only to get touch input from some device. + public bool ShouldCreateCameraLayer + { + get { return shouldCreateCameraLayer; } + set { shouldCreateCameraLayer = value; } + } + + /// + /// Gets or sets a value indicating whether a should be created in scene if no inputs present. + /// + /// true if StandardInput should be created; otherwise, false. + /// This is usually a desired behavior but sometimes you would want to turn this off. + public bool ShouldCreateStandardInput + { + get { return shouldCreateStandardInput; } + set { shouldCreateStandardInput = value; } + } + + /// + /// Gets or sets a value indicating whether Unity messages are sent when dispatches events. + /// + /// true if Unity messages are used; otherwise, false. + /// If Unity messages are used they are sent to an object set as a value of property or to TouchManager's GameObject if it's null. + public bool UseSendMessage + { + get { return useSendMessage; } + set + { + if (value == useSendMessage) return; + useSendMessage = value; + updateSubscription(); + } + } + + /// + /// Gets or sets the bit-mask which indicates which events from an instance of are sent as Unity messages. + /// + /// Bit-mask with corresponding bits for used events. + public MessageType SendMessageEvents + { + get { return sendMessageEvents; } + set + { + if (sendMessageEvents == value) return; + sendMessageEvents = value; + updateSubscription(); + } + } + + /// + /// Gets or sets the SendMessage target GameObject. + /// + /// Which GameObject to use to dispatch Unity messages. If null, TouchManager's GameObject is used. + public GameObject SendMessageTarget + { + get { return sendMessageTarget; } + set + { + sendMessageTarget = value; + if (value == null) sendMessageTarget = gameObject; + } + } + + #endregion + + #region Public methods + + /// + /// Determines whether a Vector2 represents an invalid position, i.e. if it is equal to . + /// + /// Screen position. + /// true if position is invalid; otherwise, false. + public static bool IsInvalidPosition(Vector2 position) + { + return position.Equals(INVALID_POSITION); + } + + #endregion + + #region Private variables + + [SerializeField] + private Object displayDevice; + + [SerializeField] + [ToggleLeft] + private bool shouldCreateCameraLayer = true; + + [SerializeField] + [ToggleLeft] + private bool shouldCreateStandardInput = true; + + [SerializeField] + [ToggleLeft] + private bool useSendMessage = false; + + [SerializeField] + private MessageType sendMessageEvents = MessageType.TouchBegan | MessageType.TouchCancelled | + MessageType.TouchEnded | MessageType.TouchMoved; + + [SerializeField] + private GameObject sendMessageTarget; + + [SerializeField] + private List layers = new List(); + + #endregion + + #region Unity + + private void Awake() + { + if (Instance == null) return; + + Instance.DisplayDevice = displayDevice as IDisplayDevice; + Instance.ShouldCreateCameraLayer = ShouldCreateCameraLayer; + Instance.ShouldCreateStandardInput = ShouldCreateStandardInput; + for (var i = 0; i < layers.Count; i++) + { + Instance.AddLayer(layers[i], i); + } + } + + private void OnEnable() + { + updateSubscription(); + } + + private void OnDisable() + { + removeSubscriptions(); + } + + #endregion + + #region Private functions + + private void updateSubscription() + { + if (!Application.isPlaying) return; + if (Instance == null) return; + + if (sendMessageTarget == null) sendMessageTarget = gameObject; + + removeSubscriptions(); + + if (!useSendMessage) return; + + if ((SendMessageEvents & MessageType.FrameStarted) != 0) Instance.FrameStarted += frameStartedHandler; + if ((SendMessageEvents & MessageType.FrameFinished) != 0) Instance.FrameFinished += frameFinishedHandler; + if ((SendMessageEvents & MessageType.TouchBegan) != 0) Instance.TouchBegan += touchBeganHandler; + if ((SendMessageEvents & MessageType.TouchMoved) != 0) Instance.TouchMoved += touchMovedHandler; + if ((SendMessageEvents & MessageType.TouchEnded) != 0) Instance.TouchEnded += touchEndedHandler; + if ((SendMessageEvents & MessageType.TouchCancelled) != 0) Instance.TouchCancelled += touchCancelledHandler; + } + + private void removeSubscriptions() + { + if (!Application.isPlaying) return; + if (Instance == null) return; + + Instance.FrameStarted -= frameStartedHandler; + Instance.FrameFinished -= frameFinishedHandler; + Instance.TouchBegan -= touchBeganHandler; + Instance.TouchMoved -= touchMovedHandler; + Instance.TouchEnded -= touchEndedHandler; + Instance.TouchCancelled -= touchCancelledHandler; + } + + private void touchBeganHandler(object sender, TouchEventArgs e) + { + sendMessageTarget.SendMessage(MessageName.OnTouchBegan.ToString(), e.Touch, + SendMessageOptions.DontRequireReceiver); + } + + private void touchMovedHandler(object sender, TouchEventArgs e) + { + sendMessageTarget.SendMessage(MessageName.OnTouchMoved.ToString(), e.Touch, + SendMessageOptions.DontRequireReceiver); + } + + private void touchEndedHandler(object sender, TouchEventArgs e) + { + sendMessageTarget.SendMessage(MessageName.OnTouchEnded.ToString(), e.Touch, + SendMessageOptions.DontRequireReceiver); + } + + private void touchCancelledHandler(object sender, TouchEventArgs e) + { + sendMessageTarget.SendMessage(MessageName.OnTouchCancelled.ToString(), e.Touch, + SendMessageOptions.DontRequireReceiver); + } + + private void frameStartedHandler(object sender, EventArgs e) + { + sendMessageTarget.SendMessage(MessageName.OnTouchFrameStarted.ToString(), + SendMessageOptions.DontRequireReceiver); + } + + private void frameFinishedHandler(object sender, EventArgs e) + { + sendMessageTarget.SendMessage(MessageName.OnTouchFrameFinished.ToString(), + SendMessageOptions.DontRequireReceiver); + } + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/TouchManager.cs.meta b/ThirdParty/TouchScript/Scripts/TouchManager.cs.meta new file mode 100644 index 000000000..9a64c9c2d --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/TouchManager.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0dd4c394fe06f4ea49e03aaa5e7a8190 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/TouchManagerInstance.cs b/ThirdParty/TouchScript/Scripts/TouchManagerInstance.cs new file mode 100644 index 000000000..6d6cd8e77 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/TouchManagerInstance.cs @@ -0,0 +1,793 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System; +using System.Collections; +using System.Collections.Generic; +using TouchScript.Devices.Display; +using TouchScript.Hit; +using TouchScript.InputSources; +using TouchScript.Layers; +using TouchScript.Utils; +#if TOUCHSCRIPT_DEBUG +using TouchScript.Utils.Debug; +#endif +using UnityEngine; + +namespace TouchScript +{ + /// + /// Default implementation of . + /// + internal sealed class TouchManagerInstance : DebuggableMonoBehaviour, ITouchManager + { + #region Events + + /// + public event EventHandler FrameStarted + { + add { frameStartedInvoker += value; } + remove { frameStartedInvoker -= value; } + } + + /// + public event EventHandler FrameFinished + { + add { frameFinishedInvoker += value; } + remove { frameFinishedInvoker -= value; } + } + + /// + public event EventHandler TouchBegan + { + add { touchBeganInvoker += value; } + remove { touchBeganInvoker -= value; } + } + + /// + public event EventHandler TouchMoved + { + add { touchMovedInvoker += value; } + remove { touchMovedInvoker -= value; } + } + + /// + public event EventHandler TouchEnded + { + add { touchEndedInvoker += value; } + remove { touchEndedInvoker -= value; } + } + + /// + public event EventHandler TouchCancelled + { + add { touchCancelledInvoker += value; } + remove { touchCancelledInvoker -= value; } + } + + // Needed to overcome iOS AOT limitations + private EventHandler touchBeganInvoker, + touchMovedInvoker, + touchEndedInvoker, + touchCancelledInvoker; + + private EventHandler frameStartedInvoker, frameFinishedInvoker; + + #endregion + + #region Public properties + + /// + public static TouchManagerInstance Instance + { + get + { + if (shuttingDown) return null; + if (instance == null) + { + if (!Application.isPlaying) return null; + var objects = FindObjectsOfType(); + if (objects.Length == 0) + { + var go = new GameObject("TouchManager Instance"); + instance = go.AddComponent(); + } + else if (objects.Length >= 1) + { + instance = objects[0]; + } + } + return instance; + } + } + + /// + public IDisplayDevice DisplayDevice + { + get + { + if (displayDevice == null) + { + displayDevice = ScriptableObject.CreateInstance(); + } + return displayDevice; + } + set + { + if (value == null) + { + displayDevice = ScriptableObject.CreateInstance(); + } + else + { + displayDevice = value; + } + updateDPI(); + } + } + + /// + public float DPI + { + get { return dpi; } + } + + /// + public bool ShouldCreateCameraLayer + { + get { return shouldCreateCameraLayer; } + set { shouldCreateCameraLayer = value; } + } + + /// + public bool ShouldCreateStandardInput + { + get { return shouldCreateStandardInput; } + set { shouldCreateStandardInput = value; } + } + + /// + public IList Layers + { + get { return new List(layers); } + } + + /// + public IList Inputs + { + get { return new List(inputs); } + } + + /// + public float DotsPerCentimeter + { + get { return dotsPerCentimeter; } + } + + /// + public int NumberOfTouches + { + get { return touches.Count; } + } + + /// + public IList ActiveTouches + { + get { return new List(touches); } + } + + #endregion + + #region Private variables + + private static bool shuttingDown = false; + private static TouchManagerInstance instance; + private bool shouldCreateCameraLayer = true; + private bool shouldCreateStandardInput = true; + + private IDisplayDevice displayDevice; + private float dpi = 96; + private float dotsPerCentimeter = TouchManager.CM_TO_INCH * 96; + + private List layers = new List(10); + private int layerCount = 0; + private List inputs = new List(3); + private int inputCount = 0; + + private List touches = new List(30); + private Dictionary idToTouch = new Dictionary(30); + + // Upcoming changes + private List touchesBegan = new List(10); + private HashSet touchesUpdated = new HashSet(); + private HashSet touchesEnded = new HashSet(); + private HashSet touchesCancelled = new HashSet(); + + private static ObjectPool touchPointPool = new ObjectPool(10, null, null, + (t) => t.INTERNAL_Reset()); + + private static ObjectPool> touchPointListPool = new ObjectPool>(2, + () => new List(10), null, (l) => l.Clear()); + + private static ObjectPool> intListPool = new ObjectPool>(3, () => new List(10), null, + (l) => l.Clear()); + + private int nextTouchId = 0; + private object touchLock = new object(); + + #endregion + + #region Public methods + + /// + public bool AddLayer(TouchLayer layer) + { + return AddLayer(layer, 0); + } + + /// + public bool AddLayer(TouchLayer layer, int index, bool addIfExists = true) + { + if (layer == null) return false; + + var i = layers.IndexOf(layer); + if (i != -1) + { + if (!addIfExists) return false; + layers.RemoveAt(i); + layerCount--; + } + if (index <= 0) + { + layers.Insert(0, layer); + layerCount++; + return i == -1; + } + if (index >= layerCount) + { + layers.Add(layer); + layerCount++; + return i == -1; + } + if (i != -1) + { + if (index < i) layers.Insert(index, layer); + else layers.Insert(index - 1, layer); + layerCount++; + return false; + } + layers.Insert(index, layer); + layerCount++; + return true; + } + + /// + public bool RemoveLayer(TouchLayer layer) + { + if (layer == null) return false; + var result = layers.Remove(layer); + if (result) layerCount--; + return result; + } + + /// + public void ChangeLayerIndex(int at, int to) + { + if (at < 0 || at >= layerCount) return; + if (to < 0 || to >= layerCount) return; + var data = layers[at]; + layers.RemoveAt(at); + layers.Insert(to, data); + } + + /// + public bool AddInput(IInputSource input) + { + if (input == null) return false; + if (inputs.Contains(input)) return true; + inputs.Add(input); + inputCount++; + return true; + } + + /// + public bool RemoveInput(IInputSource input) + { + if (input == null) return false; + var result = inputs.Remove(input); + if (result) inputCount--; + return result; + } + + /// + public Transform GetHitTarget(Vector2 position) + { + TouchHit hit; + TouchLayer layer; + if (GetHitTarget(position, out hit, out layer)) return hit.Transform; + return null; + } + + /// + public bool GetHitTarget(Vector2 position, out TouchHit hit) + { + TouchLayer layer; + return GetHitTarget(position, out hit, out layer); + } + + /// + public bool GetHitTarget(Vector2 position, out TouchHit hit, out TouchLayer layer) + { + hit = default(TouchHit); + layer = null; + + for (var i = 0; i < layerCount; i++) + { + var touchLayer = layers[i]; + if (touchLayer == null) continue; + TouchHit _hit; + if (touchLayer.Hit(position, out _hit) == TouchLayer.LayerHitResult.Hit) + { + hit = _hit; + layer = touchLayer; + return true; + } + } + + return false; + } + + /// + public void CancelTouch(int id, bool @return) + { + TouchPoint touch; + if (idToTouch.TryGetValue(id, out touch)) + { + touch.InputSource.CancelTouch(touch, @return); + } + } + + /// + public void CancelTouch(int id) + { + CancelTouch(id, false); + } + + #endregion + + #region Internal methods + + internal TouchPoint INTERNAL_BeginTouch(Vector2 position, IInputSource input) + { + return INTERNAL_BeginTouch(position, input, null); + } + + internal TouchPoint INTERNAL_BeginTouch(Vector2 position, IInputSource input, Tags tags) + { + TouchPoint touch; + lock (touchLock) + { + touch = touchPointPool.Get(); + touch.INTERNAL_Init(nextTouchId++, position, input, tags); + touchesBegan.Add(touch); + } + return touch; + } + + /// + /// Update touch without moving it + /// + /// Touch id + internal void INTERNAL_UpdateTouch(int id) + { + lock (touchLock) + { + if (idToTouch.ContainsKey(id)) + { + if (!touchesUpdated.Contains(id)) touchesUpdated.Add(id); + } +#if TOUCHSCRIPT_DEBUG + else + Debug.LogWarning("TouchScript > Touch with id [" + id + + "] is requested to UPDATE but no touch with such id found."); +#endif + } + } + + internal void INTERNAL_MoveTouch(int id, Vector2 position) + { + lock (touchLock) + { + TouchPoint touch; + if (!idToTouch.TryGetValue(id, out touch)) + { + // This touch was added this frame + touch = touchesBegan.Find((t) => t.Id == id); + // No touch with such id + if (touch == null) + { +#if TOUCHSCRIPT_DEBUG + Debug.LogWarning("TouchScript > Touch with id [" + id + "] is requested to MOVE to " + position + + " but no touch with such id found."); +#endif + return; + } + } + + touch.INTERNAL_SetPosition(position); + if (!touchesUpdated.Contains(id)) touchesUpdated.Add(id); + } + } + + /// + internal void INTERNAL_EndTouch(int id) + { + lock (touchLock) + { + TouchPoint touch; + if (!idToTouch.TryGetValue(id, out touch)) + { + // This touch was added this frame + touch = touchesBegan.Find((t) => t.Id == id); + // No touch with such id + if (touch == null) + { +#if TOUCHSCRIPT_DEBUG + Debug.LogWarning("TouchScript > Touch with id [" + id + + "] is requested to END but no touch with such id found."); +#endif + return; + } + } + if (!touchesEnded.Contains(id)) touchesEnded.Add(id); +#if TOUCHSCRIPT_DEBUG + else + Debug.LogWarning("TouchScript > Touch with id [" + id + + "] is requested to END more than once this frame."); +#endif + } + } + + /// + internal void INTERNAL_CancelTouch(int id) + { + lock (touchLock) + { + TouchPoint touch; + if (!idToTouch.TryGetValue(id, out touch)) + { + // This touch was added this frame + touch = touchesBegan.Find((t) => t.Id == id); + // No touch with such id + if (touch == null) + { +#if TOUCHSCRIPT_DEBUG + Debug.LogWarning("TouchScript > Touch with id [" + id + + "] is requested to CANCEL but no touch with such id found."); +#endif + return; + } + } + if (!touchesCancelled.Contains(id)) touchesCancelled.Add(touch.Id); +#if TOUCHSCRIPT_DEBUG + else + Debug.LogWarning("TouchScript > Touch with id [" + id + + "] is requested to CANCEL more than once this frame."); +#endif + } + } + + #endregion + + #region Unity + + private void Awake() + { + if (instance == null) + { + instance = this; + } + else if (instance != this) + { + Destroy(this); + return; + } + + gameObject.hideFlags = HideFlags.HideInHierarchy; + DontDestroyOnLoad(gameObject); + + updateDPI(); + + StopAllCoroutines(); + StartCoroutine(lateAwake()); + + touchPointListPool.WarmUp(2); + intListPool.WarmUp(3); + +#if TOUCHSCRIPT_DEBUG + DebugMode = true; +#endif + } + + private void OnLevelWasLoaded(int value) + { + StopAllCoroutines(); + StartCoroutine(lateAwake()); + } + + private IEnumerator lateAwake() + { + yield return null; + + updateLayers(); + createCameraLayer(); + createTouchInput(); + } + + private void Update() + { + updateInputs(); + updateTouches(); + } + + private void OnApplicationQuit() + { + shuttingDown = true; + } + + #endregion + + #region Private functions + + private void updateDPI() + { + dpi = DisplayDevice == null ? 96 : DisplayDevice.DPI; + dotsPerCentimeter = TouchManager.CM_TO_INCH * dpi; +#if TOUCHSCRIPT_DEBUG + debugTouchSize = Vector2.one*dotsPerCentimeter; +#endif + } + + private void updateLayers() + { + // filter empty layers + layers = layers.FindAll(l => l != null); + layerCount = layers.Count; + } + + private void createCameraLayer() + { + if (layerCount == 0 && shouldCreateCameraLayer) + { + if (Camera.main != null) + { + if (Application.isEditor) + Debug.Log( + "[TouchScript] No camera layer found, adding CameraLayer for the main camera. (this message is harmless)"); + var layer = Camera.main.gameObject.AddComponent(); + AddLayer(layer); + } + } + } + + private void createTouchInput() + { + if (inputCount == 0 && shouldCreateStandardInput) + { + if (Application.isEditor) + Debug.Log("[TouchScript] No input source found, adding StandardInput. (this message is harmless)"); + GameObject obj = null; + var objects = FindObjectsOfType(); + if (objects.Length == 0) + { + obj = GameObject.Find("TouchScript"); + if (obj == null) obj = new GameObject("TouchScript"); + } + else + { + obj = objects[0].gameObject; + } + obj.AddComponent(); + } + } + + private void updateInputs() + { + for (var i = 0; i < inputCount; i++) inputs[i].UpdateInput(); + } + + private void updateBegan(List points) + { + var count = points.Count; + for (var i = 0; i < count; i++) + { + var touch = points[i]; + touches.Add(touch); + idToTouch.Add(touch.Id, touch); + + for (var j = 0; j < layerCount; j++) + { + var touchLayer = layers[j]; + if (touchLayer == null) continue; + if (touchLayer.INTERNAL_BeginTouch(touch)) break; + } + +#if TOUCHSCRIPT_DEBUG + addDebugFigureForTouch(touch); +#endif + + if (touchBeganInvoker != null) + touchBeganInvoker.InvokeHandleExceptions(this, TouchEventArgs.GetCachedEventArgs(touch)); + } + } + + private void updateUpdated(List points) + { + var updatedCount = points.Count; + // Need to loop through all touches to reset those which did not move + var count = touches.Count; + for (var i = 0; i < count; i++) + { + touches[i].INTERNAL_ResetPosition(); + } + for (var i = 0; i < updatedCount; i++) + { + var id = points[i]; + TouchPoint touch; + if (!idToTouch.TryGetValue(id, out touch)) + { +#if TOUCHSCRIPT_DEBUG + Debug.LogWarning("TouchScript > Id [" + id + + "] was in UPDATED list but no touch with such id found."); +#endif + continue; + } + if (touch.Layer != null) touch.Layer.INTERNAL_UpdateTouch(touch); + +#if TOUCHSCRIPT_DEBUG + addDebugFigureForTouch(touch); +#endif + + if (touchMovedInvoker != null) + touchMovedInvoker.InvokeHandleExceptions(this, TouchEventArgs.GetCachedEventArgs(touch)); + } + } + + private void updateEnded(List points) + { + var endedCount = points.Count; + for (var i = 0; i < endedCount; i++) + { + var id = points[i]; + TouchPoint touch; + if (!idToTouch.TryGetValue(id, out touch)) + { +#if TOUCHSCRIPT_DEBUG + Debug.LogWarning("TouchScript > Id [" + id + "] was in ENDED list but no touch with such id found."); +#endif + continue; + } + idToTouch.Remove(id); + touches.Remove(touch); + if (touch.Layer != null) touch.Layer.INTERNAL_EndTouch(touch); + +#if TOUCHSCRIPT_DEBUG + removeDebugFigureForTouch(touch); +#endif + + if (touchEndedInvoker != null) + touchEndedInvoker.InvokeHandleExceptions(this, TouchEventArgs.GetCachedEventArgs(touch)); + touchPointPool.Release(touch); + } + } + + private void updateCancelled(List points) + { + var cancelledCount = points.Count; + for (var i = 0; i < cancelledCount; i++) + { + var id = points[i]; + TouchPoint touch; + if (!idToTouch.TryGetValue(id, out touch)) + { +#if TOUCHSCRIPT_DEBUG + Debug.LogWarning("TouchScript > Id [" + id + + "] was in CANCELLED list but no touch with such id found."); +#endif + continue; + } + idToTouch.Remove(id); + touches.Remove(touch); + if (touch.Layer != null) touch.Layer.INTERNAL_CancelTouch(touch); + +#if TOUCHSCRIPT_DEBUG + removeDebugFigureForTouch(touch); +#endif + + if (touchCancelledInvoker != null) + touchCancelledInvoker.InvokeHandleExceptions(this, TouchEventArgs.GetCachedEventArgs(touch)); + touchPointPool.Release(touch); + } + } + + private void updateTouches() + { + if (frameStartedInvoker != null) frameStartedInvoker.InvokeHandleExceptions(this, EventArgs.Empty); + + // need to copy buffers since they might get updated during execution + List beganList = null; + List updatedList = null; + List endedList = null; + List cancelledList = null; + lock (touchLock) + { + if (touchesBegan.Count > 0) + { + beganList = touchPointListPool.Get(); + beganList.AddRange(touchesBegan); + touchesBegan.Clear(); + } + if (touchesUpdated.Count > 0) + { + updatedList = intListPool.Get(); + updatedList.AddRange(touchesUpdated); + touchesUpdated.Clear(); + } + if (touchesEnded.Count > 0) + { + endedList = intListPool.Get(); + endedList.AddRange(touchesEnded); + touchesEnded.Clear(); + } + if (touchesCancelled.Count > 0) + { + cancelledList = intListPool.Get(); + cancelledList.AddRange(touchesCancelled); + touchesCancelled.Clear(); + } + } + + if (beganList != null) + { + updateBegan(beganList); + touchPointListPool.Release(beganList); + } + if (updatedList != null) + { + updateUpdated(updatedList); + intListPool.Release(updatedList); + } + if (endedList != null) + { + updateEnded(endedList); + intListPool.Release(endedList); + } + if (cancelledList != null) + { + updateCancelled(cancelledList); + intListPool.Release(cancelledList); + } + + if (frameFinishedInvoker != null) frameFinishedInvoker.InvokeHandleExceptions(this, EventArgs.Empty); + } + +#if TOUCHSCRIPT_DEBUG + private Vector2 debugTouchSize; + + private void removeDebugFigureForTouch(TouchPoint touch) + { + GLDebug.RemoveFigure(TouchManager.DEBUG_GL_TOUCH + touch.Id); + } + + private void addDebugFigureForTouch(TouchPoint touch) + { + GLDebug.DrawSquareScreenSpace(TouchManager.DEBUG_GL_TOUCH + touch.Id, touch.Position, 0, debugTouchSize, + GLDebug.MULTIPLY, float.PositiveInfinity); + } +#endif + + #endregion + + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/TouchManagerInstance.cs.meta b/ThirdParty/TouchScript/Scripts/TouchManagerInstance.cs.meta new file mode 100644 index 000000000..3f672d7e4 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/TouchManagerInstance.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d86d3f0426b2f4d0fbf2464eb80bb82d +timeCreated: 1447582131 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/TouchPoint.cs b/ThirdParty/TouchScript/Scripts/TouchPoint.cs new file mode 100644 index 000000000..0bc8641ed --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/TouchPoint.cs @@ -0,0 +1,181 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System.Collections.Generic; +using TouchScript.Hit; +using TouchScript.InputSources; +using TouchScript.Layers; +using UnityEngine; + +namespace TouchScript +{ + /// + /// Representation of a finger within TouchScript. + /// An object implementing this interface is created when user touches the screen. A unique id is assigned to it which doesn't change throughout its life. + /// Attention! Do not store references to these objects beyond touch's lifetime (i.e. when target finger is lifted off). These objects may be reused internally. Store unique ids instead. + /// + public class TouchPoint + { + #region Public properties + + /// + /// Internal unique touch point id. + /// + public int Id { get; private set; } + + /// + /// Original hit target. + /// + public Transform Target { get; internal set; } + + /// + /// Current position in screen coordinates. + /// + public Vector2 Position + { + get { return position; } + } + + /// + /// Previous position (during last frame) in screen coordinates. + /// + public Vector2 PreviousPosition { get; private set; } + + /// + /// Original hit information. + /// + public TouchHit Hit { get; internal set; } + + /// + /// Original layer which registered this touch. + /// + /// + /// + /// + public TouchLayer Layer { get; internal set; } + + /// + /// Original input source which created this touch. + /// + /// + public IInputSource InputSource { get; internal set; } + + /// + /// Projection parameters for the layer which created this touch. + /// + public ProjectionParams ProjectionParams + { + get { return Layer.GetProjectionParams(this); } + } + + /// + /// Tags collection for this touch object. + /// + public Tags Tags { get; private set; } + + /// + /// List of custom properties (key-value pairs) for this touch object. + /// + public Dictionary Properties + { + get { return properties; } + set { properties = value; } + } + + #endregion + + #region Private variables + + private int refCount = 0; + private Vector2 position = Vector2.zero; + private Vector2 newPosition = Vector2.zero; + private Dictionary properties; + + #endregion + + #region Public methods + + /// + public override bool Equals(object other) + { + return Equals(other as TouchPoint); + } + + /// + public bool Equals(TouchPoint other) + { + if (other == null) + return false; + + return Id == other.Id; + } + + /// + public override int GetHashCode() + { + return Id; + } + + #endregion + + /// + /// Initializes a new instance of the class. + /// + public TouchPoint() + { + properties = new Dictionary(); + } + + #region Internal methods + + /// + /// Initializes a new instance of the class. + /// + /// Unique id of the touch. + /// Screen position of the touch. + /// Input source which created this touch. + /// Initial tags. + internal void INTERNAL_Init(int id, Vector2 position, IInputSource input, Tags tags) + { + Id = id; + InputSource = input; + this.position = PreviousPosition = newPosition = position; + Tags = tags ?? Tags.EMPTY; + } + + internal void INTERNAL_Reset() + { + refCount = 0; + Hit = default(TouchHit); + Target = null; + Layer = null; + Tags = null; + properties.Clear(); + } + + internal void INTERNAL_ResetPosition() + { + PreviousPosition = position; + position = newPosition; + newPosition = position; + } + + internal void INTERNAL_SetPosition(Vector2 value) + { + newPosition = value; + } + + internal void INTERNAL_Retain() + { + refCount++; + } + + internal int INTERNAL_Release() + { + return --refCount; + } + + #endregion + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/TouchPoint.cs.meta b/ThirdParty/TouchScript/Scripts/TouchPoint.cs.meta new file mode 100644 index 000000000..bec82fb19 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/TouchPoint.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3baa703e27afd464b99782fc4b86ba62 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Utils.meta b/ThirdParty/TouchScript/Scripts/Utils.meta new file mode 100644 index 000000000..24596c59c --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Utils.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 94b09a278f9bf422ea8468fdb2ed3db6 +folderAsset: yes +timeCreated: 1447582128 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Utils/Attributes.meta b/ThirdParty/TouchScript/Scripts/Utils/Attributes.meta new file mode 100644 index 000000000..9744a0add --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Utils/Attributes.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 962d3ca65c6334c91adb7097cbd4ea41 +folderAsset: yes +timeCreated: 1447582128 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Utils/Attributes/NullToggleAttribute.cs b/ThirdParty/TouchScript/Scripts/Utils/Attributes/NullToggleAttribute.cs new file mode 100644 index 000000000..6266d2d00 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Utils/Attributes/NullToggleAttribute.cs @@ -0,0 +1,30 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using UnityEngine; + +namespace TouchScript.Utils.Attributes +{ + /// + /// An attribute to use with NullToggle item drawer. + /// For internal use only! + /// + public class NullToggleAttribute : PropertyAttribute + { + /// + /// Int value + /// + public int NullIntValue = 0; + + /// + /// Float value + /// + public float NullFloatValue = 0f; + + /// + /// Object value + /// + public Object NullObjectValue = null; + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Utils/Attributes/NullToggleAttribute.cs.meta b/ThirdParty/TouchScript/Scripts/Utils/Attributes/NullToggleAttribute.cs.meta new file mode 100644 index 000000000..8e9a7ebd0 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Utils/Attributes/NullToggleAttribute.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 500ae466c1b0f443c88d9a615bb03d0a +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Utils/Attributes/ToggleLeftAttribute.cs b/ThirdParty/TouchScript/Scripts/Utils/Attributes/ToggleLeftAttribute.cs new file mode 100644 index 000000000..ddf118d48 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Utils/Attributes/ToggleLeftAttribute.cs @@ -0,0 +1,14 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using UnityEngine; + +namespace TouchScript.Utils.Attributes +{ + /// + /// An attribute to use with ToggleLeft item drawer. + /// For internal use only! + /// + public class ToggleLeftAttribute : PropertyAttribute {} +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Utils/Attributes/ToggleLeftAttribute.cs.meta b/ThirdParty/TouchScript/Scripts/Utils/Attributes/ToggleLeftAttribute.cs.meta new file mode 100644 index 000000000..da3e28bf7 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Utils/Attributes/ToggleLeftAttribute.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 64858b188cac74031ad199cbcc9df40b +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Utils/ClusterUtils.cs b/ThirdParty/TouchScript/Scripts/Utils/ClusterUtils.cs new file mode 100644 index 000000000..47d0e63e4 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Utils/ClusterUtils.cs @@ -0,0 +1,66 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System.Collections.Generic; +using System.Text; +using UnityEngine; + +namespace TouchScript.Utils +{ + /// + /// Utils to manipulate clusters of points. + /// + public static class ClusterUtils + { + private static StringBuilder hashString = new StringBuilder(); + + /// + /// Calculates the centroid of touch positions. + /// + /// List of touch points. + /// Centroid of touch points' positions or if cluster contains no points. + public static Vector2 Get2DCenterPosition(IList touches) + { + var count = touches.Count; + if (count == 0) return TouchManager.INVALID_POSITION; + if (count == 1) return touches[0].Position; + + var position = new Vector2(); + for (var i = 0; i < count; i++) position += touches[i].Position; + return position / count; + } + + /// + /// Calculates the centroid of previous touch positions. + /// + /// List of touch points. + /// Centroid of previous touch point's positions or if cluster contains no points. + public static Vector2 GetPrevious2DCenterPosition(IList touches) + { + var count = touches.Count; + if (count == 0) return TouchManager.INVALID_POSITION; + if (count == 1) return touches[0].PreviousPosition; + + var position = new Vector2(); + for (var i = 0; i < count; i++) position += touches[i].PreviousPosition; + return position / count; + } + + /// + /// Computes a unique hash for a list of touches. + /// + /// List of touch points. + /// A unique string for a list of touches. + public static string GetPointsHash(IList touches) + { + hashString.Remove(0, hashString.Length); + for (var i = 0; i < touches.Count; i++) + { + hashString.Append("#"); + hashString.Append(touches[i].Id); + } + return hashString.ToString(); + } + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Utils/ClusterUtils.cs.meta b/ThirdParty/TouchScript/Scripts/Utils/ClusterUtils.cs.meta new file mode 100644 index 000000000..d8e26ec10 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Utils/ClusterUtils.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3522d1ca5a49945dca1a128d730d36d6 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Utils/Debug.meta b/ThirdParty/TouchScript/Scripts/Utils/Debug.meta new file mode 100644 index 000000000..23a1c9fcf --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Utils/Debug.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 130e732941aee45338415c75c7c1c62a +folderAsset: yes +timeCreated: 1447582128 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Utils/Debug/DebugHelper.cs b/ThirdParty/TouchScript/Scripts/Utils/Debug/DebugHelper.cs new file mode 100644 index 000000000..fe0ea37df --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Utils/Debug/DebugHelper.cs @@ -0,0 +1,20 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using UnityEngine; + +#if TOUCHSCRIPT_DEBUG + +namespace TouchScript.Utils.Debug +{ + public static class DebugHelper + { + public static int GetDebugId(Object obj) + { + return int.MinValue + (obj.GetInstanceID() << 10); + } + } +} + +#endif \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Utils/Debug/DebugHelper.cs.meta b/ThirdParty/TouchScript/Scripts/Utils/Debug/DebugHelper.cs.meta new file mode 100644 index 000000000..5b1668f61 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Utils/Debug/DebugHelper.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 62efb084f73cc4f86b954d1a5109e015 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Utils/Debug/GLDebug.cs b/ThirdParty/TouchScript/Scripts/Utils/Debug/GLDebug.cs new file mode 100644 index 000000000..157373575 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Utils/Debug/GLDebug.cs @@ -0,0 +1,625 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + * Based on http://pastebin.com/69QP1s45 + */ + + +#if TOUCHSCRIPT_DEBUG + +using System.Collections.Generic; +using UnityEngine; + +namespace TouchScript.Utils.Debug +{ + public class GLDebug : MonoBehaviour + { + + public static readonly Color MULTIPLY = new Color(0, 0, 0, 0); + public static readonly Vector2 DEFAULT_SCREEN_SPACE_SCALE = new Vector2(10, 10); + + private static GLDebug instance + { + get + { + if (!_instance && Application.isPlaying) + { + if (Camera.main) + { + _instance = Camera.main.gameObject.AddComponent(); + } + else + { + var go = new GameObject("GLDebug"); + var camera = go.AddComponent(); + camera.clearFlags = CameraClearFlags.Nothing; + camera.depth = 9000; + _instance = go.AddComponent(); + } + } + return _instance; + } + } + + public KeyCode ToggleKey; + public bool DisplayLines = true; + + private static GLDebug _instance; + + private static int nextFigureId = 1; + private Material materialDepthTest; + private Material materialNoDepthTest; + private Material materialMultiplyDepthTest; + private Material materialMultiplyNoDepthTest; + private Dictionary figuresDepthTest; + private Dictionary figuresMultiplyDepthTest; + private Dictionary figuresNoDepthTest; + private Dictionary figuresMultiplyNoDepthTest; + private Dictionary figuresScreenSpace; + private Dictionary figuresMultiplyScreenSpace; + private Dictionary figuresTmp; + + #region Public methods + + public static void RemoveFigure(int id) + { + instance.figuresDepthTest.Remove(id); + instance.figuresNoDepthTest.Remove(id); + instance.figuresScreenSpace.Remove(id); + instance.figuresMultiplyDepthTest.Remove(id); + instance.figuresMultiplyNoDepthTest.Remove(id); + instance.figuresMultiplyScreenSpace.Remove(id); + } + + #region Line + + public static int DrawLine(Vector3 start, Vector3 end, Color? color = null, float duration = 0, bool depthTest = false) + { + return DrawLine(null, start, end, color, duration, depthTest); + } + + public static int DrawLine(int? id, Vector3 start, Vector3 end, Color? color = null, float duration = 0, bool depthTest = false) + { + return drawFigure(id, new List() { new Line(start, end) }, color ?? Color.white, duration, depthTest); + } + + public static int DrawLineScreenSpace(Vector2 start, Vector2 end, Color? color = null, float duration = 0) + { + return DrawLineScreenSpace(null, start, end, color, duration); + } + + public static int DrawLineScreenSpace(int? id, Vector2 start, Vector2 end, Color? color = null, float duration = 0) + { + return drawFigureScreenSpace(id, new List() { new Line(start, end) }, color ?? Color.white, duration); + } + + #endregion + + #region Ray + + public static int DrawRay(Vector3 start, Vector3 dir, Color? color = null, float duration = 0, bool depthTest = false) + { + return DrawRay(null, start, dir, color, duration, depthTest); + } + + public static int DrawRay(int? id, Vector3 start, Vector3 dir, Color? color = null, float duration = 0, bool depthTest = false) + { + if (dir == Vector3.zero) + return 0; + return DrawLine(start, start + dir, color, duration, depthTest); + } + + #endregion + + #region Cross + + public static int DrawCross(Vector3 pos, Quaternion? rot = null, Vector3? scale = null, Color? color = null, float duration = 0, bool depthTest = false) + { + return DrawCross(null, Matrix4x4.TRS(pos, rot ?? Quaternion.identity, scale ?? Vector3.one), color, duration, depthTest); + } + + public static int DrawCross(int? id, Vector3 pos, Quaternion? rot = null, Vector3? scale = null, Color? color = null, float duration = 0, bool depthTest = false) + { + return DrawCross(id, Matrix4x4.TRS(pos, rot ?? Quaternion.identity, scale ?? Vector3.one), color, duration, depthTest); + } + + public static int DrawCross(Matrix4x4 matrix, Color? color = null, float duration = 0, bool depthTest = false) + { + return DrawCross(null, matrix, color, duration, depthTest); + } + + public static int DrawCross(int? id, Matrix4x4 matrix, Color? color = null, float duration = 0, bool depthTest = false) + { + return drawFigure(id, createCrossLines(matrix), color ?? Color.white, duration, depthTest); + } + + public static int DrawCrossScreenSpace(Vector2 pos, float rot = 0, Vector2? scale = null, Color? color = null, float duration = 0) + { + return DrawCrossScreenSpace(null, pos, rot, scale, color, duration); + } + + public static int DrawCrossScreenSpace(int? id, Vector2 pos, float rot = 0, Vector2? scale = null, Color? color = null, float duration = 0) + { + return drawFigureScreenSpace(id, createScreenSpaceCrossLines(pos, rot, scale ?? DEFAULT_SCREEN_SPACE_SCALE), color ?? Color.white, duration); + } + + #endregion + + #region Arrow + + public static int DrawArrow(Vector3 start, Vector3 end, float arrowHeadLength = 0.25f, float arrowHeadAngle = 20, Color? color = null, float duration = 0, bool depthTest = false) + { + return DrawArrow(null, start, end, arrowHeadLength, arrowHeadAngle, color, duration, depthTest); + } + + public static int DrawArrow(int? id, Vector3 start, Vector3 end, float arrowHeadLength = 0.25f, float arrowHeadAngle = 20, Color? color = null, float duration = 0, bool depthTest = false) + { + if (start == end) + return 0; + + return drawFigure(id, createArrowLines(start, end, arrowHeadLength, arrowHeadAngle), color ?? Color.white, duration, depthTest); + } + + #endregion + + #region Plane with normal + + public static int DrawPlaneWithNormal(Vector3 pos, Vector3 normal, float scale = 1f, Color? color = null, float duration = 0, bool depthTest = false) + { + return DrawPlaneWithNormal(null, pos, normal, scale, color, duration, depthTest); + } + + public static int DrawPlaneWithNormal(int? id, Vector3 pos, Vector3 normal, float scale = 1f, Color? color = null, float duration = 0, bool depthTest = false) + { + var lines = createArrowLines(pos, pos + normal); + lines.AddRange(createCrossLines(Matrix4x4.TRS(pos, Quaternion.LookRotation(normal) * Quaternion.Euler(0, 0, 45f), Vector3.one))); + lines.AddRange(createSquareLines(Matrix4x4.TRS(pos, Quaternion.FromToRotation(Vector3.up, normal), Vector3.one * scale))); + return drawFigure(id, lines, color ?? Color.white, duration, depthTest); + } + + #endregion + + #region Line with cross + + public static int DrawLineWithCross(Vector3 start, Vector3 end, float crossRelativePosition = 0.5f, Vector3? scale = null, Color? color = null, float duration = 0, bool depthTest = false) + { + return DrawLineWithCross(null, start, end, crossRelativePosition, scale, color, duration, depthTest); + } + + public static int DrawLineWithCross(int? id, Vector3 start, Vector3 end, float crossRelativePosition = 0.5f, Vector3? scale = null, Color? color = null, float duration = 0, bool depthTest = false) + { + var lines = new List() {new Line(start, end)}; + // TODO: Calculate cross rotation + lines.AddRange(createCrossLines(Matrix4x4.TRS(Vector3.Lerp(start, end, crossRelativePosition), Quaternion.identity, scale ?? Vector3.one))); + return drawFigure(id, lines, color ?? Color.white, duration, depthTest); + } + + public static int DrawLineWithCrossScreenSpace(Vector2 start, Vector2 end, float crossRelativePosition, Vector2? scale = null, Color? color = null, float duration = 0) + { + return DrawLineWithCrossScreenSpace(null, start, end, crossRelativePosition, scale, color, duration); + } + + public static int DrawLineWithCrossScreenSpace(int? id, Vector2 start, Vector2 end, float crossRelativePosition, Vector2? scale = null, Color? color = null, float duration = 0) + { + var lines = new List() {new Line(start, end)}; + lines.AddRange(createScreenSpaceCrossLines(Vector2.Lerp(start, end, crossRelativePosition), Mathf.Atan2(end.y - start.y, end.x - start.x) * Mathf.Rad2Deg + 45f, scale ?? Vector2.one * 10)); + return drawFigureScreenSpace(id, lines, color ?? Color.white, duration); + } + + #endregion + + #region Square + + public static int DrawSquare(Vector3 pos, Quaternion? rot = null, Vector3? scale = null, Color? color = null, float duration = 0, bool depthTest = false) + { + return DrawSquare(null, pos, rot, scale, color, duration, depthTest); + } + + public static int DrawSquare(int? id, Vector3 pos, Quaternion? rot = null, Vector3? scale = null, Color? color = null, float duration = 0, bool depthTest = false) + { + return DrawSquare(Matrix4x4.TRS(pos, rot ?? Quaternion.identity, scale ?? Vector3.one), color, duration, depthTest); + } + + public static int DrawSquare(Matrix4x4 matrix, Color? color = null, float duration = 0, bool depthTest = false) + { + return DrawSquare(null, matrix, color, duration, depthTest); + } + + public static int DrawSquare(int? id, Matrix4x4 matrix, Color? color = null, float duration = 0, bool depthTest = false) + { + return drawFigure(id, createSquareLines(matrix), color ?? Color.white, duration, depthTest); + } + + public static int DrawSquareScreenSpace(Vector2 pos, float rot = 0, Vector2? scale = null, Color? color = null, float duration = 0) + { + return DrawSquareScreenSpace(null, pos, rot, scale, color, duration); + } + + public static int DrawSquareScreenSpace(int? id, Vector2 pos, float rot = 0, Vector2? scale = null, Color? color = null, float duration = 0) + { + return drawFigureScreenSpace(id, createScreenSpaceSquareLines(pos, rot, scale ?? DEFAULT_SCREEN_SPACE_SCALE), color ?? Color.white, duration); + } + + #endregion + + #region Cube + + public static int DrawCube(Vector3 pos, Quaternion? rot = null, Vector3? scale = null, Color? color = null, float duration = 0, bool depthTest = false) + { + return DrawCube(null, pos, rot, scale, color, duration, depthTest); + } + + public static int DrawCube(int? id, Vector3 pos, Quaternion? rot = null, Vector3? scale = null, Color? color = null, float duration = 0, bool depthTest = false) + { + return DrawCube(Matrix4x4.TRS(pos, rot ?? Quaternion.identity, scale ?? Vector3.one), color, duration, depthTest); + } + + public static int DrawCube(Matrix4x4 matrix, Color? color = null, float duration = 0, bool depthTest = false) + { + return DrawCube(null, matrix, color, duration, depthTest); + } + + public static int DrawCube(int? id, Matrix4x4 matrix, Color? color = null, float duration = 0, bool depthTest = false) + { + return drawFigure(id, createCubeLines(matrix), color ?? Color.white, duration, depthTest); + } + + #endregion + + #endregion + + #region Unity methods + + private void Awake() + { + if (_instance) + { + Destroy(this); + return; + } + + _instance = this; + figuresDepthTest = new Dictionary(); + figuresNoDepthTest = new Dictionary(); + figuresScreenSpace = new Dictionary(); + figuresMultiplyDepthTest = new Dictionary(); + figuresMultiplyNoDepthTest = new Dictionary(); + figuresMultiplyScreenSpace = new Dictionary(); + figuresTmp = new Dictionary(); + + setMaterials(); + } + + private void Update() + { + if (Input.GetKeyDown(ToggleKey)) + DisplayLines = !DisplayLines; + } + + private void OnPostRender() + { + if (!DisplayLines) return; + + materialDepthTest.SetPass(0); + GL.Begin(GL.LINES); + figuresDepthTest = draw(figuresDepthTest); + GL.End(); + + materialMultiplyDepthTest.SetPass(0); + GL.Begin(GL.LINES); + figuresMultiplyDepthTest = draw(figuresMultiplyDepthTest); + GL.End(); + + materialNoDepthTest.SetPass(0); + GL.Begin(GL.LINES); + figuresNoDepthTest = draw(figuresNoDepthTest); + GL.End(); + + materialMultiplyNoDepthTest.SetPass(0); + GL.Begin(GL.LINES); + figuresMultiplyNoDepthTest = draw(figuresMultiplyNoDepthTest); + GL.End(); + + GL.PushMatrix(); + GL.LoadPixelMatrix(); + + materialNoDepthTest.SetPass(0); + GL.Begin(GL.LINES); + figuresScreenSpace = draw(figuresScreenSpace); + GL.End(); + + materialMultiplyNoDepthTest.SetPass(0); + GL.Begin(GL.LINES); + figuresMultiplyScreenSpace = draw(figuresMultiplyScreenSpace); + GL.End(); + GL.PopMatrix(); + } + + #endregion + + #region Private functions + + #region Misc + + private Dictionary draw(Dictionary figures) + { + figuresTmp.Clear(); + var newFigures = figuresTmp; + foreach (var key in figures.Keys) + { + var value = figures[key]; + value.Duration = value.Draw(); + if (value.Duration > 0) + { + newFigures[key] = value; + } + } + figuresTmp = figures; + return newFigures; + } + + private void setMaterials() + { + materialDepthTest = new Material(Shader.Find("Hidden/DebugDepthTest")); + materialNoDepthTest = new Material(Shader.Find("Hidden/DebugNoDepthTest")); + materialMultiplyDepthTest = new Material(Shader.Find("Hidden/DebugMultiplyDepthTest")); + materialMultiplyNoDepthTest = new Material(Shader.Find("Hidden/DebugMultiplyNoDepthTest")); + materialDepthTest.hideFlags = HideFlags.HideAndDontSave; + materialNoDepthTest.hideFlags = HideFlags.HideAndDontSave; + materialMultiplyDepthTest.hideFlags = HideFlags.HideAndDontSave; + materialMultiplyNoDepthTest.hideFlags = HideFlags.HideAndDontSave; + } + + #endregion + + #region Figure creation + + private static int drawFigure(int? id, List lines, Color color, float duration = 0, bool depthTest = false) + { + if (duration == 0 && !instance.DisplayLines) + return 0; + + int figureId; + if (id.HasValue) + { + figureId = id.Value; + RemoveFigure(figureId); + } + else + { + figureId = nextFigureId++; + } + if (depthTest) + { + if (color == MULTIPLY) instance.figuresMultiplyDepthTest.Add(figureId, new Figure(figureId, lines, Color.white, duration)); + else instance.figuresDepthTest.Add(figureId, new Figure(figureId, lines, color, duration)); + } + else + { + if (color == MULTIPLY) instance.figuresMultiplyNoDepthTest.Add(figureId, new Figure(figureId, lines, Color.white, duration)); + else instance.figuresNoDepthTest.Add(figureId, new Figure(figureId, lines, color, duration)); + } + return figureId; + } + + private static int drawFigureScreenSpace(int? id, List lines, Color color, float duration = 0) + { + if (duration == 0 && !instance.DisplayLines) + return 0; + + int figureId; + if (id.HasValue) + { + figureId = id.Value; + RemoveFigure(figureId); + } + else + { + figureId = nextFigureId++; + } + + if (color == MULTIPLY) instance.figuresMultiplyScreenSpace.Add(figureId, new Figure(figureId, lines, Color.white, duration)); + else instance.figuresScreenSpace.Add(figureId, new Figure(figureId, lines, color, duration)); + return figureId; + } + + #endregion + + #region Line helpers + + private static List createCrossLines(Matrix4x4 matrix) + { + Vector3 + p_1 = matrix.MultiplyPoint3x4(new Vector3(-.5f, 0, 0)), + p_2 = matrix.MultiplyPoint3x4(new Vector3(.5f, 0, 0)), + p_3 = matrix.MultiplyPoint3x4(new Vector3(0, -.5f, 0)), + p_4 = matrix.MultiplyPoint3x4(new Vector3(0, .5f, 0)); + + return new List() + { + new Line(p_1, p_2), + new Line(p_3, p_4), + }; + } + + private static List createScreenSpaceCrossLines(Vector2 pos, float rot, Vector2 scale) + { + Vector2 p_1, p_2, p_3, p_4; + float x = .5f * scale.x; + float y = .5f * scale.y; + + if (rot == 0) + { + p_1 = new Vector2(-x, 0) + pos; + p_2 = new Vector2(x, 0) + pos; + p_3 = new Vector2(0, -y) + pos; + p_4 = new Vector2(0, y) + pos; + } + else + { + var cos = Mathf.Cos(rot * Mathf.Deg2Rad); + var sin = Mathf.Sin(rot * Mathf.Deg2Rad); + + p_1 = new Vector2(-x * cos, -x * sin) + pos; + p_2 = new Vector2(x * cos, x * sin) + pos; + p_3 = new Vector2(y * sin, -y * cos) + pos; + p_4 = new Vector2(-y * sin, y * cos) + pos; + } + + return new List() + { + new Line(p_1, p_2), + new Line(p_3, p_4), + }; + } + + private static List createArrowLines(Vector3 start, Vector3 end, float arrowHeadLength = 0.25f, float arrowHeadAngle = 20) + { + var dir = end - start; + Vector3 right = Quaternion.LookRotation(dir) * Quaternion.Euler(0, 180 + arrowHeadAngle, 0) * Vector3.forward; + Vector3 left = Quaternion.LookRotation(dir) * Quaternion.Euler(0, 180 - arrowHeadAngle, 0) * Vector3.forward; + + return new List() + { + new Line(start, end), + new Line(end, end + right * arrowHeadLength), + new Line(end, end + left * arrowHeadLength) + }; + } + + private static List createSquareLines(Matrix4x4 matrix) + { + Vector3 + p_1 = matrix.MultiplyPoint3x4(new Vector3(.5f, 0, .5f)), + p_2 = matrix.MultiplyPoint3x4(new Vector3(.5f, 0, -.5f)), + p_3 = matrix.MultiplyPoint3x4(new Vector3(-.5f, 0, -.5f)), + p_4 = matrix.MultiplyPoint3x4(new Vector3(-.5f, 0, .5f)); + + return new List() + { + new Line(p_1, p_2), + new Line(p_2, p_3), + new Line(p_3, p_4), + new Line(p_4, p_1) + }; + } + + private static List createScreenSpaceSquareLines(Vector2 pos, float rot, Vector2 scale) + { + Vector2 p_1, p_2, p_3, p_4; + float x = .5f * scale.x; + float y = .5f * scale.y; + + if (rot == 0) + { + p_1 = new Vector2(x, y) + pos; + p_2 = new Vector2(x, -y) + pos; + p_3 = new Vector2(-x, -y) + pos; + p_4 = new Vector2(-x, y) + pos; + } + else + { + var cos = Mathf.Cos(rot * Mathf.Deg2Rad); + var sin = Mathf.Sin(rot * Mathf.Deg2Rad); + + p_1 = new Vector2(x * cos - y * sin, x * sin + y * cos) + pos; + p_2 = new Vector2(x * cos + y * sin, x * sin - y * cos) + pos; + p_3 = new Vector2(-x * cos + y * sin, -x * sin - y * cos) + pos; + p_4 = new Vector2(-x * cos - y * sin, -x * sin + y * cos) + pos; + } + + return new List() + { + new Line(p_1, p_2), + new Line(p_2, p_3), + new Line(p_3, p_4), + new Line(p_4, p_1) + }; + } + + private static List createCubeLines(Matrix4x4 matrix) + { + Vector3 + down_1 = matrix.MultiplyPoint3x4(new Vector3(.5f, -.5f, .5f)), + down_2 = matrix.MultiplyPoint3x4(new Vector3(.5f, -.5f, -.5f)), + down_3 = matrix.MultiplyPoint3x4(new Vector3(-.5f, -.5f, -.5f)), + down_4 = matrix.MultiplyPoint3x4(new Vector3(-.5f, -.5f, .5f)), + up_1 = matrix.MultiplyPoint3x4(new Vector3(.5f, .5f, .5f)), + up_2 = matrix.MultiplyPoint3x4(new Vector3(.5f, .5f, -.5f)), + up_3 = matrix.MultiplyPoint3x4(new Vector3(-.5f, .5f, -.5f)), + up_4 = matrix.MultiplyPoint3x4(new Vector3(-.5f, .5f, .5f)); + + return new List() + { + new Line(down_1, down_2), + new Line(down_2, down_3), + new Line(down_3, down_4), + new Line(down_4, down_1), + + new Line(down_1, up_1), + new Line(down_2, up_2), + new Line(down_3, up_3), + new Line(down_4, up_4), + + new Line(up_1, up_2), + new Line(up_2, up_3), + new Line(up_3, up_4), + new Line(up_4, up_1) + }; + } + + #endregion + + #endregion + + #region Structs + + private struct Figure + { + public int Id; + public Color Color; + public float Duration; + public List Lines; + + public Figure(int id, List lines, Color color, float duration) + { + Id = id; + Color = color; + Duration = duration; + Lines = lines; + } + + public float Draw() + { + GL.Color(Color); + for (var i = 0; i < Lines.Count; i++) + { + Lines[i].Draw(); + } + return Duration - Time.deltaTime; + } + } + + private struct Line + { + public Vector3 start; + public Vector3 end; + + public Line(Vector3 start, Vector3 end) + { + this.start = start; + this.end = end; + } + + public void Draw() + { + GL.Vertex(start); + GL.Vertex(end); + } + } + + #endregion + + } +} + +#endif \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Utils/Debug/GLDebug.cs.meta b/ThirdParty/TouchScript/Scripts/Utils/Debug/GLDebug.cs.meta new file mode 100644 index 000000000..35dd6354f --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Utils/Debug/GLDebug.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d2d72c9d6bd55482db3ece50442c7353 +timeCreated: 1447582131 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Utils/EventHandlerExtensions.cs b/ThirdParty/TouchScript/Scripts/Utils/EventHandlerExtensions.cs new file mode 100644 index 000000000..13b631fba --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Utils/EventHandlerExtensions.cs @@ -0,0 +1,59 @@ +/* + * @author DenizPiri / denizpiri@hotmail.com + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System; + +namespace TouchScript.Utils +{ + /// + /// Extension methods for event handling. + /// + public static class EventHandlerExtensions + { + /// + /// Invokes an event handling exceptions. + /// + /// EventArgs type. + /// Event. + /// Event sender. + /// EventArgs. + /// The exception caught or null. + public static Exception InvokeHandleExceptions(this EventHandler handler, object sender, T args) + where T : EventArgs + { + try + { + handler(sender, args); + } + catch (Exception ex) + { + UnityEngine.Debug.LogException(ex); + return ex; + } + return null; + } + + /// + /// Invokes an event handling exceptions. + /// + /// Event. + /// Event sender. + /// EventArgs. + /// The exception caught or null. + public static Exception InvokeHandleExceptions(this EventHandler handler, object sender, EventArgs args) + { + try + { + handler(sender, args); + } + catch (Exception ex) + { + UnityEngine.Debug.LogException(ex); + return ex; + } + return null; + } + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Utils/EventHandlerExtensions.cs.meta b/ThirdParty/TouchScript/Scripts/Utils/EventHandlerExtensions.cs.meta new file mode 100644 index 000000000..f3889b4bd --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Utils/EventHandlerExtensions.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 16651960676f1435284a3165c7170f10 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Utils/Geom.meta b/ThirdParty/TouchScript/Scripts/Utils/Geom.meta new file mode 100644 index 000000000..90eb5817a --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Utils/Geom.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6a9e4e930f8c8442bb0e31a2355ca9f2 +folderAsset: yes +timeCreated: 1447582128 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Utils/Geom/TwoD.cs b/ThirdParty/TouchScript/Scripts/Utils/Geom/TwoD.cs new file mode 100644 index 000000000..da426d43b --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Utils/Geom/TwoD.cs @@ -0,0 +1,62 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using UnityEngine; + +namespace TouchScript.Utils.Geom +{ + /// + /// A class with 2D herlper functions. + /// + public static class TwoD + { + /// + /// Calculates distance from line to point. + /// + /// Line "starting" point. + /// Line "ending" point. + /// Point to calculate the distance to. + /// Distance between point and line. + public static float PointToLineDistance(Vector2 lineStart, Vector2 lineEnd, Vector2 point) + { + var dx = lineEnd.x - lineStart.x; + var dy = lineEnd.y - lineStart.y; + return (dy * point.x - dx * point.y + lineEnd.x * lineStart.y - lineEnd.y * lineStart.x) / Mathf.Sqrt(dx * dx + dy * dy); + } + + /// + /// Calculates distances from line to each of 2 points. + /// + /// Line "starting" point. + /// Line "ending" point. + /// Point to calculate the distance to. + /// Point to calculate the distance to. + /// Contains returned distance from line to the first point. + /// Contains returned distance from line to the second point. + public static void PointToLineDistance2(Vector2 lineStart, Vector2 lineEnd, Vector2 point1, Vector2 point2, + out float dist1, out float dist2) + { + var dx = lineEnd.x - lineStart.x; + var dy = lineEnd.y - lineStart.y; + var c = lineEnd.x * lineStart.y - lineEnd.y * lineStart.x; + var length = Mathf.Sqrt(dx * dx + dy * dy); + dist1 = (dy * point1.x - dx * point1.y + c) / length; + dist2 = (dy * point2.x - dx * point2.y + c) / length; + } + + /// + /// Rotates a point around (0,0) by an angle. + /// + /// Point to rotate. + /// Angle in degrees to rotate by. + /// Transformed point. + public static Vector2 Rotate(Vector2 point, float angle) + { + var rad = angle * Mathf.Deg2Rad; + var cos = Mathf.Cos(rad); + var sin = Mathf.Sin(rad); + return new Vector2(point.x * cos - point.y * sin, point.x * sin + point.y * cos); + } + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Utils/Geom/TwoD.cs.meta b/ThirdParty/TouchScript/Scripts/Utils/Geom/TwoD.cs.meta new file mode 100644 index 000000000..30e1fdc98 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Utils/Geom/TwoD.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 87273644198f34358acfa852108c1405 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Utils/ObjectPool.cs b/ThirdParty/TouchScript/Scripts/Utils/ObjectPool.cs new file mode 100644 index 000000000..354db7198 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Utils/ObjectPool.cs @@ -0,0 +1,81 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + * Source code copied from UnityEngine.UI.ObjectPool: + * https://bitbucket.org/Unity-Technologies/ui/src/ccb946ecc23815d1a7099aee0ed77b0cde7ff278/UnityEngine.UI/UI/Core/Utility/ObjectPool.cs?at=5.1 + */ + +using System.Collections.Generic; +using UnityEngine.Events; + +namespace TouchScript.Utils +{ + internal class ObjectPool where T : new() + { + public delegate T0 UnityFunc(); + + private readonly Stack stack; + private readonly UnityAction onGet; + private readonly UnityAction onRelease; + private readonly UnityFunc onNew; + + public int CountAll { get; private set; } + + public int CountActive + { + get { return CountAll - CountInactive; } + } + + public int CountInactive + { + get { return stack.Count; } + } + + public ObjectPool(int capacity, UnityFunc actionNew, UnityAction actionOnGet, + UnityAction actionOnRelease) + { + stack = new Stack(capacity); + onNew = actionNew; + onGet = actionOnGet; + onRelease = actionOnRelease; + } + + public void WarmUp(int count) + { + for (var i = 0; i < count; i++) + { + T element; + if (onNew != null) element = onNew(); + else element = new T(); + CountAll++; + stack.Push(element); + } + } + + public T Get() + { + T element; + if (stack.Count == 0) + { + if (onNew != null) element = onNew(); + else element = new T(); + CountAll++; + } + else + { + element = stack.Pop(); + } + if (onGet != null) + onGet(element); + return element; + } + + public void Release(T element) + { + if (stack.Count > 0 && ReferenceEquals(stack.Peek(), element)) + UnityEngine.Debug.LogError("Internal error. Trying to destroy object that is already released to pool."); + if (onRelease != null) + onRelease(element); + stack.Push(element); + } + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Utils/ObjectPool.cs.meta b/ThirdParty/TouchScript/Scripts/Utils/ObjectPool.cs.meta new file mode 100644 index 000000000..a52d29d97 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Utils/ObjectPool.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: bb8f15d86c04a46e197326e7d89fe6a2 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Utils/ProjectionUtils.cs b/ThirdParty/TouchScript/Scripts/Utils/ProjectionUtils.cs new file mode 100644 index 000000000..dafa8d329 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Utils/ProjectionUtils.cs @@ -0,0 +1,48 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using TouchScript.Layers; +using UnityEngine; + +namespace TouchScript.Utils +{ + /// + /// Projection utils. + /// + public static class ProjectionUtils + { + /// + /// Projects a screen point to a plane from a camera's point of view. + /// + /// Screen point. + /// The camera. + /// Projection plane. + /// Projected point on the plane in World coordinates. + public static Vector3 CameraToPlaneProjection(Vector2 position, Camera camera, Plane projectionPlane) + { + var distance = 0f; + var ray = camera.ScreenPointToRay(position); + var result = projectionPlane.Raycast(ray, out distance); + if (!result && Mathf.Approximately(distance, 0f)) return -projectionPlane.normal * projectionPlane.GetDistanceToPoint(Vector3.zero); // perpendicular to the screen + + return ray.origin + ray.direction * distance; + } + + /// + /// Projects a screen point to a plane using parallel projection. + /// + /// Screen point. + /// Projection plane. + /// Projected point on the plane in World coordinates. + public static Vector3 ScreenToPlaneProjection(Vector2 position, Plane projectionPlane) + { + var distance = 0f; + var ray = new Ray(position, Vector3.forward); + var result = projectionPlane.Raycast(ray, out distance); + if (!result && Mathf.Approximately(distance, 0f)) return -projectionPlane.normal * projectionPlane.GetDistanceToPoint(Vector3.zero); // perpendicular to the screen + + return ray.origin + new Vector3(0, 0, distance); + } + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Utils/ProjectionUtils.cs.meta b/ThirdParty/TouchScript/Scripts/Utils/ProjectionUtils.cs.meta new file mode 100644 index 000000000..6d19f044d --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Utils/ProjectionUtils.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0f6a32a9da8914f8c88280d791911330 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Utils/TimedSequence.cs b/ThirdParty/TouchScript/Scripts/Utils/TimedSequence.cs new file mode 100644 index 000000000..aaf95c7ec --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Utils/TimedSequence.cs @@ -0,0 +1,76 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace TouchScript.Utils +{ + internal sealed class TimedSequence + { + private List points = new List(); + private List timestamps = new List(); + + public void Add(T element) + { + Add(element, Time.time); + } + + public void Add(T element, float time) + { + points.Add(element); + timestamps.Add(time); + } + + public void Clear() + { + points.Clear(); + timestamps.Clear(); + } + + public IList FindElementsLaterThan(float time) + { + var list = new List(); + for (var i = points.Count - 1; i >= 0; i--) + { + if (timestamps[i] > time) list.Add(points[i]); + else break; + } + list.Reverse(); + return list; + } + + public IList FindElementsLaterThan(float time, out float lastTime) + { + var list = new List(); + var i = points.Count - 1; + for (; i >= 0; i--) + { + if (timestamps[i] > time) list.Add(points[i]); + else break; + } + list.Reverse(); + if (i < points.Count - 1) lastTime = timestamps[i + 1]; + else lastTime = time; + + return list; + } + + public IList FindElementsLaterThan(float time, Predicate predicate) + { + var list = new List(); + for (var i = points.Count - 1; i >= 0; i--) + { + if (timestamps[i] > time) + { + if (predicate(points[i])) list.Add(points[i]); + } + else break; + } + list.Reverse(); + return list; + } + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Utils/TimedSequence.cs.meta b/ThirdParty/TouchScript/Scripts/Utils/TimedSequence.cs.meta new file mode 100644 index 000000000..d63e2f995 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Utils/TimedSequence.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0978f5226454c474bad885d688e7a254 +timeCreated: 1447582130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Utils/TouchUtils.cs b/ThirdParty/TouchScript/Scripts/Utils/TouchUtils.cs new file mode 100644 index 000000000..9d0f25289 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Utils/TouchUtils.cs @@ -0,0 +1,43 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using TouchScript.Hit; +using TouchScript.Layers; +using UnityEngine; + +namespace TouchScript.Utils +{ + /// + /// Touch utils. + /// + public static class TouchUtils + { + /// + /// Determines whether the touch is over a specific GameObject. + /// + /// The touch. + /// The target. + /// true if the touch is over the GameObject; false otherwise. + public static bool IsTouchOnTarget(TouchPoint touch, Transform target) + { + if (touch == null || touch.Layer == null || target == null) return false; + TouchHit hit; + if ((touch.Layer.Hit(touch.Position, out hit) == TouchLayer.LayerHitResult.Hit) && + (target == hit.Transform || hit.Transform.IsChildOf(target))) + return true; + return false; + } + + /// + /// Determines whether the touch is over its target GameObject. + /// + /// The touch. + /// true if the touch is over the GameObject; false otherwise. + public static bool IsTouchOnTarget(TouchPoint touch) + { + if (touch == null) return false; + return IsTouchOnTarget(touch, touch.Target); + } + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Utils/TouchUtils.cs.meta b/ThirdParty/TouchScript/Scripts/Utils/TouchUtils.cs.meta new file mode 100644 index 000000000..a6eed7f1e --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Utils/TouchUtils.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0721b72d19eff46caa81f3098505c837 +timeCreated: 1448974531 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Scripts/Utils/TransformUtils.cs b/ThirdParty/TouchScript/Scripts/Utils/TransformUtils.cs new file mode 100644 index 000000000..cd76b87d2 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Utils/TransformUtils.cs @@ -0,0 +1,38 @@ +/* + * @author Valentin Simonov / http://va.lent.in/ + */ + +using UnityEngine; + +namespace TouchScript.Utils +{ + internal static class TransformUtils + { + public static Vector3 GlobalToLocalPosition(Transform transform, Vector3 global) + { + if (transform.parent == null) return global; + return transform.parent.InverseTransformPoint(global); + } + + public static Vector3 GlobalToLocalDirection(Transform transform, Vector3 global) + { + if (transform.parent == null) return global; + return transform.parent.InverseTransformDirection(global); + } + + public static Vector3 GlobalToLocalVector(Transform transform, Vector3 global) + { + var parent = transform.parent; + if (parent == null) return global; + + var scale = parent.localScale; + var vector = GlobalToLocalVector(parent, global); + vector = Quaternion.Inverse(parent.localRotation) * vector; + vector.x = Mathf.Approximately(scale.x, 0) ? 0 : vector.x / scale.x; + vector.y = Mathf.Approximately(scale.y, 0) ? 0 : vector.y / scale.y; + vector.z = Mathf.Approximately(scale.z, 0) ? 0 : vector.z / scale.z; + + return vector; + } + } +} \ No newline at end of file diff --git a/ThirdParty/TouchScript/Scripts/Utils/TransformUtils.cs.meta b/ThirdParty/TouchScript/Scripts/Utils/TransformUtils.cs.meta new file mode 100644 index 000000000..14fa3d766 --- /dev/null +++ b/ThirdParty/TouchScript/Scripts/Utils/TransformUtils.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f9faaaf19ee9b4ab9b3f86c9c1832bce +timeCreated: 1447582131 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdParty/TouchScript/Shaders.meta b/ThirdParty/TouchScript/Shaders.meta index c6c891b95..d44d50925 100644 --- a/ThirdParty/TouchScript/Shaders.meta +++ b/ThirdParty/TouchScript/Shaders.meta @@ -1,9 +1,5 @@ fileFormatVersion: 2 guid: 018a118b0bee547c7a4794ea5bb2b936 folderAsset: yes -timeCreated: 1445027516 -licenseType: Pro DefaultImporter: userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Shaders/DebugDepthTest.shader.meta b/ThirdParty/TouchScript/Shaders/DebugDepthTest.shader.meta index 73aeb5709..55873c054 100644 --- a/ThirdParty/TouchScript/Shaders/DebugDepthTest.shader.meta +++ b/ThirdParty/TouchScript/Shaders/DebugDepthTest.shader.meta @@ -3,5 +3,3 @@ guid: 64be3da0e2cc145c39d170e598c5875a ShaderImporter: defaultTextures: [] userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Shaders/DebugMultiplyDepthTest.shader.meta b/ThirdParty/TouchScript/Shaders/DebugMultiplyDepthTest.shader.meta index 58cfabaf2..7d2ab942a 100644 --- a/ThirdParty/TouchScript/Shaders/DebugMultiplyDepthTest.shader.meta +++ b/ThirdParty/TouchScript/Shaders/DebugMultiplyDepthTest.shader.meta @@ -3,5 +3,3 @@ guid: 8ab2229694277419eac9469988b1f138 ShaderImporter: defaultTextures: [] userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Shaders/DebugMultiplyNoDepthTest.shader.meta b/ThirdParty/TouchScript/Shaders/DebugMultiplyNoDepthTest.shader.meta index 5087ffc0e..6d0342fb9 100644 --- a/ThirdParty/TouchScript/Shaders/DebugMultiplyNoDepthTest.shader.meta +++ b/ThirdParty/TouchScript/Shaders/DebugMultiplyNoDepthTest.shader.meta @@ -3,5 +3,3 @@ guid: 5fa254dc19f5e4c3eac6722085c53e2c ShaderImporter: defaultTextures: [] userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Shaders/DebugNoDepthTest.shader.meta b/ThirdParty/TouchScript/Shaders/DebugNoDepthTest.shader.meta index 3c909c3b3..f830bf238 100644 --- a/ThirdParty/TouchScript/Shaders/DebugNoDepthTest.shader.meta +++ b/ThirdParty/TouchScript/Shaders/DebugNoDepthTest.shader.meta @@ -3,5 +3,3 @@ guid: 3486b6985d7504c0c9996ab3d9ea1ed7 ShaderImporter: defaultTextures: [] userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Textures.meta b/ThirdParty/TouchScript/Textures.meta index 545ec31d9..d1da8e99d 100644 --- a/ThirdParty/TouchScript/Textures.meta +++ b/ThirdParty/TouchScript/Textures.meta @@ -1,9 +1,2 @@ fileFormatVersion: 2 guid: 70849dd78e6c598468ae02cc30525a37 -folderAsset: yes -timeCreated: 1445027516 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/TouchScript/Textures/Touch.png.meta b/ThirdParty/TouchScript/Textures/Touch.png.meta index 35dbc06dd..34912225d 100644 --- a/ThirdParty/TouchScript/Textures/Touch.png.meta +++ b/ThirdParty/TouchScript/Textures/Touch.png.meta @@ -24,19 +24,19 @@ TextureImporter: cubemapConvolutionSteps: 8 cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 - textureFormat: 13 + textureFormat: -2 maxTextureSize: 1024 textureSettings: filterMode: 1 aniso: 0 mipBias: -1 wrapMode: 1 - nPOTScale: 1 + nPOTScale: 0 lightmap: 0 rGBM: 0 compressionQuality: 50 allowsAlphaSplitting: 0 - spriteMode: 0 + spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 diff --git a/ThirdParty/TouchScript/license.txt.meta b/ThirdParty/TouchScript/license.txt.meta index f7421ffb9..02480e72d 100644 --- a/ThirdParty/TouchScript/license.txt.meta +++ b/ThirdParty/TouchScript/license.txt.meta @@ -2,5 +2,3 @@ fileFormatVersion: 2 guid: d1e3a7a4a02e347bca24205e78d75ba4 TextScriptImporter: userData: - assetBundleName: - assetBundleVariant: diff --git a/ThirdParty/WebSocketSharp/HttpRequest.cs b/ThirdParty/WebSocketSharp/HttpRequest.cs index f9aa5cb33..e9f6508d3 100644 --- a/ThirdParty/WebSocketSharp/HttpRequest.cs +++ b/ThirdParty/WebSocketSharp/HttpRequest.cs @@ -24,6 +24,9 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ +using IBM.Watson.DeveloperCloud.Utilities; + + #endregion #region Contributors @@ -68,7 +71,7 @@ private HttpRequest (string method, string uri, Version version, NameValueCollec internal HttpRequest (string method, string uri) : this (method, uri, HttpVersion.Version11, new NameValueCollection ()) { - Headers["User-Agent"] = "websocket-sharp/1.0"; + Headers["User-Agent"] = Constants.String.VERSION; } #endregion diff --git a/UnitTests/TestLanguageTranslation.cs b/UnitTests/TestLanguageTranslation.cs deleted file mode 100644 index 683eefcf9..000000000 --- a/UnitTests/TestLanguageTranslation.cs +++ /dev/null @@ -1,117 +0,0 @@ -/** -* Copyright 2015 IBM Corp. All Rights Reserved. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - - -using IBM.Watson.DeveloperCloud.DataModels; -using IBM.Watson.DeveloperCloud.Logging; -using IBM.Watson.DeveloperCloud.Services.v1; -using IBM.Watson.DeveloperCloud.Utilities; -using System.Collections; - -namespace IBM.Watson.DeveloperCloud.UnitTests -{ - public class TestLanguageTranslation : UnitTest - { - private LanguageTranslation m_Translate = new LanguageTranslation(); - private bool m_GetModelTested = false; - private bool m_GetModelsTested = false; - private bool m_GetLanguagesTested = false; - private bool m_IdentifyTested = false; - private bool m_TranslateTested = false; - - public override IEnumerator RunTest() - { - if ( Config.Instance.FindCredentials( m_Translate.GetServiceID() ) == null ) - yield break; - - m_Translate.GetModel( "en-es", OnGetModel ); - while(! m_GetModelTested ) - yield return null; - - m_Translate.GetModels( OnGetModels ); - while(! m_GetModelsTested ) - yield return null; - - m_Translate.GetLanguages( OnGetLanguages ); - while(! m_GetLanguagesTested ) - yield return null; - - m_Translate.Identify( "What does the fox say?", OnIdentify ); - while(! m_IdentifyTested ) - yield return null; - - m_Translate.GetTranslation( "What does the fox say?", "en", "es", OnGetTranslation ); - while(! m_TranslateTested ) - yield return null; - - yield break; - } - - private void OnGetModel( TranslationModel model ) - { - Test( model != null ); - if ( model != null ) - { - Log.Status( "TestTranslate", "ModelID: {0}, Source: {1}, Target: {2}, Domain: {3}", - model.model_id, model.source, model.target, model.domain ); - } - m_GetModelTested = true; - } - - private void OnGetModels( TranslationModels models ) - { - Test( models != null ); - if ( models != null ) - { - foreach( var model in models.models ) - { - Log.Status( "TestTranslate", "ModelID: {0}, Source: {1}, Target: {2}, Domain: {3}", - model.model_id, model.source, model.target, model.domain ); - } - } - m_GetModelsTested = true; - } - - private void OnGetTranslation( Translations translation ) - { - Test( translation != null ); - if ( translation != null && translation.translations.Length > 0 ) - Log.Status( "TestTranslate", "Translation: {0}", translation.translations[0].translation ); - m_TranslateTested = true; - } - - private void OnIdentify( string lang ) - { - Test( lang != null ); - if ( lang != null ) - Log.Status( "TestTranslate", "Identified Language as {0}", lang ); - m_IdentifyTested = true; - } - - private void OnGetLanguages( Languages languages ) - { - Test( languages != null ); - if ( languages != null ) - { - foreach( var lang in languages.languages ) - Log.Status( "TestTranslate", "Language: {0}, Name: {1}", lang.language, lang.name ); - } - - m_GetLanguagesTested = true; - } - } -} diff --git a/readme.md b/readme.md deleted file mode 100644 index 6b797c2ff..000000000 --- a/readme.md +++ /dev/null @@ -1,93 +0,0 @@ -# IBM Watson SDK for Unity -Use this SDK to build Watson-powered applications in Unity. It comes with a set of prefabs that you can use to develop a simple Watson application in just one minute. - -## Before you begin -Ensure that you have the following prerequisites: -* An IBM Bluemix account. If you don't have one, [sign up](https://apps.admin.ibmcloud.com/manage/trial/bluemix.html?cm_mmc=WatsonDeveloperCloud-_-LandingSiteGetStarted-_-x-_-CreateAnAccountOnBluemixCLI). -* [Unity](https://unity3d.com/get-unity). You win! You can use the **free** Personal edition. - -## Getting the Watson SDK and adding it to Unity -You can get the SDK by cloning the the repository from GitHub. - -### Installing the SDK source into your Unity project -1. Clone the following GIT repository into a directory within your current Unity project. - * git clone https://github.com/watson-developer-cloud/unity-sdk.git - * OR - * git submodule add https://github.com/watson-developer-cloud/unity-sdk.git -2. Go to [Configuring Watson service credentials](#configuring-Watson-service-credentials). - - -### Installing the SDK from the Unity Package -1. Download the `WatsonDeveloperCloud.unitypackage` file. -2. Open Unity, then open your project or create a new one. -3. Add the Watson SDK package by selecting **Assets -> Import Package -> Custom Package**. -4. Navigate to the location of the `WatsonDeveloperCloud.unitypackage`, and click **Open**. The Importing package window is displayed. -5. Click **Import**. The asset is imported, and the prompt to configure your Watson service credentials is displayed. -6. Click **Yes**. The Config Editor is displayed, and the Watson services to be configured are in the list. -7. Go to [Configuring Watson service credentials](#configuring-Watson-service-credentials). - -## Configuring your service credentials -1. Determine which services to configure. -2. If you have configured the services already, complete the following steps. Otherwise, go to step 3. - 1. Navigate to the Dashboard on your Bluemix account. - 2. Click the tile for a service. - 3. Click **Service Credentials**. - 4. Copy the content in the Service Credentials field, and paste it in the credentials field in the Config Editor in Unity. - 5. Click **Apply Credentials**. - 6. Repeat steps 1 - 5 for each service you want to use. -3. If you need to configure the services that you want to use, complete the following steps. - 1. In the Config Editor, click the **Configure** button beside the service to register. The service window is displayed. - 2. Click **Create**. - 3. Click **Service Credentials**. - 4. Copy the content in the Service Credentials field, and paste it in the empty credentials field in the Config Editor in Unity. - 5. Click **Apply Credentials**. - 6. Repeat steps 1 - 5 for each service you want to use. -4. Click **Save**, and close the Config Editor. - -## Preparing the test data for developing a basic application -The SDK contains a TestNLC classifier, which contains classes for temperature and conditions. Before you develop a sample application in the next section, train the classifier on the test data. - -1. Open the NLC Editor by clicking **Watson -> NLC Editor**. -2. Locate the TestNLC classifier, and click **Train**. The training process begins. The process lasts a few minutes. -3. To check the status of the training process, click **Refresh**. When the status changes from Training to Available, the process is finished, and you can begin to develop a basic application that uses the Natural Language Classifier, as described in the next section. - -## Developing a basic application in one minute -You can quickly develop a basic application that uses the Speech to Text service and the Natural Language Classifier service by using the prefabs that come with the SDK. Ensure that you prepare the test data before you complete the the following steps: -1. Create a new scene and drag the following prefabs from `Assets -> Watson -> Prefabs`, and drop them in the Hierarchy tab: - * MicWidget - * SpeechToTextWidget - * NlcWidget - * ClassDisplayWidget -2. Select the **NlcWidget**. -5. In the **Classifier Name** field in the Inspector tab, specify `TestNLC/`. -6. In the NLC Editor, expand the **TestNLC** classifier, expand the classes, and determine which questions about the weather to ask to test the classifier. -7. Run the application. -8. Say your questions into the microphone to test the MicWidget, the SpeechToTextWidget, and the NlcWidget. - -## Dialog and classifier management -The SDK contains editors for managing your dialogs and classifiers. - -### Uploading dialogs -You can upload dialogs by using the Dialog Editor. -1. Click **Watson -> Dialog Editor**. The Dialog Editor window is displayed. -2. Specify a name for the dialog in the **Name** field. -3. Click **Upload**. -4. Navigate to the dialog file to be uploaded, and click **Open**. - -### Managing classifiers -You can use the NLC Editor to import and export classifier files, and create new classifiers and edit them. -#### Importing files for existing classifiers -1. Click **Watson -> NLC Editor**. The NLC Editor window is displayed. -2. Click **Import**. -3. Navigate to the `.csv` file to import, and click **Open**. The file is imported. -4. Click **Train**. -#### Creating new classifiers -1. Click **Watson -> NLC Editor**. The NLC Editor window is displayed. -2. In the **Name** field, specify a name for the classifier. -3. Click **Create**. -#### Editing and training classifiers -1. Click **Watson -> NLC Editor**. The NLC Editor window is displayed. -2. Expand the classifier. -3. To create a new class, specity a name for the new class in the empty field, and click **Add Class**. -4. To add a phrase to the class, specify a phrase in the empty field, and click **Add Phrase**. -5. Click **Train**. \ No newline at end of file