From d925f3c471b929e48ab694c0e50a72e9425069c3 Mon Sep 17 00:00:00 2001 From: John Luxford Date: Thu, 29 Jun 2017 13:45:31 -0500 Subject: [PATCH] Initial import --- Audio.meta | 9 + Audio/Tick.wav | Bin 0 -> 11674 bytes Audio/Tick.wav.meta | 22 + LICENSE | 22 + LICENSE.meta | 8 + Materials.meta | 9 + Materials/KeyActiveMat.mat | 127 + Materials/KeyActiveMat.mat.meta | 8 + Materials/KeyInactiveMat.mat | 127 + Materials/KeyInactiveMat.mat.meta | 8 + Materials/KeyboardTextMat.mat | 127 + Materials/KeyboardTextMat.mat.meta | 8 + Prefabs.meta | 9 + Prefabs/VRKeys.prefab | 3836 ++++++++++++++++++++++++++++ Prefabs/VRKeys.prefab.meta | 8 + README.md | 7 + README.md.meta | 8 + Scenes.meta | 9 + Scenes/VRKeys Example.unity | 432 ++++ Scenes/VRKeys Example.unity.meta | 8 + Scripts.meta | 9 + Scripts/BackspaceKey.cs | 26 + Scripts/BackspaceKey.cs.meta | 12 + Scripts/ClearKey.cs | 26 + Scripts/ClearKey.cs.meta | 12 + Scripts/DemoScene.cs | 71 + Scripts/DemoScene.cs.meta | 12 + Scripts/EnterKey.cs | 26 + Scripts/EnterKey.cs.meta | 12 + Scripts/Key.cs | 147 ++ Scripts/Key.cs.meta | 12 + Scripts/Keyboard.cs | 413 +++ Scripts/Keyboard.cs.meta | 12 + Scripts/LetterKey.cs | 47 + Scripts/LetterKey.cs.meta | 12 + Scripts/Mallet.cs | 51 + Scripts/Mallet.cs.meta | 12 + Scripts/ShiftKey.cs | 26 + Scripts/ShiftKey.cs.meta | 12 + Scripts/SpaceKey.cs | 26 + Scripts/SpaceKey.cs.meta | 12 + VRKeys.unitypackage | Bin 0 -> 56556 bytes VRKeys.unitypackage.meta | 8 + 43 files changed, 5788 insertions(+) create mode 100644 Audio.meta create mode 100644 Audio/Tick.wav create mode 100644 Audio/Tick.wav.meta create mode 100644 LICENSE create mode 100644 LICENSE.meta create mode 100644 Materials.meta create mode 100644 Materials/KeyActiveMat.mat create mode 100644 Materials/KeyActiveMat.mat.meta create mode 100644 Materials/KeyInactiveMat.mat create mode 100644 Materials/KeyInactiveMat.mat.meta create mode 100644 Materials/KeyboardTextMat.mat create mode 100644 Materials/KeyboardTextMat.mat.meta create mode 100644 Prefabs.meta create mode 100644 Prefabs/VRKeys.prefab create mode 100644 Prefabs/VRKeys.prefab.meta create mode 100644 README.md create mode 100644 README.md.meta create mode 100644 Scenes.meta create mode 100644 Scenes/VRKeys Example.unity create mode 100644 Scenes/VRKeys Example.unity.meta create mode 100644 Scripts.meta create mode 100644 Scripts/BackspaceKey.cs create mode 100644 Scripts/BackspaceKey.cs.meta create mode 100644 Scripts/ClearKey.cs create mode 100644 Scripts/ClearKey.cs.meta create mode 100644 Scripts/DemoScene.cs create mode 100644 Scripts/DemoScene.cs.meta create mode 100644 Scripts/EnterKey.cs create mode 100644 Scripts/EnterKey.cs.meta create mode 100644 Scripts/Key.cs create mode 100644 Scripts/Key.cs.meta create mode 100644 Scripts/Keyboard.cs create mode 100644 Scripts/Keyboard.cs.meta create mode 100644 Scripts/LetterKey.cs create mode 100644 Scripts/LetterKey.cs.meta create mode 100644 Scripts/Mallet.cs create mode 100644 Scripts/Mallet.cs.meta create mode 100644 Scripts/ShiftKey.cs create mode 100644 Scripts/ShiftKey.cs.meta create mode 100644 Scripts/SpaceKey.cs create mode 100644 Scripts/SpaceKey.cs.meta create mode 100644 VRKeys.unitypackage create mode 100644 VRKeys.unitypackage.meta diff --git a/Audio.meta b/Audio.meta new file mode 100644 index 0000000..4084db3 --- /dev/null +++ b/Audio.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 575b95cda31f32a478db1535cabad2c0 +folderAsset: yes +timeCreated: 1498756791 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Audio/Tick.wav b/Audio/Tick.wav new file mode 100644 index 0000000000000000000000000000000000000000..e5054e339520fe81f9545d2cc3eb2808fa86205e GIT binary patch literal 11674 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 literal 0 HcmV?d00001 diff --git a/Audio/Tick.wav.meta b/Audio/Tick.wav.meta new file mode 100644 index 0000000..2bc8fb1 --- /dev/null +++ b/Audio/Tick.wav.meta @@ -0,0 +1,22 @@ +fileFormatVersion: 2 +guid: 3432185da42c61f4aa9e8c9da931dd8e +timeCreated: 1498756819 +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/LICENSE b/LICENSE new file mode 100644 index 0000000..fb2c41c --- /dev/null +++ b/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2017 The Campfire Union + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/LICENSE.meta b/LICENSE.meta new file mode 100644 index 0000000..81fb0b6 --- /dev/null +++ b/LICENSE.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1b1bbd7fa28e9104ba0e26d4300c93a5 +timeCreated: 1498761839 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Materials.meta b/Materials.meta new file mode 100644 index 0000000..084a342 --- /dev/null +++ b/Materials.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b1096640277b4af40870dcd2fb1c2d5c +folderAsset: yes +timeCreated: 1498755553 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Materials/KeyActiveMat.mat b/Materials/KeyActiveMat.mat new file mode 100644 index 0000000..b3d5a64 --- /dev/null +++ b/Materials/KeyActiveMat.mat @@ -0,0 +1,127 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: KeyActiveMat + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _EMISSION + m_LightmapFlags: 1 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _BumpMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailAlbedoMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailMask + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailNormalMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _EmissionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _MetallicGlossMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _OcclusionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _ParallaxMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - first: + name: _BumpScale + second: 1 + - first: + name: _Cutoff + second: 0.5 + - first: + name: _DetailNormalMapScale + second: 1 + - first: + name: _DstBlend + second: 0 + - first: + name: _GlossMapScale + second: 1 + - first: + name: _Glossiness + second: 0.5 + - first: + name: _GlossyReflections + second: 1 + - first: + name: _Metallic + second: 0 + - first: + name: _Mode + second: 0 + - first: + name: _OcclusionStrength + second: 1 + - first: + name: _Parallax + second: 0.02 + - first: + name: _SmoothnessTextureChannel + second: 0 + - first: + name: _SpecularHighlights + second: 1 + - first: + name: _SrcBlend + second: 1 + - first: + name: _UVSec + second: 0 + - first: + name: _ZWrite + second: 1 + m_Colors: + - first: + name: _Color + second: {r: 1, g: 0.8182556, b: 0.058823526, a: 1} + - first: + name: _EmissionColor + second: {r: 0, g: 0, b: 0, a: 1} diff --git a/Materials/KeyActiveMat.mat.meta b/Materials/KeyActiveMat.mat.meta new file mode 100644 index 0000000..4fbb69d --- /dev/null +++ b/Materials/KeyActiveMat.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 157abfb689445624c97d685110ed6172 +timeCreated: 1498683446 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Materials/KeyInactiveMat.mat b/Materials/KeyInactiveMat.mat new file mode 100644 index 0000000..c067f51 --- /dev/null +++ b/Materials/KeyInactiveMat.mat @@ -0,0 +1,127 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: KeyInactiveMat + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _EMISSION + m_LightmapFlags: 1 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _BumpMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailAlbedoMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailMask + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailNormalMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _EmissionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _MetallicGlossMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _OcclusionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _ParallaxMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - first: + name: _BumpScale + second: 1 + - first: + name: _Cutoff + second: 0.5 + - first: + name: _DetailNormalMapScale + second: 1 + - first: + name: _DstBlend + second: 0 + - first: + name: _GlossMapScale + second: 1 + - first: + name: _Glossiness + second: 0.5 + - first: + name: _GlossyReflections + second: 1 + - first: + name: _Metallic + second: 0 + - first: + name: _Mode + second: 0 + - first: + name: _OcclusionStrength + second: 1 + - first: + name: _Parallax + second: 0.02 + - first: + name: _SmoothnessTextureChannel + second: 0 + - first: + name: _SpecularHighlights + second: 1 + - first: + name: _SrcBlend + second: 1 + - first: + name: _UVSec + second: 0 + - first: + name: _ZWrite + second: 1 + m_Colors: + - first: + name: _Color + second: {r: 0.8862745, g: 0.8862745, b: 0.8862745, a: 1} + - first: + name: _EmissionColor + second: {r: 0, g: 0, b: 0, a: 1} diff --git a/Materials/KeyInactiveMat.mat.meta b/Materials/KeyInactiveMat.mat.meta new file mode 100644 index 0000000..4397347 --- /dev/null +++ b/Materials/KeyInactiveMat.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 021552db260a9654ea7d9d472e44eb58 +timeCreated: 1498666042 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Materials/KeyboardTextMat.mat b/Materials/KeyboardTextMat.mat new file mode 100644 index 0000000..ee4aed3 --- /dev/null +++ b/Materials/KeyboardTextMat.mat @@ -0,0 +1,127 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: KeyboardTextMat + m_Shader: {fileID: 10755, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _EMISSION + m_LightmapFlags: 1 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _BumpMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailAlbedoMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailMask + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailNormalMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _EmissionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _MetallicGlossMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _OcclusionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _ParallaxMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - first: + name: _BumpScale + second: 1 + - first: + name: _Cutoff + second: 0.5 + - first: + name: _DetailNormalMapScale + second: 1 + - first: + name: _DstBlend + second: 0 + - first: + name: _GlossMapScale + second: 1 + - first: + name: _Glossiness + second: 0.5 + - first: + name: _GlossyReflections + second: 1 + - first: + name: _Metallic + second: 0 + - first: + name: _Mode + second: 0 + - first: + name: _OcclusionStrength + second: 1 + - first: + name: _Parallax + second: 0.02 + - first: + name: _SmoothnessTextureChannel + second: 0 + - first: + name: _SpecularHighlights + second: 1 + - first: + name: _SrcBlend + second: 1 + - first: + name: _UVSec + second: 0 + - first: + name: _ZWrite + second: 1 + m_Colors: + - first: + name: _Color + second: {r: 0.72794116, g: 0.72794116, b: 0.72794116, a: 1} + - first: + name: _EmissionColor + second: {r: 0, g: 0, b: 0, a: 1} diff --git a/Materials/KeyboardTextMat.mat.meta b/Materials/KeyboardTextMat.mat.meta new file mode 100644 index 0000000..d17384c --- /dev/null +++ b/Materials/KeyboardTextMat.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 55f2d017b57e3b14aa7421b691236b64 +timeCreated: 1498660425 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Prefabs.meta b/Prefabs.meta new file mode 100644 index 0000000..c7c7883 --- /dev/null +++ b/Prefabs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e4cdea08eb9b33544bec0e63b242478c +folderAsset: yes +timeCreated: 1498755558 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Prefabs/VRKeys.prefab b/Prefabs/VRKeys.prefab new file mode 100644 index 0000000..5560c49 --- /dev/null +++ b/Prefabs/VRKeys.prefab @@ -0,0 +1,3836 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !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: 1000010614386324} + m_IsPrefabParent: 1 +--- !u!1 &1000010145710606 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 224000011442836622} + - 223: {fileID: 223000011891530624} + - 114: {fileID: 114000012222189772} + m_Layer: 0 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000010243209718 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 4000010133606078} + - 33: {fileID: 33000012358895456} + - 65: {fileID: 65000013447986426} + - 23: {fileID: 23000011498129376} + - 114: {fileID: 114000012720594730} + m_Layer: 0 + m_Name: Enter + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000010315705958 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 224000013407881296} + - 222: {fileID: 222000011943852900} + - 114: {fileID: 114000013767588498} + m_Layer: 0 + m_Name: Message + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000010441867314 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 224000011712062710} + - 222: {fileID: 222000010173197896} + - 114: {fileID: 114000010592892344} + m_Layer: 0 + m_Name: Message + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000010614386324 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 4000013025176432} + - 114: {fileID: 114000011813929276} + m_Layer: 0 + m_Name: VRKeys + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!1 &1000010615748202 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 4000010234157170} + - 33: {fileID: 33000014130904698} + - 23: {fileID: 23000011162298744} + m_Layer: 0 + m_Name: Cylinder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000011322283204 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 4000014255031704} + - 33: {fileID: 33000011629607292} + - 65: {fileID: 65000012433588288} + - 23: {fileID: 23000011897981684} + - 114: {fileID: 114000013061632910} + m_Layer: 0 + m_Name: Key + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!1 &1000011403064836 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 224000010241926686} + - 33: {fileID: 33000013756822528} + - 23: {fileID: 23000010512263608} + - 222: {fileID: 222000011214062742} + - 114: {fileID: 114000014267261516} + m_Layer: 0 + m_Name: ShiftedLabel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000011464294290 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 224000013285553920} + - 33: {fileID: 33000010442368214} + - 23: {fileID: 23000010034095974} + - 222: {fileID: 222000013424982296} + - 114: {fileID: 114000011457087486} + m_Layer: 0 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000011590471936 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 224000013720151528} + - 33: {fileID: 33000010996379544} + - 23: {fileID: 23000011065239064} + - 222: {fileID: 222000011939393084} + - 114: {fileID: 114000013264606984} + m_Layer: 0 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000011692986572 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 4000010256108328} + - 33: {fileID: 33000011247661316} + - 65: {fileID: 65000014105578984} + - 23: {fileID: 23000010701034032} + - 114: {fileID: 114000011540811320} + m_Layer: 0 + m_Name: Backspace + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000011759236714 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 4000013859835632} + m_Layer: 0 + m_Name: Keyboard + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000011812438282 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 4000013722089028} + m_Layer: 0 + m_Name: RightMallet + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!1 &1000011821716180 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 4000013131268924} + - 33: {fileID: 33000012119288656} + - 65: {fileID: 65000011450326184} + - 23: {fileID: 23000012995747048} + - 114: {fileID: 114000011314641286} + m_Layer: 0 + m_Name: Clear + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000011903277046 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 224000010322317540} + - 33: {fileID: 33000013318251906} + - 23: {fileID: 23000014283682952} + - 222: {fileID: 222000012673900028} + - 114: {fileID: 114000012530348626} + m_Layer: 0 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000011907245898 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 224000011138031872} + - 222: {fileID: 222000012510626848} + - 114: {fileID: 114000010496374686} + m_Layer: 0 + m_Name: Panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000011932752296 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 4000013790136688} + - 33: {fileID: 33000010587023208} + - 23: {fileID: 23000012371671870} + m_Layer: 0 + m_Name: Cylinder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000012078599230 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 224000010061429500} + - 222: {fileID: 222000013683402272} + - 114: {fileID: 114000011155968924} + m_Layer: 0 + m_Name: Info Notice + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!1 &1000012107024756 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 224000010670433422} + - 222: {fileID: 222000010056895180} + - 114: {fileID: 114000012469375632} + m_Layer: 0 + m_Name: Validation Notice + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!1 &1000012217403784 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 4000011852492718} + - 33: {fileID: 33000014189650988} + - 135: {fileID: 135000011065710690} + - 23: {fileID: 23000012001671646} + - 82: {fileID: 82000011781386908} + - 114: {fileID: 114000010177595064} + - 114: {fileID: 114000012984897716} + m_Layer: 0 + m_Name: Sphere + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000012589486870 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 224000013427320980} + - 33: {fileID: 33000012412326362} + - 23: {fileID: 23000013237804212} + - 222: {fileID: 222000011170771378} + - 114: {fileID: 114000014124921810} + m_Layer: 0 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000012747880360 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 4000013148173780} + - 33: {fileID: 33000011359002896} + - 65: {fileID: 65000011825665588} + - 23: {fileID: 23000010536738872} + m_Layer: 0 + m_Name: Keyboard + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!1 &1000012940491476 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 4000012218914916} + m_Layer: 0 + m_Name: LeftMallet + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!1 &1000012948826184 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 224000011072575324} + - 222: {fileID: 222000012579000192} + - 114: {fileID: 114000011935164620} + m_Layer: 0 + m_Name: Text Input + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000012959594796 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 224000010070546604} + - 33: {fileID: 33000010571038824} + - 23: {fileID: 23000012556946724} + - 222: {fileID: 222000013137210784} + - 114: {fileID: 114000010799792276} + m_Layer: 0 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000012988091324 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 4000010968355626} + - 33: {fileID: 33000011239244816} + - 135: {fileID: 135000010697237970} + - 23: {fileID: 23000010015066508} + - 82: {fileID: 82000011813157576} + - 114: {fileID: 114000012351115726} + - 114: {fileID: 114000011385624890} + m_Layer: 0 + m_Name: Sphere + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000013080610010 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 4000010541621026} + - 33: {fileID: 33000013853862454} + - 65: {fileID: 65000011231139372} + - 23: {fileID: 23000013655238978} + - 114: {fileID: 114000010748070872} + m_Layer: 0 + m_Name: Space + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000013181315694 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 224000012528090298} + - 222: {fileID: 222000013550466066} + - 114: {fileID: 114000011967462238} + m_Layer: 0 + m_Name: Success Notice + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!1 &1000013267824754 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 4000013163384684} + - 33: {fileID: 33000013085898936} + - 65: {fileID: 65000012297558264} + - 23: {fileID: 23000012842008522} + - 114: {fileID: 114000012540649824} + m_Layer: 0 + m_Name: Shift + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000013293962986 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 224000014007350124} + - 222: {fileID: 222000012994116992} + - 114: {fileID: 114000013633238574} + m_Layer: 0 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000013536166440 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 224000011647554626} + - 222: {fileID: 222000013268826094} + - 114: {fileID: 114000011388484120} + m_Layer: 0 + m_Name: Message + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000013834598524 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 224000012435902802} + - 33: {fileID: 33000010021271790} + - 23: {fileID: 23000013487965696} + - 222: {fileID: 222000013050577040} + - 114: {fileID: 114000010527790036} + m_Layer: 0 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4000010133606078 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010243209718} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.2, y: 0, z: -0.18} + m_LocalScale: {x: 0.2, y: 0.01, z: 0.2} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 224000013427320980} + m_Father: {fileID: 4000013859835632} + m_RootOrder: 6 +--- !u!4 &4000010234157170 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010615748202} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.2, z: 0} + m_LocalScale: {x: 0.005, y: 0.25, z: 0.005} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 4000012218914916} + m_RootOrder: 0 +--- !u!4 &4000010256108328 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011692986572} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.76, y: -0.000000059604645, z: -0.33999997} + m_LocalScale: {x: 0.39999998, y: 0.01, z: 0.14999999} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 224000013285553920} + m_Father: {fileID: 4000013859835632} + m_RootOrder: 4 +--- !u!4 &4000010541621026 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013080610010} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.125, y: -0.000000044703484, z: -0.34} + m_LocalScale: {x: 0.85, y: 0.01, z: 0.14999999} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 224000010322317540} + m_Father: {fileID: 4000013859835632} + m_RootOrder: 3 +--- !u!4 &4000010968355626 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012988091324} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.45, z: 0} + m_LocalScale: {x: 0.025, y: 0.025, z: 0.025} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 4000013722089028} + m_RootOrder: 1 +--- !u!4 &4000011852492718 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012217403784} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.45, z: 0} + m_LocalScale: {x: 0.025, y: 0.025, z: 0.025} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 4000012218914916} + m_RootOrder: 1 +--- !u!4 &4000012218914916 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012940491476} + m_LocalRotation: {x: -0.19799946, y: -0, z: -0, w: 0.9802022} + m_LocalPosition: {x: 0, y: -0.5, z: -1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 4000010234157170} + - {fileID: 4000011852492718} + m_Father: {fileID: 4000013025176432} + m_RootOrder: 1 +--- !u!4 &4000013025176432 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010614386324} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1.35, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 224000011442836622} + - {fileID: 4000012218914916} + - {fileID: 4000013722089028} + - {fileID: 4000013859835632} + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!4 &4000013131268924 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011821716180} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.95, y: 0, z: -0.18} + m_LocalScale: {x: 0.2, y: 0.01, z: 0.2} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 224000013720151528} + m_Father: {fileID: 4000013859835632} + m_RootOrder: 5 +--- !u!4 &4000013148173780 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012747880360} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -0.01, z: 0} + m_LocalScale: {x: 1.5, y: 0.01, z: 0.75} + m_LocalEulerAnglesHint: {x: -22.84, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 4000013859835632} + m_RootOrder: 0 +--- !u!4 &4000013163384684 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013267824754} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.51, y: -0.000000059604645, z: -0.33999997} + m_LocalScale: {x: 0.4, y: 0.01, z: 0.14999999} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 224000012435902802} + m_Father: {fileID: 4000013859835632} + m_RootOrder: 2 +--- !u!4 &4000013722089028 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011812438282} + m_LocalRotation: {x: -0.19799946, y: -0, z: -0, w: 0.9802022} + m_LocalPosition: {x: 0, y: -0.5, z: -1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 4000013790136688} + - {fileID: 4000010968355626} + m_Father: {fileID: 4000013025176432} + m_RootOrder: 2 +--- !u!4 &4000013790136688 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011932752296} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.2, z: 0} + m_LocalScale: {x: 0.005, y: 0.25, z: 0.005} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 4000013722089028} + m_RootOrder: 0 +--- !u!4 &4000013859835632 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011759236714} + m_LocalRotation: {x: -0.19799946, y: 0, z: 0, w: 0.9802022} + m_LocalPosition: {x: -0.1, y: -0.5, z: -1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: -22.84, y: 0, z: 0} + m_Children: + - {fileID: 4000013148173780} + - {fileID: 4000014255031704} + - {fileID: 4000013163384684} + - {fileID: 4000010541621026} + - {fileID: 4000010256108328} + - {fileID: 4000013131268924} + - {fileID: 4000010133606078} + m_Father: {fileID: 4000013025176432} + m_RootOrder: 3 +--- !u!4 &4000014255031704 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011322283204} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.675, y: 0, z: 0.3} + m_LocalScale: {x: 0.15, y: 0.01, z: 0.15} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 224000010070546604} + - {fileID: 224000010241926686} + m_Father: {fileID: 4000013859835632} + m_RootOrder: 1 +--- !u!23 &23000010015066508 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012988091324} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!23 &23000010034095974 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011464294290} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!23 &23000010512263608 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011403064836} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!23 &23000010536738872 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012747880360} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_MotionVectors: 0 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55f2d017b57e3b14aa7421b691236b64, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!23 &23000010701034032 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011692986572} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 021552db260a9654ea7d9d472e44eb58, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!23 &23000011065239064 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011590471936} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!23 &23000011162298744 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010615748202} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!23 &23000011498129376 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010243209718} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 021552db260a9654ea7d9d472e44eb58, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!23 &23000011897981684 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011322283204} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 021552db260a9654ea7d9d472e44eb58, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!23 &23000012001671646 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012217403784} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!23 &23000012371671870 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011932752296} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!23 &23000012556946724 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012959594796} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!23 &23000012842008522 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013267824754} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 021552db260a9654ea7d9d472e44eb58, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!23 &23000012995747048 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011821716180} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 021552db260a9654ea7d9d472e44eb58, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!23 &23000013237804212 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012589486870} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!23 &23000013487965696 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013834598524} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!23 &23000013655238978 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013080610010} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 021552db260a9654ea7d9d472e44eb58, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!23 &23000014283682952 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011903277046} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &33000010021271790 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013834598524} + m_Mesh: {fileID: 0} +--- !u!33 &33000010442368214 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011464294290} + m_Mesh: {fileID: 0} +--- !u!33 &33000010571038824 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012959594796} + m_Mesh: {fileID: 0} +--- !u!33 &33000010587023208 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011932752296} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &33000010996379544 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011590471936} + m_Mesh: {fileID: 0} +--- !u!33 &33000011239244816 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012988091324} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &33000011247661316 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011692986572} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &33000011359002896 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012747880360} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &33000011629607292 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011322283204} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &33000012119288656 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011821716180} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &33000012358895456 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010243209718} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &33000012412326362 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012589486870} + m_Mesh: {fileID: 0} +--- !u!33 &33000013085898936 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013267824754} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &33000013318251906 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011903277046} + m_Mesh: {fileID: 0} +--- !u!33 &33000013756822528 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011403064836} + m_Mesh: {fileID: 0} +--- !u!33 &33000013853862454 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013080610010} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &33000014130904698 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010615748202} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &33000014189650988 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012217403784} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!65 &65000011231139372 +BoxCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013080610010} + 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!65 &65000011450326184 +BoxCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011821716180} + 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!65 &65000011825665588 +BoxCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012747880360} + 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!65 &65000012297558264 +BoxCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013267824754} + 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!65 &65000012433588288 +BoxCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011322283204} + 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!65 &65000013447986426 +BoxCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010243209718} + 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!65 &65000014105578984 +BoxCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011692986572} + 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!82 &82000011781386908 +AudioSource: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012217403784} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 24300001, guid: 1dd706bb85d8aef4e83a6229dbd62c36, + type: 2} + m_audioClip: {fileID: 0} + m_PlayOnAwake: 0 + m_Volume: 1 + m_Pitch: 1 + Loop: 0 + Mute: 0 + Spatialize: 1 + 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 + m_RotationOrder: 4 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 +--- !u!82 &82000011813157576 +AudioSource: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012988091324} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 24300001, guid: 1dd706bb85d8aef4e83a6229dbd62c36, + type: 2} + m_audioClip: {fileID: 0} + m_PlayOnAwake: 0 + m_Volume: 1 + m_Pitch: 1 + Loop: 0 + Mute: 0 + Spatialize: 1 + 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 + m_RotationOrder: 4 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 +--- !u!114 &114000010177595064 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012217403784} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e503ea6418d27594caa33b93cac1b06a, type: 3} + m_Name: + m_EditorClassIdentifier: + enableSpatialization: 1 + gain: 8 + useInvSqr: 1 + near: 0.25 + far: 250 + enableRfl: 0 +--- !u!114 &114000010496374686 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011907245898} + 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.8897059, g: 0.8897059, b: 0.8897059, 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!114 &114000010527790036 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013834598524} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -806885394, guid: b5bd0d848a86e48409fe56688d66ecb5, 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_text: SHIFT + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4279505940 + m_fontColor: {r: 0.08088237, g: 0.08088237, b: 0.08088237, a: 1} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 2.5 + m_fontSizeBase: 2.5 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 514 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 0 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 114000010527790036} + characterCount: 5 + spriteCount: 0 + spaceCount: 0 + wordCount: 1 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 1 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 1 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_renderer: {fileID: 23000013487965696} + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_maskType: 0 +--- !u!114 &114000010592892344 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010441867314} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1453722849, guid: b5bd0d848a86e48409fe56688d66ecb5, 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_text: Saving, please wait... + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4279703475 + m_fontColor: {r: 0.49803922, g: 0.49803922, b: 0.49803922, a: 1} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 0.1 + m_fontSizeBase: 0.1 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 257 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: 0 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 114000010592892344} + characterCount: 24 + spriteCount: 0 + spaceCount: 2 + wordCount: 3 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 1 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 1 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &114000010748070872 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013080610010} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e5bbaf25e7301ed44b25199adaa35026, type: 3} + m_Name: + m_EditorClassIdentifier: + keyboard: {fileID: 114000011813929276} + label: {fileID: 114000012530348626} + inactiveMat: {fileID: 2100000, guid: 021552db260a9654ea7d9d472e44eb58, type: 2} + activeMat: {fileID: 2100000, guid: 157abfb689445624c97d685110ed6172, type: 2} + defaultPosition: {x: 0, y: 0, z: 0} + pressedPosition: {x: 0, y: 0, z: 0} + pressDirection: {x: 0, y: -1, z: 0} + pressMagnitude: 0.1 + autoInit: 1 +--- !u!114 &114000010799792276 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012959594796} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -806885394, guid: b5bd0d848a86e48409fe56688d66ecb5, 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_text: 1 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4279505940 + m_fontColor: {r: 0.08088237, g: 0.08088237, b: 0.08088237, a: 1} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 7 + m_fontSizeBase: 7 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 514 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: 0 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 0 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 114000010799792276} + characterCount: 1 + spriteCount: 0 + spaceCount: 0 + wordCount: 1 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 1 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 1 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_renderer: {fileID: 23000012556946724} + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_maskType: 0 +--- !u!114 &114000011155968924 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012078599230} + 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.8862745, g: 0.8862745, b: 0.8862745, 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!114 &114000011314641286 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011821716180} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1f12f46cc65ce294b93bd101aec2768e, type: 3} + m_Name: + m_EditorClassIdentifier: + keyboard: {fileID: 114000011813929276} + label: {fileID: 114000013264606984} + inactiveMat: {fileID: 2100000, guid: 021552db260a9654ea7d9d472e44eb58, type: 2} + activeMat: {fileID: 2100000, guid: 157abfb689445624c97d685110ed6172, type: 2} + defaultPosition: {x: 0, y: 0, z: 0} + pressedPosition: {x: 0, y: 0, z: 0} + pressDirection: {x: 0, y: -1, z: 0} + pressMagnitude: 0.1 + autoInit: 1 +--- !u!114 &114000011385624890 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012988091324} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ae39fdb11b3bc8848bec2576ceaad917, type: 3} + m_Name: + m_EditorClassIdentifier: + clipToPlay: {fileID: 8300000, guid: 3432185da42c61f4aa9e8c9da931dd8e, type: 3} + hand: 1 +--- !u!114 &114000011388484120 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013536166440} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1453722849, guid: b5bd0d848a86e48409fe56688d66ecb5, 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_text: Saved! + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4279703475 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 0.1 + m_fontSizeBase: 0.1 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 257 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: 0 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 114000011388484120} + characterCount: 24 + spriteCount: 0 + spaceCount: 2 + wordCount: 3 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 1 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 1 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &114000011457087486 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011464294290} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -806885394, guid: b5bd0d848a86e48409fe56688d66ecb5, 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_text: BACKSPACE + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4279505940 + m_fontColor: {r: 0.08088237, g: 0.08088237, b: 0.08088237, a: 1} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 2.5 + m_fontSizeBase: 2.5 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 514 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 0 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 114000011457087486} + characterCount: 9 + spriteCount: 0 + spaceCount: 0 + wordCount: 1 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 1 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 1 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_renderer: {fileID: 23000010034095974} + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_maskType: 0 +--- !u!114 &114000011540811320 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011692986572} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 997119c571c4011459abbee93fb57624, type: 3} + m_Name: + m_EditorClassIdentifier: + keyboard: {fileID: 114000011813929276} + label: {fileID: 114000011457087486} + inactiveMat: {fileID: 2100000, guid: 021552db260a9654ea7d9d472e44eb58, type: 2} + activeMat: {fileID: 2100000, guid: 157abfb689445624c97d685110ed6172, type: 2} + defaultPosition: {x: 0, y: 0, z: 0} + pressedPosition: {x: 0, y: 0, z: 0} + pressDirection: {x: 0, y: -1, z: 0} + pressMagnitude: 0.1 + autoInit: 1 +--- !u!114 &114000011813929276 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010614386324} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fb08f495a9bc93a46b97e507bf9be1b3, type: 3} + m_Name: + m_EditorClassIdentifier: + positionRelativeToUser: {x: 0, y: 1.35, z: 2} + placeholder: {fileID: 114000013633238574} + placeholderMessage: Tap the keys to begin typing + displayText: {fileID: 114000011935164620} + validationNotice: {fileID: 1000012107024756} + validationMessage: {fileID: 114000013767588498} + infoNotice: {fileID: 1000012078599230} + infoMessage: {fileID: 114000010592892344} + successNotice: {fileID: 1000013181315694} + successMessage: {fileID: 114000011388484120} + displayTextColor: {r: 0, g: 0, b: 0, a: 1} + caretColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + keyPrefab: {fileID: 1000011322283204} + keysParent: {fileID: 4000013859835632} + keyWidth: 0.16 + keyHeight: 0.16 + text: + leftMallet: {fileID: 1000012940491476} + rightMallet: {fileID: 1000011812438282} + row1Offset: 0.16 + row2Offset: 0.08 + row3Offset: 0 + row4Offset: -0.08 + leftPressing: 0 + rightPressing: 0 + OnUpdate: + m_PersistentCalls: + m_Calls: [] + m_TypeName: VRKeys.Keyboard+KeyboardUpdateEvent, Assembly-CSharp, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + OnSubmit: + m_PersistentCalls: + m_Calls: [] + m_TypeName: VRKeys.Keyboard+KeyboardSubmitEvent, Assembly-CSharp, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &114000011935164620 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012948826184} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1453722849, guid: b5bd0d848a86e48409fe56688d66ecb5, 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_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 38f808c305286c74c995ba67439a2484, type: 2} + m_sharedMaterial: {fileID: 21000010707259418, guid: 38f808c305286c74c995ba67439a2484, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 0.15 + m_fontSizeBase: 0.15 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 257 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: 0 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 114000011935164620} + characterCount: 0 + spriteCount: 0 + spaceCount: 0 + wordCount: 0 + linkCount: 0 + lineCount: 0 + pageCount: 0 + materialCount: 1 + m_havePropertiesChanged: 1 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 1 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &114000011967462238 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013181315694} + 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.5735294, g: 0.84117657, 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!114 &114000012222189772 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010145710606} + m_Enabled: 0 + 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 &114000012351115726 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012988091324} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e503ea6418d27594caa33b93cac1b06a, type: 3} + m_Name: + m_EditorClassIdentifier: + enableSpatialization: 1 + gain: 8 + useInvSqr: 1 + near: 0.25 + far: 250 + enableRfl: 0 +--- !u!114 &114000012469375632 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012107024756} + 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.9168294, b: 0.5735294, 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!114 &114000012530348626 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011903277046} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -806885394, guid: b5bd0d848a86e48409fe56688d66ecb5, 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_text: SPACE + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4279505940 + m_fontColor: {r: 0.08088237, g: 0.08088237, b: 0.08088237, a: 1} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 2.5 + m_fontSizeBase: 2.5 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 514 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 0 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 114000012530348626} + characterCount: 5 + spriteCount: 0 + spaceCount: 0 + wordCount: 1 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 1 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 1 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_renderer: {fileID: 23000014283682952} + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_maskType: 0 +--- !u!114 &114000012540649824 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013267824754} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 92aea2c43457e7e4f88aba041c2b1203, type: 3} + m_Name: + m_EditorClassIdentifier: + keyboard: {fileID: 114000011813929276} + label: {fileID: 114000010527790036} + inactiveMat: {fileID: 2100000, guid: 021552db260a9654ea7d9d472e44eb58, type: 2} + activeMat: {fileID: 2100000, guid: 157abfb689445624c97d685110ed6172, type: 2} + defaultPosition: {x: 0, y: 0, z: 0} + pressedPosition: {x: 0, y: 0, z: 0} + pressDirection: {x: 0, y: -1, z: 0} + pressMagnitude: 0.1 + autoInit: 1 +--- !u!114 &114000012720594730 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010243209718} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1922cc2163cb28b439566f9b87241595, type: 3} + m_Name: + m_EditorClassIdentifier: + keyboard: {fileID: 114000011813929276} + label: {fileID: 114000014124921810} + inactiveMat: {fileID: 2100000, guid: 021552db260a9654ea7d9d472e44eb58, type: 2} + activeMat: {fileID: 2100000, guid: 157abfb689445624c97d685110ed6172, type: 2} + defaultPosition: {x: 0, y: 0, z: 0} + pressedPosition: {x: 0, y: 0, z: 0} + pressDirection: {x: 0, y: -1, z: 0} + pressMagnitude: 0.1 + autoInit: 1 +--- !u!114 &114000012984897716 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012217403784} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ae39fdb11b3bc8848bec2576ceaad917, type: 3} + m_Name: + m_EditorClassIdentifier: + clipToPlay: {fileID: 8300000, guid: 3432185da42c61f4aa9e8c9da931dd8e, type: 3} + hand: 0 +--- !u!114 &114000013061632910 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011322283204} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 20da633ea6ddf744bb835e49bbf6b2d3, type: 3} + m_Name: + m_EditorClassIdentifier: + keyboard: {fileID: 114000011813929276} + label: {fileID: 114000010799792276} + inactiveMat: {fileID: 2100000, guid: 021552db260a9654ea7d9d472e44eb58, type: 2} + activeMat: {fileID: 2100000, guid: 157abfb689445624c97d685110ed6172, type: 2} + defaultPosition: {x: 0, y: 0, z: 0} + pressedPosition: {x: 0, y: 0, z: 0} + pressDirection: {x: 0, y: -1, z: 0} + pressMagnitude: 0.1 + autoInit: 0 + shiftedLabel: {fileID: 114000014267261516} + character: + shiftedChar: +--- !u!114 &114000013264606984 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011590471936} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -806885394, guid: b5bd0d848a86e48409fe56688d66ecb5, 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_text: CLEAR + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4279505940 + m_fontColor: {r: 0.08088237, g: 0.08088237, b: 0.08088237, a: 1} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 2 + m_fontSizeBase: 2 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 514 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 0 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 114000013264606984} + characterCount: 5 + spriteCount: 0 + spaceCount: 0 + wordCount: 1 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 1 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 1 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_renderer: {fileID: 23000011065239064} + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_maskType: 0 +--- !u!114 &114000013633238574 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013293962986} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1453722849, guid: b5bd0d848a86e48409fe56688d66ecb5, 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_text: Tap the keys to begin typing + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4288256409 + m_fontColor: {r: 0.60294116, g: 0.60294116, b: 0.60294116, a: 1} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 0.15 + m_fontSizeBase: 0.15 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 257 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: 0 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 114000013633238574} + characterCount: 28 + spriteCount: 0 + spaceCount: 5 + wordCount: 6 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 1 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 1 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &114000013767588498 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010315705958} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1453722849, guid: b5bd0d848a86e48409fe56688d66ecb5, 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_text: Input validation failed. + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4279703475 + m_fontColor: {r: 0.7058823, g: 0.0934256, b: 0.0934256, a: 1} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 0.1 + m_fontSizeBase: 0.1 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 257 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: 0 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 114000013767588498} + characterCount: 24 + spriteCount: 0 + spaceCount: 2 + wordCount: 3 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 1 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 1 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &114000014124921810 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012589486870} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -806885394, guid: b5bd0d848a86e48409fe56688d66ecb5, 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_text: SUBMIT + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4279505940 + m_fontColor: {r: 0.08088237, g: 0.08088237, b: 0.08088237, a: 1} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 2 + m_fontSizeBase: 2 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 514 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 0 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 114000014124921810} + characterCount: 6 + spriteCount: 0 + spaceCount: 0 + wordCount: 1 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 1 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 1 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_renderer: {fileID: 23000013237804212} + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_maskType: 0 +--- !u!114 &114000014267261516 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011403064836} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -806885394, guid: b5bd0d848a86e48409fe56688d66ecb5, 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_text: 1 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 715b80e429c437e40867928a4e1fc975, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4283321934 + m_fontColor: {r: 0.30882353, g: 0.30882353, b: 0.30882353, a: 1} + m_enableVertexGradient: 0 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 4 + m_fontSizeBase: 4 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 514 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: 0 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 0 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 114000014267261516} + characterCount: 1 + spriteCount: 0 + spaceCount: 0 + wordCount: 1 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 1 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 1 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_renderer: {fileID: 23000010512263608} + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_maskType: 0 +--- !u!135 &135000010697237970 +SphereCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012988091324} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!135 &135000011065710690 +SphereCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012217403784} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!222 &222000010056895180 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012107024756} +--- !u!222 &222000010173197896 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010441867314} +--- !u!222 &222000011170771378 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012589486870} +--- !u!222 &222000011214062742 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011403064836} +--- !u!222 &222000011939393084 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011590471936} +--- !u!222 &222000011943852900 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010315705958} +--- !u!222 &222000012510626848 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011907245898} +--- !u!222 &222000012579000192 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012948826184} +--- !u!222 &222000012673900028 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011903277046} +--- !u!222 &222000012994116992 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013293962986} +--- !u!222 &222000013050577040 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013834598524} +--- !u!222 &222000013137210784 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012959594796} +--- !u!222 &222000013268826094 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013536166440} +--- !u!222 &222000013424982296 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011464294290} +--- !u!222 &222000013550466066 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013181315694} +--- !u!222 &222000013683402272 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012078599230} +--- !u!223 &223000011891530624 +Canvas: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010145710606} + 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_SortingBucketNormalizedSize: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &224000010061429500 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012078599230} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 224000011712062710} + m_Father: {fileID: 224000011442836622} + m_RootOrder: 2 + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: 0, y: -0.07500005} + m_SizeDelta: {x: 3.5, y: 0.15} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224000010070546604 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012959594796} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: -0.05} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 4000014255031704} + m_RootOrder: 0 + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -0.125, y: 0.55} + m_SizeDelta: {x: 0.7, y: 0.8} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224000010241926686 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011403064836} + m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0.3} + m_LocalScale: {x: 0.99999994, y: 1.0000005, z: 1.0000005} + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 4000014255031704} + m_RootOrder: 1 + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.325, y: 0.55} + m_SizeDelta: {x: 0.35, y: 0.4} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224000010322317540 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011903277046} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: -0.05} + m_LocalScale: {x: 0.1764706, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 4000010541621026} + m_RootOrder: 0 + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0.55} + m_SizeDelta: {x: 2, y: 1} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224000010670433422 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012107024756} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 224000013407881296} + m_Father: {fileID: 224000011442836622} + m_RootOrder: 1 + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: 0, y: -0.075} + m_SizeDelta: {x: 3.5, y: 0.15} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224000011072575324 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012948826184} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 224000011138031872} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -0.0000000018626451, y: -0.0000000018626451} + m_SizeDelta: {x: -0.1, y: -0.10000001} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224000011138031872 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011907245898} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 224000011072575324} + - {fileID: 224000014007350124} + m_Father: {fileID: 224000011442836622} + 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 &224000011442836622 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010145710606} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.7, y: 0.7, z: 0.7} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 224000011138031872} + - {fileID: 224000010670433422} + - {fileID: 224000010061429500} + - {fileID: 224000012528090298} + m_Father: {fileID: 4000013025176432} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 3.5, y: 0.25} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224000011647554626 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013536166440} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 224000012528090298} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0.014999998} + m_SizeDelta: {x: -0.099999905, y: -0.06999999} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224000011712062710 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010441867314} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 224000010061429500} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0.014999998} + m_SizeDelta: {x: -0.099999905, y: -0.06999999} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224000012435902802 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013834598524} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: -0.05} + m_LocalScale: {x: 0.375, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 4000013163384684} + m_RootOrder: 0 + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0.55} + m_SizeDelta: {x: 2, y: 1} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224000012528090298 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013181315694} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 224000011647554626} + m_Father: {fileID: 224000011442836622} + m_RootOrder: 3 + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: 0, y: -0.07500005} + m_SizeDelta: {x: 3.5, y: 0.15} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224000013285553920 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011464294290} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: -0.05} + m_LocalScale: {x: 0.375, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 4000010256108328} + m_RootOrder: 0 + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0.55} + m_SizeDelta: {x: 2, y: 1} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224000013407881296 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010315705958} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 224000010670433422} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0.014999998} + m_SizeDelta: {x: -0.099999905, y: -0.06999999} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224000013427320980 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012589486870} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: -0.05} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 4000010133606078} + m_RootOrder: 0 + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0.55} + m_SizeDelta: {x: 1, y: 1} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224000013720151528 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011590471936} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: -0.05} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 4000013131268924} + m_RootOrder: 0 + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0.55} + m_SizeDelta: {x: 1, y: 1} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224000014007350124 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013293962986} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 224000011138031872} + 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.099999905, y: -0.099999994} + m_Pivot: {x: 0.5, y: 0.5} diff --git a/Prefabs/VRKeys.prefab.meta b/Prefabs/VRKeys.prefab.meta new file mode 100644 index 0000000..0eb16ba --- /dev/null +++ b/Prefabs/VRKeys.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f28287b1c722ebd4aa4f4d8547ed7fa8 +timeCreated: 1498662237 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/README.md b/README.md new file mode 100644 index 0000000..1032286 --- /dev/null +++ b/README.md @@ -0,0 +1,7 @@ +# VRKeys - A VR keyboard for use with NewtonVR + +VRKeys is a simple keyboard interface for single-line text input that integrates with [NewtonVR](https://github.com/TomorrowTodayLabs/NewtonVR). + +It also uses the [Oculus Audio SDK](https://developer.oculus.com/downloads/package/oculus-audio-sdk-plugins/) for spatialization of audio produced when you press a key, but this is easily replaceable too (just remove the `ONSP Audio Source` component from the Sphere under `LeftMallet` and `RightMallet`). + +Brought to you by [The Campfire Union](https://www.campfireunion.com/). diff --git a/README.md.meta b/README.md.meta new file mode 100644 index 0000000..ef10b56 --- /dev/null +++ b/README.md.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9c6bea40f436e3a479e9328d99466526 +timeCreated: 1498761839 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scenes.meta b/Scenes.meta new file mode 100644 index 0000000..d2e5d1d --- /dev/null +++ b/Scenes.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c4a61a796a372904cbecf37e95968581 +folderAsset: yes +timeCreated: 1498756048 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scenes/VRKeys Example.unity b/Scenes/VRKeys Example.unity new file mode 100644 index 0000000..c559ccb --- /dev/null +++ b/Scenes/VRKeys Example.unity @@ -0,0 +1,432 @@ +%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: 7 + 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} + m_IndirectSpecularColor: {r: 0.24648565, g: 0.2823304, b: 0.34567446, a: 1} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 7 + m_GIWorkflowMode: 0 + 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: 4 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_DirectLightInLightProbes: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + 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 &352954129 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 114000011813929276, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, + type: 2} + propertyPath: OnSubmit.m_PersistentCalls.m_Calls.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114000011813929276, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, + type: 2} + propertyPath: OnUpdate.m_PersistentCalls.m_Calls.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4000013025176432, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000013025176432, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, type: 2} + propertyPath: m_LocalPosition.y + value: 1.35 + objectReference: {fileID: 0} + - target: {fileID: 4000013025176432, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, type: 2} + propertyPath: m_LocalPosition.z + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 4000013025176432, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000013025176432, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000013025176432, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000013025176432, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4000013025176432, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 114000013633238574, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114000013633238574, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114000013264606984, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114000013264606984, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114000010527790036, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114000010527790036, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114000011935164620, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114000011935164620, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114000011457087486, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114000011457087486, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114000014124921810, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114000014124921810, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114000012530348626, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114000012530348626, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114000011813929276, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, + type: 2} + propertyPath: OnSubmit.m_PersistentCalls.m_Calls.Array.data[0].m_Mode + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114000011813929276, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, + type: 2} + propertyPath: OnSubmit.m_PersistentCalls.m_Calls.Array.data[0].m_CallState + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 114000011813929276, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, + type: 2} + propertyPath: OnSubmit.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 2042955740} + - target: {fileID: 114000011813929276, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, + type: 2} + propertyPath: OnSubmit.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: HandleSubmit + objectReference: {fileID: 0} + - target: {fileID: 114000011813929276, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, + type: 2} + propertyPath: OnSubmit.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName + value: UnityEngine.Object, UnityEngine + objectReference: {fileID: 0} + - target: {fileID: 114000011813929276, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, + type: 2} + propertyPath: OnUpdate.m_PersistentCalls.m_Calls.Array.data[0].m_Mode + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114000011813929276, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, + type: 2} + propertyPath: OnUpdate.m_PersistentCalls.m_Calls.Array.data[0].m_CallState + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 114000011813929276, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, + type: 2} + propertyPath: OnUpdate.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 2042955740} + - target: {fileID: 114000011813929276, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, + type: 2} + propertyPath: OnUpdate.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: HandleUpdate + objectReference: {fileID: 0} + - target: {fileID: 114000011813929276, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, + type: 2} + propertyPath: OnUpdate.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName + value: UnityEngine.Object, UnityEngine + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &585723783 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 478642, guid: b0047dd65ff208349bf3a5aaaeae24d0, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 478642, guid: b0047dd65ff208349bf3a5aaaeae24d0, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 478642, guid: b0047dd65ff208349bf3a5aaaeae24d0, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 478642, guid: b0047dd65ff208349bf3a5aaaeae24d0, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 478642, guid: b0047dd65ff208349bf3a5aaaeae24d0, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 478642, guid: b0047dd65ff208349bf3a5aaaeae24d0, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 478642, guid: b0047dd65ff208349bf3a5aaaeae24d0, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 478642, guid: b0047dd65ff208349bf3a5aaaeae24d0, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 11457864, guid: b0047dd65ff208349bf3a5aaaeae24d0, type: 2} + propertyPath: SteamVREnabled + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 11457864, guid: b0047dd65ff208349bf3a5aaaeae24d0, type: 2} + propertyPath: OculusSDKEnabled + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 11457864, guid: b0047dd65ff208349bf3a5aaaeae24d0, type: 2} + propertyPath: AutomaticallySetControllerTransparency + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 11457864, guid: b0047dd65ff208349bf3a5aaaeae24d0, type: 2} + propertyPath: VibrateOnHover + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: b0047dd65ff208349bf3a5aaaeae24d0, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1640734799 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1640734801} + - 108: {fileID: 1640734800} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1640734800 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1640734799} + m_Enabled: 1 + serializedVersion: 7 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1640734801 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1640734799} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!114 &1736746562 stripped +MonoBehaviour: + m_PrefabParentObject: {fileID: 114000011813929276, guid: f28287b1c722ebd4aa4f4d8547ed7fa8, + type: 2} + m_PrefabInternal: {fileID: 352954129} + m_Script: {fileID: 11500000, guid: fb08f495a9bc93a46b97e507bf9be1b3, type: 3} +--- !u!1 &2042955739 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2042955741} + - 114: {fileID: 2042955740} + m_Layer: 0 + m_Name: Demo Scene + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2042955740 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2042955739} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7db0a10c5cf3a6b44b04ab1f97828fb2, type: 3} + m_Name: + m_EditorClassIdentifier: + keyboard: {fileID: 1736746562} +--- !u!4 &2042955741 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2042955739} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.0021640456, y: 0.9333295, z: 0.7465725} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 diff --git a/Scenes/VRKeys Example.unity.meta b/Scenes/VRKeys Example.unity.meta new file mode 100644 index 0000000..de10b69 --- /dev/null +++ b/Scenes/VRKeys Example.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 05379290e234676468730808c451f2c3 +timeCreated: 1498675513 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts.meta b/Scripts.meta new file mode 100644 index 0000000..f538908 --- /dev/null +++ b/Scripts.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 970f34e9b581a1944ba7ac0d8cdd77cb +folderAsset: yes +timeCreated: 1498755549 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/BackspaceKey.cs b/Scripts/BackspaceKey.cs new file mode 100644 index 0000000..222b987 --- /dev/null +++ b/Scripts/BackspaceKey.cs @@ -0,0 +1,26 @@ +/** + * Copyright (c) 2017 The Campfire Union Inc - All Rights Reserved. + * + * Unauthorized copying of this file, via any medium, is strictly prohibited. + * This source code is proprietary and confidential. + * + * Email: info@campfireunion.com + * Website: https://www.campfireunion.com + */ + +using UnityEngine; +using System.Collections; + +namespace VRKeys { + /// + /// Backspace key. + /// + public class BackspaceKey : Key { + + public override void HandleTriggerEnter (Collider other) { + keyboard.Backspace (); + + ActivateFor (0.3f); + } + } +} \ No newline at end of file diff --git a/Scripts/BackspaceKey.cs.meta b/Scripts/BackspaceKey.cs.meta new file mode 100644 index 0000000..3f0b7e0 --- /dev/null +++ b/Scripts/BackspaceKey.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 997119c571c4011459abbee93fb57624 +timeCreated: 1498672213 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/ClearKey.cs b/Scripts/ClearKey.cs new file mode 100644 index 0000000..b4df017 --- /dev/null +++ b/Scripts/ClearKey.cs @@ -0,0 +1,26 @@ +/** + * Copyright (c) 2017 The Campfire Union Inc - All Rights Reserved. + * + * Unauthorized copying of this file, via any medium, is strictly prohibited. + * This source code is proprietary and confidential. + * + * Email: info@campfireunion.com + * Website: https://www.campfireunion.com + */ + +using UnityEngine; +using System.Collections; + +namespace VRKeys { + /// + /// Clears all the text. + /// + public class ClearKey : Key { + + public override void HandleTriggerEnter (Collider other) { + keyboard.SetText (""); + + ActivateFor (0.3f); + } + } +} \ No newline at end of file diff --git a/Scripts/ClearKey.cs.meta b/Scripts/ClearKey.cs.meta new file mode 100644 index 0000000..7b70c5c --- /dev/null +++ b/Scripts/ClearKey.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1f12f46cc65ce294b93bd101aec2768e +timeCreated: 1498703446 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/DemoScene.cs b/Scripts/DemoScene.cs new file mode 100644 index 0000000..e29417b --- /dev/null +++ b/Scripts/DemoScene.cs @@ -0,0 +1,71 @@ +using UnityEngine; +using System; +using System.Text.RegularExpressions; +using System.Collections; + +namespace VRKeys { + /// + /// Example use of VRKeys keyboard. + /// + public class DemoScene : MonoBehaviour { + + /// + /// Reference to the VRKeys keyboard. + /// + public Keyboard keyboard; + + /// + /// See the following for why this is so convoluted: + /// http://referencesource.microsoft.com/#System.ComponentModel.DataAnnotations/DataAnnotations/EmailAddressAttribute.cs,54 + /// http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx/ + /// + private Regex emailValidator = new Regex (@"^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$"); + + /// + /// Show the keyboard with a custom input message. + /// + private void OnEnable () { + keyboard.placeholderMessage = "Please enter your email address"; + keyboard.gameObject.SetActive (true); + } + + /// + /// Hide the validation message on update. Connect this to OnUpdate. + /// + public void HandleUpdate (string text) { + keyboard.HideValidationMessage (); + } + + /// + /// Validate the email and simulate a form submission. Connect this to OnSubmit. + /// + public void HandleSubmit (string text) { + if (! ValidateEmail (text)) { + keyboard.ShowValidationMessage ("Please enter a valid email address"); + return; + } + + StartCoroutine (SubmitEmail (text)); + } + + private IEnumerator SubmitEmail (string email) { + keyboard.ShowInfoMessage ("Sending lots of spam, please wait... ;)"); + + yield return new WaitForSeconds (2f); + + keyboard.ShowSuccessMessage ("Lots of spam sent to " + email); + + yield return new WaitForSeconds (2f); + + keyboard.HideSuccessMessage (); + keyboard.SetText (""); + } + + private bool ValidateEmail (string text) { + if (! emailValidator.IsMatch (text)) { + return false; + } + return true; + } + } +} \ No newline at end of file diff --git a/Scripts/DemoScene.cs.meta b/Scripts/DemoScene.cs.meta new file mode 100644 index 0000000..8f6b0f7 --- /dev/null +++ b/Scripts/DemoScene.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 7db0a10c5cf3a6b44b04ab1f97828fb2 +timeCreated: 1498758584 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/EnterKey.cs b/Scripts/EnterKey.cs new file mode 100644 index 0000000..72a90fd --- /dev/null +++ b/Scripts/EnterKey.cs @@ -0,0 +1,26 @@ +/** + * Copyright (c) 2017 The Campfire Union Inc - All Rights Reserved. + * + * Unauthorized copying of this file, via any medium, is strictly prohibited. + * This source code is proprietary and confidential. + * + * Email: info@campfireunion.com + * Website: https://www.campfireunion.com + */ + +using UnityEngine; +using System.Collections; + +namespace VRKeys { + /// + /// Enter key that calls Submit() on the keyboard. + /// + public class EnterKey : Key { + + public override void HandleTriggerEnter (Collider other) { + keyboard.Submit (); + + ActivateFor (0.3f); + } + } +} \ No newline at end of file diff --git a/Scripts/EnterKey.cs.meta b/Scripts/EnterKey.cs.meta new file mode 100644 index 0000000..9551098 --- /dev/null +++ b/Scripts/EnterKey.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1922cc2163cb28b439566f9b87241595 +timeCreated: 1498703552 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/Key.cs b/Scripts/Key.cs new file mode 100644 index 0000000..c8747d6 --- /dev/null +++ b/Scripts/Key.cs @@ -0,0 +1,147 @@ +/** + * Copyright (c) 2017 The Campfire Union Inc - All Rights Reserved. + * + * Unauthorized copying of this file, via any medium, is strictly prohibited. + * This source code is proprietary and confidential. + * + * Email: info@campfireunion.com + * Website: https://www.campfireunion.com + */ + +using UnityEngine; +using System.Collections; +using TMPro; + +namespace VRKeys { + /// + /// An individual key in the VR keyboard. + /// + public class Key : MonoBehaviour { + + public Keyboard keyboard; + + public TextMeshPro label; + + public Material inactiveMat; + + public Material activeMat; + + public Vector3 defaultPosition; + + public Vector3 pressedPosition; + + public Vector3 pressDirection = Vector3.down; + + public float pressMagnitude = 0.1f; + + public bool autoInit = false; + + private bool isPressing = false; + + protected MeshRenderer meshRenderer; + + private IEnumerator _ActivateFor; + + private IEnumerator _Press; + + private void Awake () { + meshRenderer = GetComponent (); + + if (autoInit) { + Init (transform.localPosition); + } + } + + /// + /// Initialize the key with a default position and pressed position. + /// + /// Default position. + public void Init (Vector3 defaultPos) { + defaultPosition = defaultPos; + pressedPosition = defaultPos + (Vector3.down * 0.01f); + } + + private void OnEnable () { + isPressing = false; + transform.localPosition = defaultPosition; + meshRenderer.material = inactiveMat; + } + + public void OnTriggerEnter (Collider other) { + if (isPressing) { + return; + } + + Mallet mallet = other.gameObject.GetComponent (); + if (mallet != null) { + if (mallet.hand == Mallet.MalletHand.Left && keyboard.leftPressing) { + return; + } else if (mallet.hand == Mallet.MalletHand.Right && keyboard.rightPressing) { + return; + } + + if (_Press != null && _Press.MoveNext ()) { + StopCoroutine (_Press); + } + _Press = Press (other, mallet); + StartCoroutine (_Press); + } + } + + private IEnumerator Press (Collider other, Mallet mallet) { + isPressing = true; + + if (mallet.hand == Mallet.MalletHand.Left) { + keyboard.leftPressing = true; + } else if (mallet.hand == Mallet.MalletHand.Right) { + keyboard.rightPressing = true; + } + + mallet.HandleTriggerEnter (this); + HandleTriggerEnter (other); + + transform.localPosition = pressedPosition; + + yield return new WaitForSeconds (0.15f); + + transform.localPosition = defaultPosition; + isPressing = false; + + if (mallet.hand == Mallet.MalletHand.Left) { + keyboard.leftPressing = false; + } else if (mallet.hand == Mallet.MalletHand.Right) { + keyboard.rightPressing = false; + } + } + + /// + /// Override this to handle trigger events. Only fires when + /// a downward trigger event occurred from the collider + /// matching keyboard.colliderName. + /// + /// Collider. + public virtual void HandleTriggerEnter (Collider other) { + // Override me! + } + + /// + /// Show the active material for the specified length of time. + /// + /// Seconds. + public void ActivateFor (float seconds) { + if (_ActivateFor != null && _ActivateFor.MoveNext ()) { + StopCoroutine (_ActivateFor); + } + _ActivateFor = DoActivateFor (seconds); + StartCoroutine (_ActivateFor); + } + + private IEnumerator DoActivateFor (float seconds) { + meshRenderer.material = activeMat; + + yield return new WaitForSeconds (seconds); + + meshRenderer.material = inactiveMat; + } + } +} \ No newline at end of file diff --git a/Scripts/Key.cs.meta b/Scripts/Key.cs.meta new file mode 100644 index 0000000..1f06f30 --- /dev/null +++ b/Scripts/Key.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 59c30fc8f2b1e5341a0c03ce05062773 +timeCreated: 1498669083 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/Keyboard.cs b/Scripts/Keyboard.cs new file mode 100644 index 0000000..0fba6a9 --- /dev/null +++ b/Scripts/Keyboard.cs @@ -0,0 +1,413 @@ +/** + * Copyright (c) 2017 The Campfire Union Inc - All Rights Reserved. + * + * Unauthorized copying of this file, via any medium, is strictly prohibited. + * This source code is proprietary and confidential. + * + * Email: info@campfireunion.com + * Website: https://www.campfireunion.com + */ + +using UnityEngine; +using UnityEngine.Events; +using System; +using System.Collections; +using TMPro; +using NewtonVR; + +namespace VRKeys { + /// + /// Keyboard input system for use with NewtonVR. To use, drop the VRKeys prefab + /// into your scene and activate as needed. Listen for OnUpdate and OnSubmit events, + /// and set the text via SetText(string). + /// + /// Input validation can be done during OnUpdate and OnSubmit events by calling + /// ShowValidationMessage(msg) and HideValidationMessage(). The keyboard does not + /// automatically hide OnSubmit, but rather you should call SetActive(false) when + /// you have finished validating the submitted text. + /// + public class Keyboard : MonoBehaviour { + + public Vector3 positionRelativeToUser = new Vector3 (0f, 1.35f, 2f); + + [Space (10)] + + public TextMeshProUGUI placeholder; + + public string placeholderMessage = "Tap the keys to begin typing"; + + public TextMeshProUGUI displayText; + + public GameObject validationNotice; + + public TextMeshProUGUI validationMessage; + + public GameObject infoNotice; + + public TextMeshProUGUI infoMessage; + + public GameObject successNotice; + + public TextMeshProUGUI successMessage; + + [Space (10)] + + public Color displayTextColor = Color.black; + + public Color caretColor = Color.gray; + + [Space (10)] + + public GameObject keyPrefab; + + public Transform keysParent; + + public float keyWidth = 0.16f; + + public float keyHeight = 0.16f; + + [Space (10)] + + public string text = ""; + + [Space (10)] + + public GameObject leftMallet; + + public GameObject rightMallet; + + private string[] row1 = { "`", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-", "=" }; + + private string[] row1Shift = { "~", "!", "@", "#", "$", "%", "^", "&", "*", "(", ")", "_", "+" }; + + private string[] row2 = { "q", "w", "e", "r", "t", "y", "u", "i", "o", "p", "[", "]", "\\" }; + + private string[] row2Shift = { "Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P", "{", "}", "|" }; + + private string[] row3 = { "a", "s", "d", "f", "g", "h", "j", "k", "l", ";", "'" }; + + private string[] row3Shift = { "A", "S", "D", "F", "G", "H", "J", "K", "L", ":", "\"" }; + + private string[] row4 = { "z", "x", "c", "v", "b", "n", "m", ",", ".", "?" }; + + private string[] row4Shift = { "Z", "X", "C", "V", "B", "N", "M", "<", ">", "/" }; + + [Space (10)] + + public float row1Offset = 0.16f; + + public float row2Offset = 0.08f; + + public float row3Offset = 0f; + + public float row4Offset = -0.08f; + + [Space (10)] + + public bool leftPressing = false; + + public bool rightPressing = false; + + [Serializable] + public class KeyboardUpdateEvent : UnityEvent { } + + [Serializable] + public class KeyboardSubmitEvent : UnityEvent { } + + [Space (10)] + + /// + /// Listen for events whenever the text changes. + /// + public KeyboardUpdateEvent OnUpdate = new KeyboardUpdateEvent (); + + /// + /// Listen for events when Submit() is called. + /// + public KeyboardSubmitEvent OnSubmit = new KeyboardSubmitEvent (); + + private LetterKey[] keys; + + private bool shifted = false; + + // Use this for initialization + void Start () { + StartCoroutine (SetupKeys ()); + } + + private void OnEnable () { + validationNotice.SetActive (false); + infoNotice.SetActive (false); + successNotice.SetActive (false); + + UpdateDisplayText (); + PlaceholderVisibility (); + + StartCoroutine (PositionAndAttachMallets ()); + } + + IEnumerator PositionAndAttachMallets () { + yield return new WaitUntil (() => NVRPlayer.Instances.Count > 0); + + transform.position = NVRPlayer.Instance.gameObject.transform.position + positionRelativeToUser; + //TODO: Account for rotation of player + + leftMallet.transform.SetParent (NVRPlayer.Instance.LeftHand.transform); + leftMallet.transform.localPosition = Vector3.zero; + leftMallet.transform.localRotation = Quaternion.Euler (90f, 0f, 0f); + leftMallet.SetActive (true); + + rightMallet.transform.SetParent (NVRPlayer.Instance.RightHand.transform); + rightMallet.transform.localPosition = Vector3.zero; + rightMallet.transform.localRotation = Quaternion.Euler (90f, 0f, 0f); + rightMallet.SetActive (true); + } + + private void OnDisable () { + if (leftMallet != null) { + leftMallet.transform.SetParent (null); + leftMallet.SetActive (false); + } + + if (rightMallet != null) { + rightMallet.transform.SetParent (null); + rightMallet.SetActive (false); + } + } + + /// + /// Set the text value all at once. + /// + /// New text value. + public void SetText (string txt) { + text = txt; + + UpdateDisplayText (); + PlaceholderVisibility (); + + OnUpdate.Invoke (text); + } + + /// + /// Add a character to the input text. + /// + /// Character. + public void AddCharacter (string character) { + text += character; + + UpdateDisplayText (); + PlaceholderVisibility (); + + OnUpdate.Invoke (text); + } + + /// + /// Toggle whether the characters are shifted (caps). + /// + public bool ToggleShift () { + if (keys == null) { + return false; + } + + shifted = !shifted; + + foreach (LetterKey key in keys) { + key.shifted = shifted; + } + + return shifted; + } + + /// + /// Backspace one character. + /// + public void Backspace () { + if (text.Length > 0) { + text = text.Substring (0, text.Length - 1); + } + + UpdateDisplayText (); + PlaceholderVisibility (); + + OnUpdate.Invoke (text); + } + + /// + /// Submit and close the keyboard. + /// + public void Submit () { + OnSubmit.Invoke (text); + } + + /// + /// Show the specified validation notice. + /// + /// Message to show. + public void ShowValidationMessage (string message) { + validationMessage.text = message; + validationNotice.SetActive (true); + infoNotice.SetActive (false); + successNotice.SetActive (false); + } + + /// + /// Show the specified input notice. + /// + /// Message to show. + public void ShowInfoMessage (string message) { + infoMessage.text = message; + validationNotice.SetActive (false); + infoNotice.SetActive (true); + successNotice.SetActive (false); + } + + /// + /// Show the specified success notice. + /// + /// Message to show. + public void ShowSuccessMessage (string message) { + successMessage.text = message; + validationNotice.SetActive (false); + infoNotice.SetActive (false); + successNotice.SetActive (true); + } + + /// + /// Hide the validation notice. + /// + public void HideValidationMessage () { + validationNotice.SetActive (false); + } + + /// + /// Hide the info notice. + /// + public void HideInfoMessage () { + infoNotice.SetActive (false); + } + + /// + /// Hide the success notice. + /// + public void HideSuccessMessage () { + successNotice.SetActive (false); + } + + /// + /// Setup the keys. + /// + IEnumerator SetupKeys () { + keys = new LetterKey[row1.Length + row2.Length + row3.Length + row4.Length]; + int keyCount = 0; + + // Numbers row + for (int i = 0; i < row1.Length; i++) { + GameObject obj = (GameObject) Instantiate (keyPrefab, keysParent); + obj.transform.localPosition += (Vector3.right * ((keyWidth * i) - row1Offset)); + + LetterKey key = obj.GetComponent (); + key.character = row1[i]; + key.shiftedChar = row1Shift[i]; + key.shifted = false; + key.Init (obj.transform.localPosition); + + obj.name = "Key: " + row1[i]; + obj.SetActive (true); + + keys[keyCount] = key; + keyCount++; + + yield return null; + } + + // QWERTY row + for (int i = 0; i < row2.Length; i++) { + GameObject obj = (GameObject) Instantiate (keyPrefab, keysParent); + obj.transform.localPosition += (Vector3.right * ((keyWidth * i) - row2Offset)); + obj.transform.localPosition += (Vector3.back * keyHeight * 1); + + LetterKey key = obj.GetComponent (); + key.character = row2[i]; + key.shiftedChar = row2Shift[i]; + key.shifted = false; + key.Init (obj.transform.localPosition); + + obj.name = "Key: " + row2[i]; + obj.SetActive (true); + + keys[keyCount] = key; + keyCount++; + + yield return null; + } + + // ASDF row + for (int i = 0; i < row3.Length; i++) { + GameObject obj = (GameObject) Instantiate (keyPrefab, keysParent); + obj.transform.localPosition += (Vector3.right * ((keyWidth * i) - row3Offset)); + obj.transform.localPosition += (Vector3.back * keyHeight * 2); + + LetterKey key = obj.GetComponent (); + key.character = row3[i]; + key.shiftedChar = row3Shift[i]; + key.shifted = false; + key.Init (obj.transform.localPosition); + + obj.name = "Key: " + row3[i]; + obj.SetActive (true); + + keys[keyCount] = key; + keyCount++; + + yield return null; + } + + // ZXCV row + for (int i = 0; i < row4.Length; i++) { + GameObject obj = (GameObject) Instantiate (keyPrefab, keysParent); + obj.transform.localPosition += (Vector3.right * ((keyWidth * i) - row4Offset)); + obj.transform.localPosition += (Vector3.back * keyHeight * 3); + + LetterKey key = obj.GetComponent (); + key.character = row4[i]; + key.shiftedChar = row4Shift[i]; + key.shifted = false; + key.Init (obj.transform.localPosition); + + obj.name = "Key: " + row4[i]; + obj.SetActive (true); + + keys[keyCount] = key; + keyCount++; + + yield return null; + } + } + + /// + /// Update the display text, including trailing caret. + /// + private void UpdateDisplayText () { + string display = (text.Length > 37) ? text.Substring (text.Length - 37) : text; + + displayText.text = string.Format ( + "<#{0}>{1}<#{2}>_", + ColorUtility.ToHtmlStringRGB (displayTextColor), + display, + ColorUtility.ToHtmlStringRGB (caretColor) + ); + } + + /// + /// Show/hide placeholder text. + /// + private void PlaceholderVisibility () { + if (text == "") { + placeholder.text = placeholderMessage; + placeholder.gameObject.SetActive (true); + } else { + placeholder.gameObject.SetActive (false); + } + } + } +} \ No newline at end of file diff --git a/Scripts/Keyboard.cs.meta b/Scripts/Keyboard.cs.meta new file mode 100644 index 0000000..9e81ec8 --- /dev/null +++ b/Scripts/Keyboard.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: fb08f495a9bc93a46b97e507bf9be1b3 +timeCreated: 1498666613 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/LetterKey.cs b/Scripts/LetterKey.cs new file mode 100644 index 0000000..8a17956 --- /dev/null +++ b/Scripts/LetterKey.cs @@ -0,0 +1,47 @@ +/** + * Copyright (c) 2017 The Campfire Union Inc - All Rights Reserved. + * + * Unauthorized copying of this file, via any medium, is strictly prohibited. + * This source code is proprietary and confidential. + * + * Email: info@campfireunion.com + * Website: https://www.campfireunion.com + */ + +using UnityEngine; +using System.Collections; +using TMPro; + +namespace VRKeys { + /// + /// An individual letter key. + /// + public class LetterKey : Key { + + public TextMeshPro shiftedLabel; + + public string character = ""; + + public string shiftedChar = ""; + + private bool _shifted = false; + public bool shifted { + get { return _shifted; } + set { + _shifted = value; + label.text = _shifted ? shiftedChar : character; + shiftedLabel.text = _shifted ? character : shiftedChar; + } + } + + public string GetCharacter () { + return _shifted ? shiftedChar : character; + } + + public override void HandleTriggerEnter (Collider other) { + keyboard.AddCharacter (GetCharacter ()); + + ActivateFor (0.3f); + } + } +} \ No newline at end of file diff --git a/Scripts/LetterKey.cs.meta b/Scripts/LetterKey.cs.meta new file mode 100644 index 0000000..119a3f9 --- /dev/null +++ b/Scripts/LetterKey.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 20da633ea6ddf744bb835e49bbf6b2d3 +timeCreated: 1498683586 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/Mallet.cs b/Scripts/Mallet.cs new file mode 100644 index 0000000..2e409bb --- /dev/null +++ b/Scripts/Mallet.cs @@ -0,0 +1,51 @@ +/** + * Copyright (c) 2017 The Campfire Union Inc - All Rights Reserved. + * + * Unauthorized copying of this file, via any medium, is strictly prohibited. + * This source code is proprietary and confidential. + * + * Email: info@campfireunion.com + * Website: https://www.campfireunion.com + */ + +using UnityEngine; +using System.Collections; +using NewtonVR; + +namespace VRKeys { + /// + /// Attaches to the end of the mallet that collides with the keys. + /// + public class Mallet : MonoBehaviour { + + public AudioClip clipToPlay; + + public enum MalletHand { + Left, + Right + } + + public MalletHand hand; + + private AudioSource audioSource; + + private void Awake () { + audioSource = GetComponent (); + } + + /// + /// Called by the key that hit it if the collision was successful. + /// + /// Key. + public void HandleTriggerEnter (Key key) { + audioSource.PlayOneShot (clipToPlay); + + if (transform.parent.transform.parent != null) { + NVRHand hand = transform.parent.transform.parent.gameObject.GetComponent (); + if (hand != null) { + hand.TriggerHapticPulse (800, NVRButtons.Grip); + } + } + } + } +} \ No newline at end of file diff --git a/Scripts/Mallet.cs.meta b/Scripts/Mallet.cs.meta new file mode 100644 index 0000000..70cff32 --- /dev/null +++ b/Scripts/Mallet.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ae39fdb11b3bc8848bec2576ceaad917 +timeCreated: 1498685793 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/ShiftKey.cs b/Scripts/ShiftKey.cs new file mode 100644 index 0000000..1889628 --- /dev/null +++ b/Scripts/ShiftKey.cs @@ -0,0 +1,26 @@ +/** + * Copyright (c) 2017 The Campfire Union Inc - All Rights Reserved. + * + * Unauthorized copying of this file, via any medium, is strictly prohibited. + * This source code is proprietary and confidential. + * + * Email: info@campfireunion.com + * Website: https://www.campfireunion.com + */ + +using UnityEngine; +using System.Collections; + +namespace VRKeys { + /// + /// Shift key toggles between lower and upper case and symbols. + /// + public class ShiftKey : Key { + + public override void HandleTriggerEnter (Collider other) { + bool shifted = keyboard.ToggleShift (); + + meshRenderer.material = shifted ? activeMat : inactiveMat; + } + } +} \ No newline at end of file diff --git a/Scripts/ShiftKey.cs.meta b/Scripts/ShiftKey.cs.meta new file mode 100644 index 0000000..d40aa71 --- /dev/null +++ b/Scripts/ShiftKey.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 92aea2c43457e7e4f88aba041c2b1203 +timeCreated: 1498672204 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/SpaceKey.cs b/Scripts/SpaceKey.cs new file mode 100644 index 0000000..d5e2229 --- /dev/null +++ b/Scripts/SpaceKey.cs @@ -0,0 +1,26 @@ +/** + * Copyright (c) 2017 The Campfire Union Inc - All Rights Reserved. + * + * Unauthorized copying of this file, via any medium, is strictly prohibited. + * This source code is proprietary and confidential. + * + * Email: info@campfireunion.com + * Website: https://www.campfireunion.com + */ + +using UnityEngine; +using System.Collections; + +namespace VRKeys { + /// + /// Space key. + /// + public class SpaceKey : Key { + + public override void HandleTriggerEnter (Collider other) { + keyboard.AddCharacter (" "); + + ActivateFor (0.3f); + } + } +} \ No newline at end of file diff --git a/Scripts/SpaceKey.cs.meta b/Scripts/SpaceKey.cs.meta new file mode 100644 index 0000000..0e0d8fd --- /dev/null +++ b/Scripts/SpaceKey.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e5bbaf25e7301ed44b25199adaa35026 +timeCreated: 1498672230 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRKeys.unitypackage b/VRKeys.unitypackage new file mode 100644 index 0000000000000000000000000000000000000000..184b0dd0ee76b1eed86a4747d562014805f0622b GIT binary patch literal 56556 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 F1ON>%ahU)B literal 0 HcmV?d00001 diff --git a/VRKeys.unitypackage.meta b/VRKeys.unitypackage.meta new file mode 100644 index 0000000..b9ced1c --- /dev/null +++ b/VRKeys.unitypackage.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3b18fdc7605fe6741add1749d958bb99 +timeCreated: 1498761349 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: