Browse Source

修复bug

“hujiajun” 6 months ago
parent
commit
7f90b1ed41
100 changed files with 33831 additions and 30 deletions
  1. BIN
      AssetBundles/WebGL/1
  2. 38 0
      AssetBundles/WebGL/1.manifest
  3. BIN
      AssetBundles/WebGL/2
  4. 58 0
      AssetBundles/WebGL/2.manifest
  5. BIN
      AssetBundles/WebGL/3
  6. 62 0
      AssetBundles/WebGL/3.manifest
  7. BIN
      AssetBundles/WebGL/WebGL
  8. 8 2
      AssetBundles/WebGL/WebGL.manifest
  9. BIN
      AssetBundles/WebGL/task
  10. 0 26
      AssetBundles/WebGL/task.manifest
  11. 111 0
      Assets/1.prefab
  12. 7 0
      Assets/1.prefab.meta
  13. 40 0
      Assets/1.renderTexture
  14. 8 0
      Assets/1.renderTexture.meta
  15. 473 0
      Assets/2.prefab
  16. 7 0
      Assets/2.prefab.meta
  17. 40 0
      Assets/2.renderTexture
  18. 8 0
      Assets/2.renderTexture.meta
  19. 491 0
      Assets/3.prefab
  20. 7 0
      Assets/3.prefab.meta
  21. 40 0
      Assets/3.renderTexture
  22. 8 0
      Assets/3.renderTexture.meta
  23. 8 0
      Assets/Editor.meta
  24. 245 0
      Assets/Editor/china.txt
  25. 7 0
      Assets/Editor/china.txt.meta
  26. 25053 0
      Assets/Editor/font SDF.asset
  27. 8 0
      Assets/Editor/font SDF.asset.meta
  28. 0 0
      Assets/Editor/font.TTF
  29. 0 0
      Assets/Editor/font.TTF.meta
  30. 8 0
      Assets/MarksAssets.meta
  31. 8 0
      Assets/MarksAssets/VideoPlayerWebGL.meta
  32. 8 0
      Assets/MarksAssets/VideoPlayerWebGL/Example.meta
  33. 8 0
      Assets/MarksAssets/VideoPlayerWebGL/Example/Scenes.meta
  34. 1973 0
      Assets/MarksAssets/VideoPlayerWebGL/Example/Scenes/VideoPlayerWebGLSampleScene.unity
  35. 1 1
      Assets/MarksAssets/VideoPlayerWebGL/Example/Scenes/VideoPlayerWebGLSampleScene.unity.meta
  36. 8 0
      Assets/MarksAssets/VideoPlayerWebGL/Example/Scripts.meta
  37. 108 0
      Assets/MarksAssets/VideoPlayerWebGL/Example/Scripts/SpatialAudioCalculatorVideoPlayerWebGL.cs
  38. 11 0
      Assets/MarksAssets/VideoPlayerWebGL/Example/Scripts/SpatialAudioCalculatorVideoPlayerWebGL.cs.meta
  39. 8 0
      Assets/MarksAssets/VideoPlayerWebGL/Materials.meta
  40. 77 0
      Assets/MarksAssets/VideoPlayerWebGL/Materials/VideoMaterial.mat
  41. 8 0
      Assets/MarksAssets/VideoPlayerWebGL/Materials/VideoMaterial.mat.meta
  42. 77 0
      Assets/MarksAssets/VideoPlayerWebGL/Materials/VideoMaterial2.mat
  43. 8 0
      Assets/MarksAssets/VideoPlayerWebGL/Materials/VideoMaterial2.mat.meta
  44. 8 0
      Assets/MarksAssets/VideoPlayerWebGL/Plugins.meta
  45. 351 0
      Assets/MarksAssets/VideoPlayerWebGL/Plugins/VideoPlayerWebGL.jslib
  46. 32 0
      Assets/MarksAssets/VideoPlayerWebGL/Plugins/VideoPlayerWebGL.jslib.meta
  47. 67 0
      Assets/MarksAssets/VideoPlayerWebGL/Plugins/VideoPlayerWebGLUnityFunctions.c
  48. 27 0
      Assets/MarksAssets/VideoPlayerWebGL/Plugins/VideoPlayerWebGLUnityFunctions.c.meta
  49. 127 0
      Assets/MarksAssets/VideoPlayerWebGL/Plugins/VideoPlayerWebGLUnityFunctions.jspre
  50. 32 0
      Assets/MarksAssets/VideoPlayerWebGL/Plugins/VideoPlayerWebGLUnityFunctions.jspre.meta
  51. 8 0
      Assets/MarksAssets/VideoPlayerWebGL/Scripts.meta
  52. 418 0
      Assets/MarksAssets/VideoPlayerWebGL/Scripts/VideoPlayerWebGL.cs
  53. 11 0
      Assets/MarksAssets/VideoPlayerWebGL/Scripts/VideoPlayerWebGL.cs.meta
  54. 201 0
      Assets/MarksAssets/VideoPlayerWebGL/Scripts/VideoPlayerWebGL_events.cs
  55. 11 0
      Assets/MarksAssets/VideoPlayerWebGL/Scripts/VideoPlayerWebGL_events.cs.meta
  56. 8 0
      Assets/MarksAssets/VideoPlayerWebGL/Textures.meta
  57. 40 0
      Assets/MarksAssets/VideoPlayerWebGL/Textures/VideoMaterialTexture.renderTexture
  58. 8 0
      Assets/MarksAssets/VideoPlayerWebGL/Textures/VideoMaterialTexture.renderTexture.meta
  59. 40 0
      Assets/MarksAssets/VideoPlayerWebGL/Textures/VideoMaterialTexture2.renderTexture
  60. 8 0
      Assets/MarksAssets/VideoPlayerWebGL/Textures/VideoMaterialTexture2.renderTexture.meta
  61. BIN
      Assets/MarksAssets/VideoPlayerWebGL/readme.pdf
  62. 1 1
      Assets/MarksAssets/VideoPlayerWebGL/readme.pdf.meta
  63. 8 0
      Assets/NaughtyAttributes.meta
  64. 24 0
      Assets/NaughtyAttributes/README.html
  65. 7 0
      Assets/NaughtyAttributes/README.html.meta
  66. 8 0
      Assets/NaughtyAttributes/Samples.meta
  67. 10 0
      Assets/NaughtyAttributes/Samples/DemoScene.meta
  68. 2415 0
      Assets/NaughtyAttributes/Samples/DemoScene/DemoScene.unity
  69. 9 0
      Assets/NaughtyAttributes/Samples/DemoScene/DemoScene.unity.meta
  70. 63 0
      Assets/NaughtyAttributes/Samples/DemoScene/DemoSceneSettings.lighting
  71. 8 0
      Assets/NaughtyAttributes/Samples/DemoScene/DemoSceneSettings.lighting.meta
  72. 10 0
      Assets/NaughtyAttributes/Samples/DemoScene/TestAssets.meta
  73. 93 0
      Assets/NaughtyAttributes/Samples/DemoScene/TestAssets/Cube.prefab
  74. 10 0
      Assets/NaughtyAttributes/Samples/DemoScene/TestAssets/Cube.prefab.meta
  75. 169 0
      Assets/NaughtyAttributes/Samples/DemoScene/TestAssets/DummyAnimation.anim
  76. 8 0
      Assets/NaughtyAttributes/Samples/DemoScene/TestAssets/DummyAnimation.anim.meta
  77. 120 0
      Assets/NaughtyAttributes/Samples/DemoScene/TestAssets/DummyAnimatorController.controller
  78. 8 0
      Assets/NaughtyAttributes/Samples/DemoScene/TestAssets/DummyAnimatorController.controller.meta
  79. 17 0
      Assets/NaughtyAttributes/Samples/DemoScene/TestAssets/NaughtyScriptableObject.asset
  80. 10 0
      Assets/NaughtyAttributes/Samples/DemoScene/TestAssets/NaughtyScriptableObject.asset.meta
  81. 17 0
      Assets/NaughtyAttributes/Samples/DemoScene/TestAssets/TestScriptableObjectA.asset
  82. 8 0
      Assets/NaughtyAttributes/Samples/DemoScene/TestAssets/TestScriptableObjectA.asset.meta
  83. 15 0
      Assets/NaughtyAttributes/Samples/DemoScene/TestAssets/TestScriptableObjectB.asset
  84. 8 0
      Assets/NaughtyAttributes/Samples/DemoScene/TestAssets/TestScriptableObjectB.asset.meta
  85. BIN
      Assets/NaughtyAttributes/Samples/DemoScene/TestAssets/icon-github.png
  86. 127 0
      Assets/NaughtyAttributes/Samples/DemoScene/TestAssets/icon-github.png.meta
  87. 10 0
      Assets/NaughtyAttributes/Scripts.meta
  88. 10 0
      Assets/NaughtyAttributes/Scripts/Core.meta
  89. 8 0
      Assets/NaughtyAttributes/Scripts/Core/DrawerAttributes.meta
  90. 9 0
      Assets/NaughtyAttributes/Scripts/Core/DrawerAttributes/AllowNestingAttribute.cs
  91. 11 0
      Assets/NaughtyAttributes/Scripts/Core/DrawerAttributes/AllowNestingAttribute.cs.meta
  92. 24 0
      Assets/NaughtyAttributes/Scripts/Core/DrawerAttributes/AnimatorParamAttribute.cs
  93. 11 0
      Assets/NaughtyAttributes/Scripts/Core/DrawerAttributes/AnimatorParamAttribute.cs.meta
  94. 30 0
      Assets/NaughtyAttributes/Scripts/Core/DrawerAttributes/CurveRangeAttribute.cs
  95. 11 0
      Assets/NaughtyAttributes/Scripts/Core/DrawerAttributes/CurveRangeAttribute.cs.meta
  96. 11 0
      Assets/NaughtyAttributes/Scripts/Core/DrawerAttributes/DrawerAttribute.cs
  97. 11 0
      Assets/NaughtyAttributes/Scripts/Core/DrawerAttributes/DrawerAttribute.cs.meta
  98. 57 0
      Assets/NaughtyAttributes/Scripts/Core/DrawerAttributes/DropdownAttribute.cs
  99. 11 0
      Assets/NaughtyAttributes/Scripts/Core/DrawerAttributes/DropdownAttribute.cs.meta
  100. 9 0
      Assets/NaughtyAttributes/Scripts/Core/DrawerAttributes/EnumFlagsAttribute.cs

BIN
AssetBundles/WebGL/1


+ 38 - 0
AssetBundles/WebGL/1.manifest

@@ -0,0 +1,38 @@
+ManifestFileVersion: 0
+CRC: 3264508318
+Hashes:
+  AssetFileHash:
+    serializedVersion: 2
+    Hash: 8090a2193571f6a3e9e63ffb0ca7d5ba
+  TypeTreeHash:
+    serializedVersion: 2
+    Hash: bce279465f9200d802eb3d730e760c60
+  IncrementalBuildHash:
+    serializedVersion: 2
+    Hash: 8090a2193571f6a3e9e63ffb0ca7d5ba
+HashAppended: 0
+ClassTypes:
+- Class: 1
+  Script: {instanceID: 0}
+- Class: 84
+  Script: {instanceID: 0}
+- Class: 114
+  Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
+- Class: 115
+  Script: {instanceID: 0}
+- Class: 222
+  Script: {instanceID: 0}
+- Class: 224
+  Script: {instanceID: 0}
+- Class: 328
+  Script: {instanceID: 0}
+- Class: 329
+  Script: {instanceID: 0}
+SerializeReferenceClassIdentifiers:
+- AssemblyName: UnityEngine.CoreModule
+  ClassName: UnityEngine.Events.PersistentCallGroup
+- AssemblyName: UnityEngine.UI
+  ClassName: UnityEngine.UI.MaskableGraphic/CullStateChangedEvent
+Assets:
+- Assets/1.prefab
+Dependencies: []

BIN
AssetBundles/WebGL/2


+ 58 - 0
AssetBundles/WebGL/2.manifest

@@ -0,0 +1,58 @@
+ManifestFileVersion: 0
+CRC: 3683972083
+Hashes:
+  AssetFileHash:
+    serializedVersion: 2
+    Hash: d4dea5ebd2a8ac33ef354faf357539da
+  TypeTreeHash:
+    serializedVersion: 2
+    Hash: 772f91749ab27c8fb21cd399bac2929e
+  IncrementalBuildHash:
+    serializedVersion: 2
+    Hash: d4dea5ebd2a8ac33ef354faf357539da
+HashAppended: 0
+ClassTypes:
+- Class: 1
+  Script: {instanceID: 0}
+- Class: 82
+  Script: {instanceID: 0}
+- Class: 84
+  Script: {instanceID: 0}
+- Class: 114
+  Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
+- Class: 114
+  Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+- Class: 114
+  Script: {fileID: 11500000, guid: 0a3c88e8fefb60d4c8b0ca8fbee9472a, type: 3}
+- Class: 115
+  Script: {instanceID: 0}
+- Class: 222
+  Script: {instanceID: 0}
+- Class: 224
+  Script: {instanceID: 0}
+- Class: 328
+  Script: {instanceID: 0}
+- Class: 329
+  Script: {instanceID: 0}
+SerializeReferenceClassIdentifiers:
+- AssemblyName: UnityEngine.CoreModule
+  ClassName: UnityEngine.Events.ArgumentCache
+- AssemblyName: UnityEngine.CoreModule
+  ClassName: UnityEngine.Events.PersistentCallGroup
+- AssemblyName: UnityEngine.CoreModule
+  ClassName: UnityEngine.Events.PersistentListenerMode
+- AssemblyName: UnityEngine.UI
+  ClassName: UnityEngine.UI.AnimationTriggers
+- AssemblyName: UnityEngine.UI
+  ClassName: UnityEngine.UI.Button/ButtonClickedEvent
+- AssemblyName: UnityEngine.UI
+  ClassName: UnityEngine.UI.ColorBlock
+- AssemblyName: UnityEngine.UI
+  ClassName: UnityEngine.UI.MaskableGraphic/CullStateChangedEvent
+- AssemblyName: UnityEngine.UI
+  ClassName: UnityEngine.UI.Navigation
+- AssemblyName: UnityEngine.UI
+  ClassName: UnityEngine.UI.SpriteState
+Assets:
+- Assets/2.prefab
+Dependencies: []

BIN
AssetBundles/WebGL/3


+ 62 - 0
AssetBundles/WebGL/3.manifest

@@ -0,0 +1,62 @@
+ManifestFileVersion: 0
+CRC: 4105863166
+Hashes:
+  AssetFileHash:
+    serializedVersion: 2
+    Hash: 1a2c95d9ae0599eff329e712a4e7aac5
+  TypeTreeHash:
+    serializedVersion: 2
+    Hash: bccded592e6db44d4b420026459feccf
+  IncrementalBuildHash:
+    serializedVersion: 2
+    Hash: 1a2c95d9ae0599eff329e712a4e7aac5
+HashAppended: 0
+ClassTypes:
+- Class: 1
+  Script: {instanceID: 0}
+- Class: 82
+  Script: {instanceID: 0}
+- Class: 84
+  Script: {instanceID: 0}
+- Class: 114
+  Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
+- Class: 114
+  Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+- Class: 114
+  Script: {fileID: 11500000, guid: 0a3c88e8fefb60d4c8b0ca8fbee9472a, type: 3}
+- Class: 114
+  Script: {fileID: 11500000, guid: 8c461f884d6184d44ae8e4e751f02eda, type: 3}
+- Class: 114
+  Script: {fileID: 11500000, guid: 0f17cdc186456a4469a139a104d2ca72, type: 3}
+- Class: 115
+  Script: {instanceID: 0}
+- Class: 222
+  Script: {instanceID: 0}
+- Class: 224
+  Script: {instanceID: 0}
+- Class: 328
+  Script: {instanceID: 0}
+- Class: 329
+  Script: {instanceID: 0}
+SerializeReferenceClassIdentifiers:
+- AssemblyName: UnityEngine.CoreModule
+  ClassName: UnityEngine.Events.ArgumentCache
+- AssemblyName: UnityEngine.CoreModule
+  ClassName: UnityEngine.Events.PersistentCallGroup
+- AssemblyName: UnityEngine.CoreModule
+  ClassName: UnityEngine.Events.PersistentListenerMode
+- AssemblyName: UnityEngine.UI
+  ClassName: UnityEngine.UI.AnimationTriggers
+- AssemblyName: UnityEngine.UI
+  ClassName: UnityEngine.UI.Button/ButtonClickedEvent
+- AssemblyName: UnityEngine.UI
+  ClassName: UnityEngine.UI.ColorBlock
+- AssemblyName: UnityEngine.UI
+  ClassName: UnityEngine.UI.MaskableGraphic/CullStateChangedEvent
+- AssemblyName: UnityEngine.UI
+  ClassName: UnityEngine.UI.Navigation
+- AssemblyName: UnityEngine.UI
+  ClassName: UnityEngine.UI.SpriteState
+Assets:
+- Assets/3.prefab
+Dependencies: []

BIN
AssetBundles/WebGL/WebGL


+ 8 - 2
AssetBundles/WebGL/WebGL.manifest

@@ -1,7 +1,13 @@
 ManifestFileVersion: 0
-CRC: 859195355
+CRC: 4102668529
 AssetBundleManifest:
   AssetBundleInfos:
     Info_0:
-      Name: task
+      Name: 1
+      Dependencies: {}
+    Info_1:
+      Name: 2
+      Dependencies: {}
+    Info_2:
+      Name: 3
       Dependencies: {}

BIN
AssetBundles/WebGL/task


+ 0 - 26
AssetBundles/WebGL/task.manifest

@@ -1,26 +0,0 @@
-ManifestFileVersion: 0
-CRC: 1144283514
-Hashes:
-  AssetFileHash:
-    serializedVersion: 2
-    Hash: 015eef3f5b1d48744d905f98cca5c6a2
-  TypeTreeHash:
-    serializedVersion: 2
-    Hash: 9fee1caa82f2441e538bb3386c473710
-  IncrementalBuildHash:
-    serializedVersion: 2
-    Hash: 015eef3f5b1d48744d905f98cca5c6a2
-HashAppended: 0
-ClassTypes:
-- Class: 114
-  Script: {fileID: 11500000, guid: bcf56db6b7fbf495fbe8538564625c71, type: 3}
-- Class: 115
-  Script: {instanceID: 0}
-SerializeReferenceClassIdentifiers:
-- AssemblyName: Assembly-CSharp
-  ClassName: TaskConfig/windowItemGameObject/TaskItem
-- AssemblyName: Assembly-CSharp
-  ClassName: TaskConfig/windowItemGameObject/showdaoju
-Assets:
-- Assets/task.asset
-Dependencies: []

+ 111 - 0
Assets/1.prefab

@@ -0,0 +1,111 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &7483797168103885986
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7564524361231356853}
+  - component: {fileID: 2028877837891071430}
+  - component: {fileID: 829385388718987029}
+  - component: {fileID: 2485184486325817584}
+  m_Layer: 5
+  m_Name: 1
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7564524361231356853
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7483797168103885986}
+  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_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 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!328 &2028877837891071430
+VideoPlayer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7483797168103885986}
+  m_Enabled: 1
+  m_VideoClip: {fileID: 32900000, guid: c8599ea7b331b46fda7cb89938bd466d, type: 3}
+  m_TargetCameraAlpha: 1
+  m_TargetCamera3DLayout: 0
+  m_TargetCamera: {fileID: 0}
+  m_TargetTexture: {fileID: 8400000, guid: d64a4695ab9cf406f80a8c1eb67c5d27, type: 2}
+  m_TimeReference: 0
+  m_TargetMaterialRenderer: {fileID: 0}
+  m_TargetMaterialProperty: <noninit>
+  m_RenderMode: 2
+  m_AspectRatio: 2
+  m_DataSource: 0
+  m_TimeUpdateMode: 2
+  m_PlaybackSpeed: 1
+  m_AudioOutputMode: 0
+  m_TargetAudioSources:
+  - {fileID: 0}
+  m_DirectAudioVolumes:
+  - 1
+  m_Url: 
+  m_EnabledAudioTracks: 01
+  m_DirectAudioMutes: 01
+  m_ControlledAudioTrackCount: 1
+  m_PlayOnAwake: 1
+  m_SkipOnDrop: 1
+  m_Looping: 0
+  m_WaitForFirstFrame: 1
+  m_FrameReadyEventEnabled: 0
+  m_VideoShaders: []
+--- !u!222 &829385388718987029
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7483797168103885986}
+  m_CullTransparentMesh: 1
+--- !u!114 &2485184486325817584
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7483797168103885986}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Texture: {fileID: 8400000, guid: d64a4695ab9cf406f80a8c1eb67c5d27, type: 2}
+  m_UVRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1

+ 7 - 0
Assets/1.prefab.meta

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

+ 40 - 0
Assets/1.renderTexture

@@ -0,0 +1,40 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!84 &8400000
+RenderTexture:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: 1
+  m_ImageContentsHash:
+    serializedVersion: 2
+    Hash: 00000000000000000000000000000000
+  m_ForcedFallbackFormat: 4
+  m_DownscaleFallback: 0
+  m_IsAlphaChannelOptional: 0
+  serializedVersion: 5
+  m_Width: 1080
+  m_Height: 1040
+  m_AntiAliasing: 1
+  m_MipCount: -1
+  m_DepthStencilFormat: 0
+  m_ColorFormat: 8
+  m_MipMap: 1
+  m_GenerateMips: 1
+  m_SRGB: 0
+  m_UseDynamicScale: 1
+  m_BindMS: 0
+  m_EnableCompatibleFormat: 1
+  m_EnableRandomWrite: 1
+  m_TextureSettings:
+    serializedVersion: 2
+    m_FilterMode: 1
+    m_Aniso: 0
+    m_MipBias: 0
+    m_WrapU: 1
+    m_WrapV: 1
+    m_WrapW: 1
+  m_Dimension: 2
+  m_VolumeDepth: 1
+  m_ShadowSamplingMode: 2

+ 8 - 0
Assets/1.renderTexture.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d64a4695ab9cf406f80a8c1eb67c5d27
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 8400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 473 - 0
Assets/2.prefab

@@ -0,0 +1,473 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &3307082840721311693
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1852792611687129733}
+  - component: {fileID: 1836447019057419650}
+  - component: {fileID: 3680294993534431880}
+  m_Layer: 5
+  m_Name: 2
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1852792611687129733
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3307082840721311693}
+  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_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 6771502293768539530}
+  - {fileID: 8103814844764618587}
+  m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 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!328 &1836447019057419650
+VideoPlayer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3307082840721311693}
+  m_Enabled: 1
+  m_VideoClip: {fileID: 32900000, guid: 41f06469708644e8a906d004e01511ee, type: 3}
+  m_TargetCameraAlpha: 1
+  m_TargetCamera3DLayout: 0
+  m_TargetCamera: {fileID: 0}
+  m_TargetTexture: {fileID: 8400000, guid: 1f0e3da51b3fc42b9baacd782ef6d848, type: 2}
+  m_TimeReference: 0
+  m_TargetMaterialRenderer: {fileID: 0}
+  m_TargetMaterialProperty: <noninit>
+  m_RenderMode: 2
+  m_AspectRatio: 2
+  m_DataSource: 0
+  m_TimeUpdateMode: 2
+  m_PlaybackSpeed: 1
+  m_AudioOutputMode: 1
+  m_TargetAudioSources:
+  - {fileID: 3680294993534431880}
+  m_DirectAudioVolumes:
+  - 1
+  m_Url: 
+  m_EnabledAudioTracks: 01
+  m_DirectAudioMutes: 01
+  m_ControlledAudioTrackCount: 1
+  m_PlayOnAwake: 1
+  m_SkipOnDrop: 1
+  m_Looping: 0
+  m_WaitForFirstFrame: 1
+  m_FrameReadyEventEnabled: 0
+  m_VideoShaders: []
+--- !u!82 &3680294993534431880
+AudioSource:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3307082840721311693}
+  m_Enabled: 1
+  serializedVersion: 4
+  OutputAudioMixerGroup: {fileID: 0}
+  m_audioClip: {fileID: 0}
+  m_PlayOnAwake: 1
+  m_Volume: 1
+  m_Pitch: 1
+  Loop: 0
+  Mute: 1
+  Spatialize: 0
+  SpatializePostEffects: 0
+  Priority: 128
+  DopplerLevel: 1
+  MinDistance: 1
+  MaxDistance: 500
+  Pan2D: 0
+  rolloffMode: 0
+  BypassEffects: 0
+  BypassListenerEffects: 0
+  BypassReverbZones: 0
+  rolloffCustomCurve:
+    serializedVersion: 2
+    m_Curve:
+    - serializedVersion: 3
+      time: 0
+      value: 1
+      inSlope: 0
+      outSlope: 0
+      tangentMode: 0
+      weightedMode: 0
+      inWeight: 0.33333334
+      outWeight: 0.33333334
+    - serializedVersion: 3
+      time: 1
+      value: 0
+      inSlope: 0
+      outSlope: 0
+      tangentMode: 0
+      weightedMode: 0
+      inWeight: 0.33333334
+      outWeight: 0.33333334
+    m_PreInfinity: 2
+    m_PostInfinity: 2
+    m_RotationOrder: 4
+  panLevelCustomCurve:
+    serializedVersion: 2
+    m_Curve:
+    - serializedVersion: 3
+      time: 0
+      value: 0
+      inSlope: 0
+      outSlope: 0
+      tangentMode: 0
+      weightedMode: 0
+      inWeight: 0.33333334
+      outWeight: 0.33333334
+    m_PreInfinity: 2
+    m_PostInfinity: 2
+    m_RotationOrder: 4
+  spreadCustomCurve:
+    serializedVersion: 2
+    m_Curve:
+    - serializedVersion: 3
+      time: 0
+      value: 0
+      inSlope: 0
+      outSlope: 0
+      tangentMode: 0
+      weightedMode: 0
+      inWeight: 0.33333334
+      outWeight: 0.33333334
+    m_PreInfinity: 2
+    m_PostInfinity: 2
+    m_RotationOrder: 4
+  reverbZoneMixCustomCurve:
+    serializedVersion: 2
+    m_Curve:
+    - serializedVersion: 3
+      time: 0
+      value: 1
+      inSlope: 0
+      outSlope: 0
+      tangentMode: 0
+      weightedMode: 0
+      inWeight: 0.33333334
+      outWeight: 0.33333334
+    m_PreInfinity: 2
+    m_PostInfinity: 2
+    m_RotationOrder: 4
+--- !u!1 &5540063844175905253
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6771502293768539530}
+  - component: {fileID: 5870469828902466263}
+  - component: {fileID: 4947176923045105520}
+  m_Layer: 5
+  m_Name: RawImage (1)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &6771502293768539530
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5540063844175905253}
+  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_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 1852792611687129733}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 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!222 &5870469828902466263
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5540063844175905253}
+  m_CullTransparentMesh: 1
+--- !u!114 &4947176923045105520
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5540063844175905253}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0, g: 0, b: 0, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Texture: {fileID: 0}
+  m_UVRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+--- !u!1 &5961938655329351828
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8103814844764618587}
+  - component: {fileID: 7043711515832604985}
+  - component: {fileID: 9060358986353529792}
+  m_Layer: 5
+  m_Name: RawImage
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8103814844764618587
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5961938655329351828}
+  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_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 3271385362480335398}
+  m_Father: {fileID: 1852792611687129733}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 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!222 &7043711515832604985
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5961938655329351828}
+  m_CullTransparentMesh: 1
+--- !u!114 &9060358986353529792
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5961938655329351828}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Texture: {fileID: 8400000, guid: 1f0e3da51b3fc42b9baacd782ef6d848, type: 2}
+  m_UVRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+--- !u!1 &6215085065228070672
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3271385362480335398}
+  - component: {fileID: 4886236259420633915}
+  - component: {fileID: 5495017733217375895}
+  - component: {fileID: 1025885288056201316}
+  - component: {fileID: 3688467998297832069}
+  m_Layer: 5
+  m_Name: RawImage
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &3271385362480335398
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6215085065228070672}
+  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_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 8103814844764618587}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 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!222 &4886236259420633915
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6215085065228070672}
+  m_CullTransparentMesh: 1
+--- !u!114 &5495017733217375895
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6215085065228070672}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Texture: {fileID: 0}
+  m_UVRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+--- !u!114 &1025885288056201316
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6215085065228070672}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0a3c88e8fefb60d4c8b0ca8fbee9472a, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_url: inbt
+--- !u!114 &3688467998297832069
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6215085065228070672}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 5495017733217375895}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 3307082840721311693}
+        m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine
+        m_MethodName: SetActive
+        m_Mode: 6
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+      - m_Target: {fileID: 0}
+        m_TargetAssemblyTypeName: TaskManager, Assembly-CSharp
+        m_MethodName: nextTask
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2

+ 7 - 0
Assets/2.prefab.meta

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

+ 40 - 0
Assets/2.renderTexture

@@ -0,0 +1,40 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!84 &8400000
+RenderTexture:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: 2
+  m_ImageContentsHash:
+    serializedVersion: 2
+    Hash: 00000000000000000000000000000000
+  m_ForcedFallbackFormat: 4
+  m_DownscaleFallback: 0
+  m_IsAlphaChannelOptional: 0
+  serializedVersion: 5
+  m_Width: 640
+  m_Height: 1280
+  m_AntiAliasing: 1
+  m_MipCount: -1
+  m_DepthStencilFormat: 0
+  m_ColorFormat: 8
+  m_MipMap: 1
+  m_GenerateMips: 1
+  m_SRGB: 0
+  m_UseDynamicScale: 1
+  m_BindMS: 0
+  m_EnableCompatibleFormat: 1
+  m_EnableRandomWrite: 1
+  m_TextureSettings:
+    serializedVersion: 2
+    m_FilterMode: 1
+    m_Aniso: 0
+    m_MipBias: 0
+    m_WrapU: 1
+    m_WrapV: 1
+    m_WrapW: 1
+  m_Dimension: 2
+  m_VolumeDepth: 1
+  m_ShadowSamplingMode: 2

+ 8 - 0
Assets/2.renderTexture.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1f0e3da51b3fc42b9baacd782ef6d848
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 8400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 491 - 0
Assets/3.prefab

@@ -0,0 +1,491 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &598419009545184629
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1354366531453910793}
+  - component: {fileID: 2177737347093315821}
+  - component: {fileID: 708459737359879445}
+  - component: {fileID: 7285117994605392974}
+  m_Layer: 5
+  m_Name: 3
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &1354366531453910793
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 598419009545184629}
+  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_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 5373234850452877111}
+  - {fileID: 2893947011067762653}
+  - {fileID: 4111490048633206625}
+  m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 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!114 &2177737347093315821
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 598419009545184629}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 8c461f884d6184d44ae8e4e751f02eda, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!328 &708459737359879445
+VideoPlayer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 598419009545184629}
+  m_Enabled: 1
+  m_VideoClip: {fileID: 32900000, guid: 43f75d7c8883344f1961bb3295a6e2fa, type: 3}
+  m_TargetCameraAlpha: 1
+  m_TargetCamera3DLayout: 0
+  m_TargetCamera: {fileID: 0}
+  m_TargetTexture: {fileID: 8400000, guid: 9e085dad818d74d489dc924706d0f14e, type: 2}
+  m_TimeReference: 0
+  m_TargetMaterialRenderer: {fileID: 0}
+  m_TargetMaterialProperty: <noninit>
+  m_RenderMode: 2
+  m_AspectRatio: 2
+  m_DataSource: 0
+  m_TimeUpdateMode: 2
+  m_PlaybackSpeed: 1
+  m_AudioOutputMode: 1
+  m_TargetAudioSources:
+  - {fileID: 7285117994605392974}
+  m_DirectAudioVolumes:
+  - 1
+  m_Url: 
+  m_EnabledAudioTracks: 01
+  m_DirectAudioMutes: 00
+  m_ControlledAudioTrackCount: 1
+  m_PlayOnAwake: 1
+  m_SkipOnDrop: 1
+  m_Looping: 0
+  m_WaitForFirstFrame: 1
+  m_FrameReadyEventEnabled: 0
+  m_VideoShaders: []
+--- !u!82 &7285117994605392974
+AudioSource:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 598419009545184629}
+  m_Enabled: 1
+  serializedVersion: 4
+  OutputAudioMixerGroup: {fileID: 0}
+  m_audioClip: {fileID: 0}
+  m_PlayOnAwake: 1
+  m_Volume: 1
+  m_Pitch: 1
+  Loop: 0
+  Mute: 0
+  Spatialize: 0
+  SpatializePostEffects: 0
+  Priority: 128
+  DopplerLevel: 1
+  MinDistance: 1
+  MaxDistance: 500
+  Pan2D: 0
+  rolloffMode: 0
+  BypassEffects: 0
+  BypassListenerEffects: 0
+  BypassReverbZones: 0
+  rolloffCustomCurve:
+    serializedVersion: 2
+    m_Curve:
+    - serializedVersion: 3
+      time: 0
+      value: 1
+      inSlope: 0
+      outSlope: 0
+      tangentMode: 0
+      weightedMode: 0
+      inWeight: 0.33333334
+      outWeight: 0.33333334
+    - serializedVersion: 3
+      time: 1
+      value: 0
+      inSlope: 0
+      outSlope: 0
+      tangentMode: 0
+      weightedMode: 0
+      inWeight: 0.33333334
+      outWeight: 0.33333334
+    m_PreInfinity: 2
+    m_PostInfinity: 2
+    m_RotationOrder: 4
+  panLevelCustomCurve:
+    serializedVersion: 2
+    m_Curve:
+    - serializedVersion: 3
+      time: 0
+      value: 0
+      inSlope: 0
+      outSlope: 0
+      tangentMode: 0
+      weightedMode: 0
+      inWeight: 0.33333334
+      outWeight: 0.33333334
+    m_PreInfinity: 2
+    m_PostInfinity: 2
+    m_RotationOrder: 4
+  spreadCustomCurve:
+    serializedVersion: 2
+    m_Curve:
+    - serializedVersion: 3
+      time: 0
+      value: 0
+      inSlope: 0
+      outSlope: 0
+      tangentMode: 0
+      weightedMode: 0
+      inWeight: 0.33333334
+      outWeight: 0.33333334
+    m_PreInfinity: 2
+    m_PostInfinity: 2
+    m_RotationOrder: 4
+  reverbZoneMixCustomCurve:
+    serializedVersion: 2
+    m_Curve:
+    - serializedVersion: 3
+      time: 0
+      value: 1
+      inSlope: 0
+      outSlope: 0
+      tangentMode: 0
+      weightedMode: 0
+      inWeight: 0.33333334
+      outWeight: 0.33333334
+    m_PreInfinity: 2
+    m_PostInfinity: 2
+    m_RotationOrder: 4
+--- !u!1 &6445843561317645370
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4111490048633206625}
+  - component: {fileID: 2179143596854497823}
+  - component: {fileID: 812729812062856579}
+  - component: {fileID: 3661712296351247105}
+  - component: {fileID: 7308937639978315100}
+  m_Layer: 5
+  m_Name: RawImage (1)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4111490048633206625
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6445843561317645370}
+  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_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 1354366531453910793}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: -78, y: -120}
+  m_SizeDelta: {x: 60, y: 60}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &2179143596854497823
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6445843561317645370}
+  m_CullTransparentMesh: 1
+--- !u!114 &812729812062856579
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6445843561317645370}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Texture: {fileID: 0}
+  m_UVRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+--- !u!114 &3661712296351247105
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6445843561317645370}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0a3c88e8fefb60d4c8b0ca8fbee9472a, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_url: close
+--- !u!114 &7308937639978315100
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6445843561317645370}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 812729812062856579}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 598419009545184629}
+        m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine
+        m_MethodName: SetActive
+        m_Mode: 6
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+      - m_Target: {fileID: 0}
+        m_TargetAssemblyTypeName: TaskManager, Assembly-CSharp
+        m_MethodName: nextTask
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+--- !u!1 &7941660015452286474
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5373234850452877111}
+  - component: {fileID: 7392757902528244803}
+  - component: {fileID: 1475758074529046537}
+  m_Layer: 5
+  m_Name: RawImage (1)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5373234850452877111
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7941660015452286474}
+  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_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 1354366531453910793}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 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!222 &7392757902528244803
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7941660015452286474}
+  m_CullTransparentMesh: 1
+--- !u!114 &1475758074529046537
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7941660015452286474}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0, g: 0, b: 0, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Texture: {fileID: 0}
+  m_UVRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+--- !u!1 &8816597270888806909
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2893947011067762653}
+  - component: {fileID: 7335537660412511094}
+  - component: {fileID: 7440813232919508668}
+  m_Layer: 5
+  m_Name: RawImage
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2893947011067762653
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8816597270888806909}
+  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_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 1354366531453910793}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 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!222 &7335537660412511094
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8816597270888806909}
+  m_CullTransparentMesh: 1
+--- !u!114 &7440813232919508668
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8816597270888806909}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0f17cdc186456a4469a139a104d2ca72, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  _mediaPlayer: {fileID: 0}
+  _defaultTexture: {fileID: 0}
+  _uvRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  _setNativeSize: 0
+  _scaleMode: 2
+  _noDefaultDisplay: 1
+  _displayInEditor: 0

+ 7 - 0
Assets/3.prefab.meta

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

+ 40 - 0
Assets/3.renderTexture

@@ -0,0 +1,40 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!84 &8400000
+RenderTexture:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: 3
+  m_ImageContentsHash:
+    serializedVersion: 2
+    Hash: 00000000000000000000000000000000
+  m_ForcedFallbackFormat: 4
+  m_DownscaleFallback: 0
+  m_IsAlphaChannelOptional: 0
+  serializedVersion: 5
+  m_Width: 1080
+  m_Height: 1920
+  m_AntiAliasing: 1
+  m_MipCount: -1
+  m_DepthStencilFormat: 0
+  m_ColorFormat: 8
+  m_MipMap: 1
+  m_GenerateMips: 1
+  m_SRGB: 0
+  m_UseDynamicScale: 1
+  m_BindMS: 0
+  m_EnableCompatibleFormat: 1
+  m_EnableRandomWrite: 1
+  m_TextureSettings:
+    serializedVersion: 2
+    m_FilterMode: 1
+    m_Aniso: 0
+    m_MipBias: 0
+    m_WrapU: 1
+    m_WrapV: 1
+    m_WrapW: 1
+  m_Dimension: 2
+  m_VolumeDepth: 1
+  m_ShadowSamplingMode: 2

+ 8 - 0
Assets/3.renderTexture.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9e085dad818d74d489dc924706d0f14e
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 8400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/Editor.meta

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

+ 245 - 0
Assets/Editor/china.txt

@@ -0,0 +1,245 @@
+【框内为不需要出现在主剧情页面内,仅为描述演出效果】
+[内为需要做单独页面展示的文字内容,出现在主剧情页面]
+
+第一幕:幻园
+【出浓雾特效】
+【出动效片头】
+【出大标题花底人间:五仙观奇谈——诺皋将军】
+【出第一幕标题:幻园】
+
+1、五仙石匾后
+0你的预感实现了。
+1你无论如何也走不出这团迷雾。迷雾中的景物与建筑形态在你的视野边缘摇曳不定,但当你仔细看去,又一动不动,一旦移开视线,又开始悄然变化。
+2这里有古怪。
+【出没有信号的手机画面】
+3手机毫无信号。
+4你:“行吧,鬼打墙或者异世界传说选一样是吧?”
+5你:“那系统呢?按套路这时候该出来一个系统了吧?不求金手指开挂,总得给点新手引导吧?”
+6你正想着,石麒麟拿头推了推你,让你跟着祂走。
+7【出五仙观大地图,除了石匾和石羊所在地都是迷雾未开放,引导你前往石羊处】
+
+2、五仙观石羊前
+8你跟着祂走到石羊前。
+9石羊前有一层若隐若现的迷雾,无论如何你都过不去,你仔细往前看,隐隐约约看到内里似有个身着古装的潇洒男子正提笔在一块匾额上写字。
+10匾额上你勉强看到是“六榕”两个字。
+11然后你面前是一个凭空出现的书案,一张宣纸,上面是初学者习字的大大两个米字格,旁边放着笔墨。
+12你:“这意思是,得写什么对吗?”
+【出现解谜页面,一个输入框,此处不用输入,只是展示解谜页面。游客点击屏幕后继续剧情。】
+13你:“我该写什么呢……”
+14这里看起来要写两个字,可写什么呢?这地儿要是还讲理,那之前肯定有线索给你填这个空,你想了想。
+15你:“人、六榕、匾额……嘶,感觉脑子要长出来了,但还差点什么……”
+16你:“啊,对,那首诗!”
+17你想起之前在石匾附近看到的那首诗,那是苏轼在广州游览南海神庙浴日亭所写的《南海浴日亭》,加上你刚才看到的幻象,
+18历史上给六榕寺题匾额的也是苏轼,这些是不是就是线索——管他呢,试一试,就写苏轼试试!
+【引导游客在输入框内填上苏轼】
+你写上“苏轼”二字的瞬间,石羊周围的迷雾消散。
+【出石羊介绍】
+[石羊在古代有着善良美好的寓意,又因为“羊”与“祥”音近形近,所以石羊又被认为会带来吉祥好运,所以常见于宫殿、庙宇、园林的装饰等。]
+19下一步该做什么?你正琢磨,石麒麟拿头碰碰你的手机。
+20你:“是要我用手机扫一扫这一片?”(文字待定,确定扫描物后调整文字内容)
+石麒麟又从反方向拿头碰碰手机,你想了一下。
+21你:“是要我扫完之后就退出来看看,对吧,这意思?”
+22石麒麟用力点头。
+23很好,扫一下看看有啥,再退出来看剧情——非常标准剧情推进模式,八成是穿游戏里了。
+你掏出手机扫描。
+24【出提示拿手机扫描识别物(识别物待定),石羊前出现一枚六面铜印,出引导箭头指向大殿】
+25透过摄像头,你看到手机屏幕上出现了一枚现实中并不存在的六面铜印。
+26【出文物介绍】
+[六面铜印为东晋特有的印章形态。印面多刻官员姓名、官职等信息。广州六面铜印出土于2003年广州竹丝岗工地,铜印顶面刻“自信”二字,印面正面阴刻“周颐”二字。]
+对于这个只能在手机屏幕上才能看到的东西,你已经麻了,麒麟都能出现了,不出点超现实的意外才是意外。
+你正要细看,忽然瞥到一面玻璃镜滚落在地碎成一片,石麒麟跳到碎片上拿鼻子拱了拱。
+你:“这是要我……拼起来?”
+【进拼图小游戏界面】
+一柄华丽的珐琅玻璃镜出现在你面前。
+【出珐琅玻璃镜介绍】
+[珐琅工艺12世纪传入中国,盛于明清,是海上丝绸之路广受外国商人追捧的畅销商品。]
+【镜子落入道具栏】
+石麒麟碰碰镜子,示意你拿起来。
+【出提示引导,引导你从道具栏拖出珐琅镜,拖拽到石麒麟身上】
+【出镜子放光特效】
+像是挣脱了什么束缚一样,石麒麟在地上滚了一圈。
+石麒麟:“终于能说话了!”
+石麒麟:“我乃麒麟神兽,专司护持此五仙古观。”
+石麒麟:“而你——”
+你:“穿越了——”
+石麒麟:“……”
+石麒麟对你的抢答欲言又止,深深吸了口气。
+石麒麟:“你这么理解,你误入了某个故事。”
+你:“懂,所以系统在哪里,外挂又在哪里?”
+石麒麟看起来挺想打你的。
+祂似乎重新平复了一下情绪。
+石麒麟:“……这个故事被某种力量扭曲,你想要离开这里,就得把这个故事修复。”
+你:“那为什么是我?”
+石麒麟没有回答你这个问题,祂正要说话,忽然眼神一变,定定看向你。
+不、你意识到祂不是在看你,祂是透过你,在看着你背后——
+你:“——!!”
+——你的背后有东西——
+你意识到强大、黑暗、冰冷的某种东西就在你身后!
+——那个东西正在看着你。
+你顿时毛骨悚然,但与此同时,你本能地知道,不能回头,决不能回头!
+你一动不敢动,直到那股如芒刺在背的感觉慢慢消退,你望着麒麟。
+你:“……刚才哪是个什么?”
+石麒麟:“就是它扭曲了故事。但我不知道它是什么,咱们得先知道它是什么,除掉它,才能说修复故事的事。”
+你:“……你让我空手对付那东西?大哥不是吧?”
+石麒麟:“在这里那东西没什么本事。”
+你:“……那这意思是,那玩意儿其实相当有本事啰?”
+石麒麟忍耐一般叹了口气,示意你换上旁边廊下晾着的几套宽袍大袖。
+【出选择界面:换和不换】
+【选择换(分支1):选择不同下方相关剧情不同,以颜色标注】
+        你选了一套中意的换上。
+        你:“还挺好看的。”
+        石麒麟:“好啦好啦,赶紧进去吧。”
+【选择不换(分支2)】
+        你很是嫌那些宽袍大袖麻烦。
+        你:“不换不换,一会儿万一要跑路换这身还不得摔个跟头。”
+        石麒麟看起来忍了又忍。
+石麒麟:“……行吧,那一会儿你可别哭着跑出来换衣服。”
+石麒麟:“记着啊,你在手机里看到的东西,关了摄像头就没了,要想再看,就得回你刚才的位置从头来,。”
+
+3、五仙雕像前
+石麒麟引你迈入正殿,那个方才你惊鸿一瞥的少女,正跪在雕像前,虔诚祈祷。
+她的影子一半在殿内,一半在殿外,细小的黑暗在殿外那一半的影子里轻微蠕动。
+还是别打扰她吧,石麒麟让你往左边空无一物的桌子上看,你隐约看到上面似乎有什么奇怪的花纹,这回你学乖了,蹑手蹑脚地主动举起手机扫描。
+【mr触发,神案前出现西汉螭虎纽玉印】
+【出螭虎纽玉印介绍】
+[螭虎纽玉印在西汉为高等级贵族官员所配佩,这枚螭虎纽玉印于2008年淘金东路工地出土,为当时发现的全国第四枚螭虎纽玉印。]
+69与此同时,一串珠串落在地上。
+【出西汉珠串介绍】
+[西汉珠串:国家一级文物,2001年出土于恒福路银行疗养院工地
+珠串由玻璃、玛瑙、水晶、琥珀等串成,其中一些珠串明显带有异域风格和特色,部分材质来自国外,这些舶来品见证了广州在两汉时期便已经是无可争议的海上丝绸之路的贸易中心]
+珠串坠地响动惊动少女,看到你的瞬间,她面上露出惊诧神色,张口欲说什么,却没有发出一点声音,她痛苦地按住自己喉咙,连连后退。
+你清楚地看到,她影子里那些蠕动的黑暗加速了翻涌。
+得拿手边的东西做些什么,你飞快思考。
+【将珐琅镜拖拽至五仙雕像上】
+【出镜子放光特效】
+珐琅镜绽出一团光华,将五仙雕塑笼住,自己却碎为齑粉——
+【道具栏失去珐琅镜】
+你惊讶地看到五仙雕塑在氤氲镜光下鲜活了起来,他们动了!
+【出动态视频】
+其中一名仙人走下神案,来到少女身前,少女瞪大双眼,仙人面含无限慈悲,手中谷穗往她身上一拂,
+少女影中升腾起一股黑烟,你清楚地听到那些在她影子里蠕动的黑暗发出了无声惨叫!
+仙人身影消失,袖间隐隐有一页残纸飘落,被你飞快捡起。
+【获得线索2】
+【出线索2页面,具体内容见线索文档】少女不可置信地看看雕像,又看看你。
+少女:“……你——”
+艰难地吐出一个字,少女惊异地抚摸自己喉咙,不再后退,看你的眼神也没那么警惕。
+她咳嗽几声,似是平复了一下情绪,对你说的第一句话是:
+少女:“你、你也看得到?”
+【前面选择换汉服的分支1】
+      少女虽然满面惊疑,但依然优雅敛袖为礼,柔柔致意。
+少女:“奴家城北任氏,来五仙观上香祈福,刚才礼仪不周,多有得罪。”
+【前面选择不换汉服的分支2】
+      少女看着你一身明显不合时代的“奇装异服”,复又神色戒备地往后退了一步。
+少女:“……你不知道今日五仙观被我任家包了么?”
+      你心里叫苦,后悔没听麒麟的话,往后退了一步举起双手,示意自己没有恶意,少女神色稍安。      
+你想让麒麟出来作证你不是坏人,回头一看麒麟不知道什么时候不见了。
+这可真是麟到用时就不见啊。
+该怎么降低任小姐对你的怀疑呢?
+你脑中飞转,想起前面任小姐问话,你正色道:
+你:“是的,我看得见。”
+任小姐神色一动,一瞬间她似乎心思百转千回,最后柔柔对你又行了一礼:“奴家小字观照,您叫我阿照就好。”
+你:“任小姐,我真不是什么可疑的人。”
+除了你是个现代人这一节,你竹筒倒豆子一般把你怎么误入五仙观,现在出不去了的事全跟任小姐说了。
+你满怀希望地看她。
+你:“任小姐,现在是什么时候?”
+任小姐:“大唐贞元年间。”
+哦,现在是唐朝,但……不对。
+你想起来在门口看到的清朝的石匾、明代的石羊,还有那首宋朝苏轼写的诗……这些可都在唐朝后面啊。
+不对,事情可能不是麒麟说的那样,恐怕里面还有更深的事儿。
+你兀自想着,问道:
+你:“任小姐,你知道刚才那个黑影,是什么吗?”
+阿照眉头轻蹙,她抓着衣袖,轻轻摇头,低声道:
+任小姐:“那是……太阴将军。”
+任小姐:“……一切都是从十年前,父亲遇到那个奇怪的海外方士开始的……”
+【出回忆特效】
+
+4、任宅
+那是十年前的五月初五,我记得很清楚,我那时候七岁,还是趴在阿娘膝上吵着要吃梅花酥的年纪。
+那天阿爹难得喜气洋洋地回来。
+我家是做船运生意的,当时算中等商户,有两艘大船,五艘小船。
+大船一艘跑大食的线,一艘跑日本,小船则把带回来的外国货运到长安。
+阿娘温柔,阿爹勤勉,他们都非常疼我,我们一家人和和气气,日子过得红红火火——直到十年前的元月初五。
+阿爹在港口翘首以盼、理应如往常一样,满载玻璃、玛瑙、乳香、没药、地毯、家具这些货物的商船没有回来,回来的别家商船捎来的信息:我家的船,沉了。
+所有船员和货物,全部被飓风埋葬在了海底。
+那天我跟往常一样,在阿爹回家的时候扑到他身上,向他讨点心吃,结果被他一把推开——
+我的家,在那一天轰然倒塌。
+我家所有的船都被来讨债的债主一抢而光,每天都有人上门讨债。
+我家门上被人泼猪血、阿爹被债主堵在街上打,家里的仆妇都遣散,就剩几个白发苍苍的老仆。
+我跟着阿娘学洗衣服、学做饭,阿娘出门都要拿帷帽盖住脸。
+而阿爹变得越来越暴躁,我就是在那时候,因为不慎摔了碗,挨了生平第一顿打。
+挨打那天,我带着满手的血泡在被子里哭,阿娘抱着我也哭,一直哭到天亮。
+我以为这般落魄绝望的日子就要过一辈子了,直到端午那一天,阿爹破天荒地笑着回来。
+他又是我记忆中那个温柔的父亲了。
+他把我抱在怀里,从袖子里掏出一颗糖给我吃。
+原来,他遇到了一个海外来的方士,那人授了他一些机宜,他在方士指点的地方挖出了一锭赤金。
+阿爹拿那锭赤金当本钱,做了小本生意,方士继续点拨,阿爹挣得越来越多,家里也有了欢笑。
+直到某天,方士对阿爹说,这班紧巴巴的生意也就糊口,若想东山再起,他有一个一劳永逸的法子。
+于是,阿爹在一个深夜,冒着宵禁风险,亲自抱回了一尊从方士那里迎回的神像。
+方士告诉阿爹,只要供奉这尊神像,他就会财源滚滚,不出一两年就比以前还要兴旺。
+神像就此被供奉在阿爹书房暗室之内。除了阿爹,没有任何一个人见过那尊神像。
+那尊神像的名字叫——太阴将军。
+【出字幕】
+[第一幕:幻园(完)]
+[本版本为测试先行版,正式版敬请期待,请关注我们的公众号,随时获得最新消息]
+【框内为不需要出现在主剧情页面内,仅为描述演出效果】
+[内为需要做单独页面展示的内容,出现在主剧情页面]
+
+花底人间:五仙观奇谈
+——诺皋将军(暂定名)
+
+序幕
+引导扫描五仙观入口二维码进入小程序
+
+1、登录页面【美术素材待补】
+五羊衔谷,萃于粤庭
+庄周梦蝶,花底人间
+
+2、五仙观石牌楼前。
+0、在看到这座位于繁华闹市的古朴道观的一瞬间,你仿佛听到了什么震翅的声音。
+1你恍惚了一下,感觉到轻微的眩晕,整个意识像是蒙上了一层透明的轻纱。
+【微微扭曲震动的特效】
+2你:“唔……”
+
+3、五仙观石匾前
+3不知何时,你已经走过牌坊,站在石匾下。
+4四周清幽,你却隐隐约约有种感觉——四周似乎跟你从牌坊外望进来的样子不大一样。
+5哪里不一样呢?难道是眼花了?不、不是眼花,是确实,跟刚才不一样了。
+6但是到底哪里不一样你也说不上来,就在此时,你感觉到前方的空气忽然开始振动、压缩、然后你眼睁睁地看着空气里出现了一个你从未见过的小动物。 task_1
+【出石麒麟立绘】
+7这小东西长得还挺可爱……不对!这是个啥?
+8你和飘在你面前的小动物大眼瞪小眼,脑子因为过于震惊反而显出一种古怪的平静,你居然还能抽空觉得小动物长得还不错。
+9祂示意你往后看,祂绕着你身后牌坊边被栏杆围起来的石麒麟飞了一圈,自豪地蹲在了石雕脑袋顶上。
+10你:“你是说……你是石麒麟?但你俩长得一点儿不像啊!” task_2
+【出石麒麟介绍页面】
+[麒麟是中国古代传说中的神兽,性情温和,虽有蹄角却不伤人畜,故被颂为仁兽。
+麒麟还是中华传统文化最为广泛的图腾之一。麒麟雕像常见于古代宫殿、庙宇和传统建筑中,以期带来好运和保护。]
+11你看到石麒麟很嫌弃地翻了个白眼。
+12你往前看去,看到“五仙古观”的牌匾。
+【出石匾介绍】
+[五仙观头门所刻“五仙古观”字样的石匾,是清代同治年间文渊阁大学士、两广总督瑞麟手书,距今约150年。]
+13你凝神细看,赫然看到石匾附近浮动一行小字。
+14你:“剑气峥嵘夜插天,瑞光明灭到黄湾。坐看旸谷浮金晕,遥想钱塘涌雪山。
+15你:“已觉苍凉苏病骨,更烦沆瀣洗衰颜。忽惊鸟动行人起,飞上千峰紫翠间……这不是苏轼的诗么?”
+16你不解其意,但你还是把它记了下来,小字随即消失。
+【获得线索1】
+17 18【出线索页面,引导你了解线索以后在哪里查看】
+19石麒麟拿头拱拱你,示意你进去,你深吸一口气,迈步踏入观内——
+20四周光线浮动,空气微微扭曲,然后,你看到了她。 task_6
+【出任小姐(任观照)大立绘】
+21满面哀愁的古装少女惊鸿一现,随即消失在观内。
+22但你隐约看见,她的影子里,有什么东西在动。
+【出浓雾特效】
+23一团一团的雾气从你脚底无声无息的弥漫,整个五仙观被迷雾笼罩。
+24你忽然意识到,偌大的五仙观,寂静无声,只有你一个人。
+——也许出不去了。
+25这个无由的念头出现在你的脑海中。
+【出字幕:序幕 完】
+请将摄像头对准五仙雕像左侧                                  木桌上的祥云图案:
+
+其中一名仙人走下神案,来到少女身前,少女瞪大双眼,仙人面含无限慈悲,手中谷穗往她身上一拂, 少女影中升腾起一股黑烟,你清楚地听到那些在她影子里蠕动的黑暗发出了无声惨叫!
+
+
+
+
+
+

+ 7 - 0
Assets/Editor/china.txt.meta

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

File diff suppressed because it is too large
+ 25053 - 0
Assets/Editor/font SDF.asset


+ 8 - 0
Assets/Editor/font SDF.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0b28b2a1ee0544c7b89de1d38c5b9ea8
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Assets/stzhongs.TTF → Assets/Editor/font.TTF


+ 0 - 0
Assets/stzhongs.TTF.meta → Assets/Editor/font.TTF.meta


+ 8 - 0
Assets/MarksAssets.meta

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

+ 8 - 0
Assets/MarksAssets/VideoPlayerWebGL.meta

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

+ 8 - 0
Assets/MarksAssets/VideoPlayerWebGL/Example.meta

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

+ 8 - 0
Assets/MarksAssets/VideoPlayerWebGL/Example/Scenes.meta

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

+ 1973 - 0
Assets/MarksAssets/VideoPlayerWebGL/Example/Scenes/VideoPlayerWebGLSampleScene.unity

@@ -0,0 +1,1973 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 9
+  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_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  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: 705507994}
+  m_IndirectSpecularColor: {r: 0.44657844, g: 0.49641222, b: 0.57481676, a: 1}
+  m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 12
+  m_GIWorkflowMode: 1
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 1
+    m_EnableRealtimeLightmaps: 0
+  m_LightmapEditorSettings:
+    serializedVersion: 12
+    m_Resolution: 2
+    m_BakeResolution: 40
+    m_AtlasSize: 1024
+    m_AO: 0
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_ExtractAmbientOcclusion: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 1
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 2
+    m_BakeBackend: 1
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 500
+    m_PVRBounces: 2
+    m_PVREnvironmentSampleCount: 500
+    m_PVREnvironmentReferencePointCount: 2048
+    m_PVRFilteringMode: 2
+    m_PVRDenoiserTypeDirect: 0
+    m_PVRDenoiserTypeIndirect: 0
+    m_PVRDenoiserTypeAO: 0
+    m_PVRFilterTypeDirect: 0
+    m_PVRFilterTypeIndirect: 0
+    m_PVRFilterTypeAO: 0
+    m_PVREnvironmentMIS: 0
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+    m_PVRFilteringAtrousPositionSigmaIndirect: 2
+    m_PVRFilteringAtrousPositionSigmaAO: 1
+    m_ExportTrainingData: 0
+    m_TrainingDataDestination: TrainingData
+    m_LightProbeSampleCountMultiplier: 4
+  m_LightingDataAsset: {fileID: 0}
+  m_LightingSettings: {fileID: 4890085278179872738, guid: 7077f21e224a5f642b30e2337a25b2d4, type: 2}
+--- !u!196 &4
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 3
+    agentTypeID: 0
+    agentRadius: 0.5
+    agentHeight: 2
+    agentSlope: 45
+    agentClimb: 0.4
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.16666667
+    manualTileSize: 0
+    tileSize: 256
+    buildHeightMesh: 0
+    maxJobWorkers: 0
+    preserveTilesOutsideBounds: 0
+    debug:
+      m_Flags: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!1 &465184027
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 465184028}
+  - component: {fileID: 465184032}
+  - component: {fileID: 465184031}
+  - component: {fileID: 465184030}
+  - component: {fileID: 465184029}
+  m_Layer: 5
+  m_Name: Play
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &465184028
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 465184027}
+  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_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 527282440}
+  m_Father: {fileID: 1924155411}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 40, y: 77}
+  m_SizeDelta: {x: 160, y: 30}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &465184029
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 465184027}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d0b148fe25e99eb48b9724523833bab1, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Delegates:
+  - eventID: 2
+    callback:
+      m_PersistentCalls:
+        m_Calls:
+        - m_Target: {fileID: 954598547}
+          m_TargetAssemblyTypeName: MarksAssets.VideoPlayerWebGL.VideoPlayerWebGL,
+            Assembly-CSharp
+          m_MethodName: PlayPointerDown
+          m_Mode: 1
+          m_Arguments:
+            m_ObjectArgument: {fileID: 0}
+            m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+            m_IntArgument: 0
+            m_FloatArgument: 0
+            m_StringArgument: 
+            m_BoolArgument: 0
+          m_CallState: 2
+--- !u!114 &465184030
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 465184027}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 465184031}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 926317734}
+        m_TargetAssemblyTypeName: 
+        m_MethodName: set_interactable
+        m_Mode: 6
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+--- !u!114 &465184031
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 465184027}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!222 &465184032
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 465184027}
+  m_CullTransparentMesh: 0
+--- !u!1 &527282439
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 527282440}
+  - component: {fileID: 527282442}
+  - component: {fileID: 527282441}
+  m_Layer: 5
+  m_Name: Play
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &527282440
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 527282439}
+  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_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 465184028}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 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!114 &527282441
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 527282439}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 14
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Play
+--- !u!222 &527282442
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 527282439}
+  m_CullTransparentMesh: 0
+--- !u!1 &585276841
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 585276844}
+  - component: {fileID: 585276843}
+  - component: {fileID: 585276842}
+  m_Layer: 0
+  m_Name: EventSystem
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &585276842
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 585276841}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_SendPointerHoverToParent: 1
+  m_HorizontalAxis: Horizontal
+  m_VerticalAxis: Vertical
+  m_SubmitButton: Submit
+  m_CancelButton: Cancel
+  m_InputActionsPerSecond: 10
+  m_RepeatDelay: 0.5
+  m_ForceModuleActive: 0
+--- !u!114 &585276843
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 585276841}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_FirstSelected: {fileID: 0}
+  m_sendNavigationEvents: 1
+  m_DragThreshold: 10
+--- !u!4 &585276844
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 585276841}
+  serializedVersion: 2
+  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_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &692585827
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 692585828}
+  - component: {fileID: 692585830}
+  - component: {fileID: 692585829}
+  m_Layer: 5
+  m_Name: Pause
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &692585828
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 692585827}
+  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_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 1980215162}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 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!114 &692585829
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 692585827}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 14
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Pause
+--- !u!222 &692585830
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 692585827}
+  m_CullTransparentMesh: 0
+--- !u!1 &705507993
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 705507995}
+  - component: {fileID: 705507994}
+  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 &705507994
+Light:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 705507993}
+  m_Enabled: 1
+  serializedVersion: 10
+  m_Type: 1
+  m_Shape: 0
+  m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+  m_Intensity: 1
+  m_Range: 10
+  m_SpotAngle: 30
+  m_InnerSpotAngle: 21.80208
+  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_CullingMatrixOverride:
+      e00: 1
+      e01: 0
+      e02: 0
+      e03: 0
+      e10: 0
+      e11: 1
+      e12: 0
+      e13: 0
+      e20: 0
+      e21: 0
+      e22: 1
+      e23: 0
+      e30: 0
+      e31: 0
+      e32: 0
+      e33: 1
+    m_UseCullingMatrixOverride: 0
+  m_Cookie: {fileID: 0}
+  m_DrawHalo: 0
+  m_Flare: {fileID: 0}
+  m_RenderMode: 0
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingLayerMask: 1
+  m_Lightmapping: 1
+  m_LightShadowCasterMode: 0
+  m_AreaSize: {x: 1, y: 1}
+  m_BounceIntensity: 1
+  m_ColorTemperature: 6570
+  m_UseColorTemperature: 0
+  m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
+  m_UseBoundingSphereOverride: 0
+  m_UseViewFrustumForShadowCasterCull: 1
+  m_ShadowRadius: 0
+  m_ShadowAngle: 0
+--- !u!4 &705507995
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 705507993}
+  serializedVersion: 2
+  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_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
+--- !u!1 &926317733
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 926317737}
+  - component: {fileID: 926317736}
+  - component: {fileID: 926317735}
+  - component: {fileID: 926317734}
+  m_Layer: 5
+  m_Name: Restart
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &926317734
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 926317733}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 0
+  m_TargetGraphic: {fileID: 926317735}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 954598547}
+        m_TargetAssemblyTypeName: MarksAssets.VideoPlayerWebGL.VideoPlayerWebGL,
+          Assembly-CSharp
+        m_MethodName: Restart
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+      - m_Target: {fileID: 926317734}
+        m_TargetAssemblyTypeName: 
+        m_MethodName: set_interactable
+        m_Mode: 6
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+--- !u!114 &926317735
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 926317733}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!222 &926317736
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 926317733}
+  m_CullTransparentMesh: 0
+--- !u!224 &926317737
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 926317733}
+  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_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 956779867}
+  m_Father: {fileID: 1924155411}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 40, y: 1.1}
+  m_SizeDelta: {x: 160, y: 30}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &954598539
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 954598543}
+  - component: {fileID: 954598542}
+  - component: {fileID: 954598541}
+  - component: {fileID: 954598540}
+  - component: {fileID: 954598547}
+  m_Layer: 0
+  m_Name: Video1
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!64 &954598540
+MeshCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 954598539}
+  m_Material: {fileID: 0}
+  m_IncludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_ExcludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_LayerOverridePriority: 0
+  m_IsTrigger: 0
+  m_ProvidesContacts: 0
+  m_Enabled: 1
+  serializedVersion: 5
+  m_Convex: 0
+  m_CookingOptions: 30
+  m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &954598541
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 954598539}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_StaticShadowCaster: 0
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 2
+  m_RayTraceProcedural: 0
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 2100000, guid: 65530a4fdb54f3445a6c3b0a521d90f9, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_ReceiveGI: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 1
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_AdditionalVertexStreams: {fileID: 0}
+--- !u!33 &954598542
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 954598539}
+  m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &954598543
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 954598539}
+  serializedVersion: 2
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 1.122, z: -9.13}
+  m_LocalScale: {x: 0.42628607, y: 0.23978591, z: 0.23978591}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &954598547
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 954598539}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 46ddbf24ca243ca48912f134d00b60cc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  source: 0
+  URL: https://d8d913s460fub.cloudfront.net/videoserver/cat-test-video-320x240.mp4
+  fileName: 3.mp4
+  autoplay: 0
+  loop: 0
+  muted: 0
+  volume: 1
+  pan: 0
+  forceMono: 1
+  playbackSpeed: 1
+  targetTexture: {fileID: 8400000, guid: 0e647d24a207a8941b6784526b821ea7, type: 2}
+  crossOrigin: 1
+  events: 32
+  canplay:
+    m_PersistentCalls:
+      m_Calls: []
+  canplaythrough:
+    m_PersistentCalls:
+      m_Calls: []
+  complete:
+    m_PersistentCalls:
+      m_Calls: []
+  durationchange:
+    m_PersistentCalls:
+      m_Calls: []
+  emptied:
+    m_PersistentCalls:
+      m_Calls: []
+  ended:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 954598547}
+        m_TargetAssemblyTypeName: MarksAssets.VideoPlayerWebGL.VideoPlayerWebGL,
+          Assembly-CSharp
+        m_MethodName: Play
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 1
+        m_CallState: 2
+  loadeddata:
+    m_PersistentCalls:
+      m_Calls: []
+  loadedmetadata:
+    m_PersistentCalls:
+      m_Calls: []
+  pause:
+    m_PersistentCalls:
+      m_Calls: []
+  play:
+    m_PersistentCalls:
+      m_Calls: []
+  playing:
+    m_PersistentCalls:
+      m_Calls: []
+  progress:
+    m_PersistentCalls:
+      m_Calls: []
+  ratechange:
+    m_PersistentCalls:
+      m_Calls: []
+  seeked:
+    m_PersistentCalls:
+      m_Calls: []
+  seeking:
+    m_PersistentCalls:
+      m_Calls: []
+  stalled:
+    m_PersistentCalls:
+      m_Calls: []
+  suspend:
+    m_PersistentCalls:
+      m_Calls: []
+  timeupdate:
+    m_PersistentCalls:
+      m_Calls: []
+  volumechange:
+    m_PersistentCalls:
+      m_Calls: []
+  waiting:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!1 &956779866
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 956779867}
+  - component: {fileID: 956779869}
+  - component: {fileID: 956779868}
+  m_Layer: 5
+  m_Name: RestartText
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &956779867
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 956779866}
+  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_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 926317737}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 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!114 &956779868
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 956779866}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 14
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Restart
+--- !u!222 &956779869
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 956779866}
+  m_CullTransparentMesh: 0
+--- !u!1 &963194225
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 963194228}
+  - component: {fileID: 963194227}
+  - component: {fileID: 963194226}
+  m_Layer: 0
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!81 &963194226
+AudioListener:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 963194225}
+  m_Enabled: 1
+--- !u!20 &963194227
+Camera:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 963194225}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 1
+  m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+  m_projectionMatrixMode: 1
+  m_GateFitMode: 2
+  m_FOVAxisMode: 0
+  m_Iso: 200
+  m_ShutterSpeed: 0.005
+  m_Aperture: 16
+  m_FocusDistance: 10
+  m_FocalLength: 50
+  m_BladeCount: 5
+  m_Curvature: {x: 2, y: 11}
+  m_BarrelClipping: 0.25
+  m_Anamorphism: 0
+  m_SensorSize: {x: 36, y: 24}
+  m_LensShift: {x: 0, y: 0}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 1000
+  field of view: 60
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 1
+  m_AllowMSAA: 1
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!4 &963194228
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 963194225}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 1, z: -10}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1240359462
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1240359467}
+  - component: {fileID: 1240359466}
+  - component: {fileID: 1240359465}
+  - component: {fileID: 1240359464}
+  - component: {fileID: 1240359463}
+  m_Layer: 0
+  m_Name: Video2
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1240359463
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1240359462}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 46ddbf24ca243ca48912f134d00b60cc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  source: 0
+  URL: https://vjs.zencdn.net/v/oceans.mp4
+  fileName: 3.mp4
+  autoplay: 1
+  loop: 1
+  muted: 1
+  volume: 1
+  pan: 0
+  forceMono: 0
+  playbackSpeed: 1
+  targetTexture: {fileID: 8400000, guid: 7e6d254474e9f2e4e8364ba3a08be698, type: 2}
+  crossOrigin: 1
+  events: 0
+  canplay:
+    m_PersistentCalls:
+      m_Calls: []
+  canplaythrough:
+    m_PersistentCalls:
+      m_Calls: []
+  complete:
+    m_PersistentCalls:
+      m_Calls: []
+  durationchange:
+    m_PersistentCalls:
+      m_Calls: []
+  emptied:
+    m_PersistentCalls:
+      m_Calls: []
+  ended:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 0}
+        m_TargetAssemblyTypeName: 
+        m_MethodName: SetActive
+        m_Mode: 6
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+      - m_Target: {fileID: 0}
+        m_TargetAssemblyTypeName: 
+        m_MethodName: ended
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+  loadeddata:
+    m_PersistentCalls:
+      m_Calls: []
+  loadedmetadata:
+    m_PersistentCalls:
+      m_Calls: []
+  pause:
+    m_PersistentCalls:
+      m_Calls: []
+  play:
+    m_PersistentCalls:
+      m_Calls: []
+  playing:
+    m_PersistentCalls:
+      m_Calls: []
+  progress:
+    m_PersistentCalls:
+      m_Calls: []
+  ratechange:
+    m_PersistentCalls:
+      m_Calls: []
+  seeked:
+    m_PersistentCalls:
+      m_Calls: []
+  seeking:
+    m_PersistentCalls:
+      m_Calls: []
+  stalled:
+    m_PersistentCalls:
+      m_Calls: []
+  suspend:
+    m_PersistentCalls:
+      m_Calls: []
+  timeupdate:
+    m_PersistentCalls:
+      m_Calls: []
+  volumechange:
+    m_PersistentCalls:
+      m_Calls: []
+  waiting:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!64 &1240359464
+MeshCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1240359462}
+  m_Material: {fileID: 0}
+  m_IncludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_ExcludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_LayerOverridePriority: 0
+  m_IsTrigger: 0
+  m_ProvidesContacts: 0
+  m_Enabled: 1
+  serializedVersion: 5
+  m_Convex: 0
+  m_CookingOptions: 30
+  m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &1240359465
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1240359462}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_StaticShadowCaster: 0
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 2
+  m_RayTraceProcedural: 0
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 2100000, guid: 2a64aaeb6cbc3e9488432dce273e33fa, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_ReceiveGI: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 1
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_AdditionalVertexStreams: {fileID: 0}
+--- !u!33 &1240359466
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1240359462}
+  m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &1240359467
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1240359462}
+  serializedVersion: 2
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0.822, z: -9.13}
+  m_LocalScale: {x: 0.4188325, y: 0.17451353, z: 0.17451353}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1259349748
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1259349749}
+  - component: {fileID: 1259349752}
+  - component: {fileID: 1259349751}
+  - component: {fileID: 1259349750}
+  m_Layer: 5
+  m_Name: Canvas
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1259349749
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1259349748}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0, y: 0, z: 0}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 1924155411}
+  - {fileID: 1555760363}
+  - {fileID: 1883370560}
+  m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 0}
+--- !u!114 &1259349750
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1259349748}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreReversedGraphics: 1
+  m_BlockingObjects: 0
+  m_BlockingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+--- !u!114 &1259349751
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1259349748}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_UiScaleMode: 1
+  m_ReferencePixelsPerUnit: 100
+  m_ScaleFactor: 2.5
+  m_ReferenceResolution: {x: 1024, y: 768}
+  m_ScreenMatchMode: 0
+  m_MatchWidthOrHeight: 0.875
+  m_PhysicalUnit: 3
+  m_FallbackScreenDPI: 96
+  m_DefaultSpriteDPI: 96
+  m_DynamicPixelsPerUnit: 1
+  m_PresetInfoIsWorld: 0
+--- !u!223 &1259349752
+Canvas:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1259349748}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 0
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_VertexColorAlwaysGammaSpace: 0
+  m_AdditionalShaderChannelsFlag: 0
+  m_UpdateRectTransformForStandalone: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+  m_TargetDisplay: 0
+--- !u!1 &1555760362
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1555760363}
+  - component: {fileID: 1555760366}
+  - component: {fileID: 1555760365}
+  - component: {fileID: 1555760364}
+  m_Layer: 5
+  m_Name: 1
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1555760363
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1555760362}
+  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_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 1259349749}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 169.8}
+  m_SizeDelta: {x: 100, y: 100}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1555760364
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1555760362}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 46ddbf24ca243ca48912f134d00b60cc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  source: 0
+  URL: https://d8d913s460fub.cloudfront.net/videoserver/cat-test-video-320x240.mp4
+  fileName: 3.mp4
+  autoplay: 0
+  loop: 0
+  muted: 0
+  volume: 1
+  pan: 0
+  forceMono: 1
+  playbackSpeed: 1
+  targetTexture: {fileID: 8400000, guid: 0e647d24a207a8941b6784526b821ea7, type: 2}
+  crossOrigin: 1
+  events: 32
+  canplay:
+    m_PersistentCalls:
+      m_Calls: []
+  canplaythrough:
+    m_PersistentCalls:
+      m_Calls: []
+  complete:
+    m_PersistentCalls:
+      m_Calls: []
+  durationchange:
+    m_PersistentCalls:
+      m_Calls: []
+  emptied:
+    m_PersistentCalls:
+      m_Calls: []
+  ended:
+    m_PersistentCalls:
+      m_Calls: []
+  loadeddata:
+    m_PersistentCalls:
+      m_Calls: []
+  loadedmetadata:
+    m_PersistentCalls:
+      m_Calls: []
+  pause:
+    m_PersistentCalls:
+      m_Calls: []
+  play:
+    m_PersistentCalls:
+      m_Calls: []
+  playing:
+    m_PersistentCalls:
+      m_Calls: []
+  progress:
+    m_PersistentCalls:
+      m_Calls: []
+  ratechange:
+    m_PersistentCalls:
+      m_Calls: []
+  seeked:
+    m_PersistentCalls:
+      m_Calls: []
+  seeking:
+    m_PersistentCalls:
+      m_Calls: []
+  stalled:
+    m_PersistentCalls:
+      m_Calls: []
+  suspend:
+    m_PersistentCalls:
+      m_Calls: []
+  timeupdate:
+    m_PersistentCalls:
+      m_Calls: []
+  volumechange:
+    m_PersistentCalls:
+      m_Calls: []
+  waiting:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!114 &1555760365
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1555760362}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Texture: {fileID: 8400000, guid: 0e647d24a207a8941b6784526b821ea7, type: 2}
+  m_UVRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+--- !u!222 &1555760366
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1555760362}
+  m_CullTransparentMesh: 1
+--- !u!1 &1883370559
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1883370560}
+  - component: {fileID: 1883370563}
+  - component: {fileID: 1883370562}
+  - component: {fileID: 1883370561}
+  m_Layer: 5
+  m_Name: 2
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1883370560
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1883370559}
+  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_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 1259349749}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: -102.9}
+  m_SizeDelta: {x: 100, y: 100}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1883370561
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1883370559}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 46ddbf24ca243ca48912f134d00b60cc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  source: 0
+  URL: https://vjs.zencdn.net/v/oceans.mp4
+  fileName: 1.mp4
+  autoplay: 1
+  loop: 1
+  muted: 1
+  volume: 1
+  pan: 0
+  forceMono: 0
+  playbackSpeed: 1
+  targetTexture: {fileID: 8400000, guid: 7e6d254474e9f2e4e8364ba3a08be698, type: 2}
+  crossOrigin: 1
+  events: 0
+  canplay:
+    m_PersistentCalls:
+      m_Calls: []
+  canplaythrough:
+    m_PersistentCalls:
+      m_Calls: []
+  complete:
+    m_PersistentCalls:
+      m_Calls: []
+  durationchange:
+    m_PersistentCalls:
+      m_Calls: []
+  emptied:
+    m_PersistentCalls:
+      m_Calls: []
+  ended:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 0}
+        m_TargetAssemblyTypeName: 
+        m_MethodName: SetActive
+        m_Mode: 6
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+      - m_Target: {fileID: 0}
+        m_TargetAssemblyTypeName: 
+        m_MethodName: ended
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+  loadeddata:
+    m_PersistentCalls:
+      m_Calls: []
+  loadedmetadata:
+    m_PersistentCalls:
+      m_Calls: []
+  pause:
+    m_PersistentCalls:
+      m_Calls: []
+  play:
+    m_PersistentCalls:
+      m_Calls: []
+  playing:
+    m_PersistentCalls:
+      m_Calls: []
+  progress:
+    m_PersistentCalls:
+      m_Calls: []
+  ratechange:
+    m_PersistentCalls:
+      m_Calls: []
+  seeked:
+    m_PersistentCalls:
+      m_Calls: []
+  seeking:
+    m_PersistentCalls:
+      m_Calls: []
+  stalled:
+    m_PersistentCalls:
+      m_Calls: []
+  suspend:
+    m_PersistentCalls:
+      m_Calls: []
+  timeupdate:
+    m_PersistentCalls:
+      m_Calls: []
+  volumechange:
+    m_PersistentCalls:
+      m_Calls: []
+  waiting:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!114 &1883370562
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1883370559}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Texture: {fileID: 8400000, guid: 7e6d254474e9f2e4e8364ba3a08be698, type: 2}
+  m_UVRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+--- !u!222 &1883370563
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1883370559}
+  m_CullTransparentMesh: 1
+--- !u!1 &1924155410
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1924155411}
+  m_Layer: 5
+  m_Name: GameObject
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1924155411
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1924155410}
+  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_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 465184028}
+  - {fileID: 1980215162}
+  - {fileID: 926317737}
+  m_Father: {fileID: 1259349749}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: -42, y: 0}
+  m_SizeDelta: {x: 100, y: 100}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &1980215161
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1980215162}
+  - component: {fileID: 1980215165}
+  - component: {fileID: 1980215164}
+  - component: {fileID: 1980215163}
+  m_Layer: 5
+  m_Name: Pause
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1980215162
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1980215161}
+  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_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 692585828}
+  m_Father: {fileID: 1924155411}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 40, y: 39}
+  m_SizeDelta: {x: 160, y: 30}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1980215163
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1980215161}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 1980215164}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 954598547}
+        m_TargetAssemblyTypeName: MarksAssets.VideoPlayerWebGL.VideoPlayerWebGL,
+          Assembly-CSharp
+        m_MethodName: Pause
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+--- !u!114 &1980215164
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1980215161}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1980215165
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1980215161}
+  m_CullTransparentMesh: 0
+--- !u!1660057539 &9223372036854775807
+SceneRoots:
+  m_ObjectHideFlags: 0
+  m_Roots:
+  - {fileID: 963194228}
+  - {fileID: 954598543}
+  - {fileID: 1240359467}
+  - {fileID: 1259349749}
+  - {fileID: 705507995}
+  - {fileID: 585276844}

+ 1 - 1
Assets/StreamingAssets/ui/one_mp4_2.mp4.meta → Assets/MarksAssets/VideoPlayerWebGL/Example/Scenes/VideoPlayerWebGLSampleScene.unity.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: c8599ea7b331b46fda7cb89938bd466d
+guid: 1aa5ab6260d56274a86e6a01789ee9c2
 DefaultImporter:
   externalObjects: {}
   userData: 

+ 8 - 0
Assets/MarksAssets/VideoPlayerWebGL/Example/Scripts.meta

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

+ 108 - 0
Assets/MarksAssets/VideoPlayerWebGL/Example/Scripts/SpatialAudioCalculatorVideoPlayerWebGL.cs

@@ -0,0 +1,108 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using MarksAssets.VideoPlayerWebGL;
+
+public class SpatialAudioCalculatorVideoPlayerWebGL : MonoBehaviour
+{
+    [Tooltip("Volume of audio source when you are close to it (closer than 'Distance Begin Falloff Curve').")]
+    [Range(0.0f, 1.0f)] public float maxVolume = 1.0f;
+    [Tooltip("Distance where the smooth falloff curve begins. If distance is less than this, we are at full volume.")]
+    public float distanceBeginFalloffCurve = 3.0f;
+    [Tooltip("Distance where smooth falloff curve ends. If distance is greater than this, we are at zero volume.")]
+    public float distanceEndFalloffCurve = 10.0f;
+
+    [Header("References")]
+    [Tooltip("The position of this transform is used to calculate spatial audio in relation to the active Audio Listener in the scene. If you want audio to come from the video screen, place this transform at the very center of the video screen.")]
+    public Transform audioSourceTransform;
+    
+    [Header("Debug")]
+    [SerializeField] [Range(0.0f, 1.0f)] private float currentVolume = 0.0f;
+    [SerializeField] [Range(-1.0f, 1.0f)] private float currentPan = 0.0f;
+
+    // Private variables
+    private AudioListener audioListener;
+    private VideoPlayerWebGL videoPlayerWebGL;
+
+    private void Start()
+    {
+        if (videoPlayerWebGL == null)
+            videoPlayerWebGL = GetComponent<VideoPlayerWebGL>();
+
+        if (videoPlayerWebGL == null)
+        {
+            if (Application.isEditor)
+                Debug.LogError("'SpatialAudioCalculatorVideoPlayerWebGL' script must be attached to the same game object as the VideoPlayerWebGL script.");
+        }
+        else
+        {
+            videoPlayerWebGL.ForceMono(true);   // Ensure that we are panning a mono audio source (required for correct 3D audio spatialization).
+        }
+    }
+
+    private void Update()
+    {
+        if (videoPlayerWebGL != null && videoPlayerWebGL.enabled)
+            UpdateSpatialAudio();
+    }
+
+    private void UpdateSpatialAudio()
+    {
+        if (audioListener == null || !audioListener.enabled || !audioListener.gameObject.activeInHierarchy)
+            audioListener = GetActiveAudioListener(); // Get the active audio listener in the scene (if neccessary).
+
+        if (audioListener == null)  // If there is no active audio listener in the scene, set the volume to zero (no need to adjust pan).
+        {
+            currentVolume = 0.0f;
+        }
+        else
+        {
+            currentVolume = GetProximityVolume();
+
+            if (currentVolume > 0.0f)   // Only calculate pan if we can actually hear the audio source.
+                currentPan = GetPan();
+        }        
+
+        videoPlayerWebGL.Volume(currentVolume);
+        videoPlayerWebGL.Pan(currentPan);
+    }
+
+    private float GetPan()  // Source (public article from Agora): https://www.agora.io/en/blog/implementing-spatial-audio-chat-in-unity-using-agora/
+    {
+        Vector3 directionToAudioSource = audioSourceTransform.position - audioListener.transform.position;
+        directionToAudioSource.Normalize();
+        float pan = Vector3.Dot(audioListener.transform.right, directionToAudioSource);
+        return pan;
+    }
+
+    private float GetProximityVolume()
+    {
+        float distance = Vector3.Distance(audioListener.transform.position, audioSourceTransform.position);
+        float calculatedVolume;
+
+        if (distance >= distanceEndFalloffCurve) // Zero volume if audio listener is further than end falloff distance.
+            calculatedVolume = 0.0f;
+        else if (distance <= distanceBeginFalloffCurve)  // Max volume if audio listener is closer than the begin falloff distance.
+            calculatedVolume = 1.0f * maxVolume;
+        else  // Otherwise, calculate the falloff curve using the Mathf.SmoothStep function for a smooth transition.
+        {
+            float falloffCurveVolume = Mathf.SmoothStep(1.0f, 0.0f, (distance - distanceBeginFalloffCurve) / (distanceEndFalloffCurve - distanceBeginFalloffCurve));  // A smooth 1 to 0 as user gets further away.
+            calculatedVolume = falloffCurveVolume * maxVolume;
+        }
+
+        return calculatedVolume;
+    }
+
+    private AudioListener GetActiveAudioListener()
+    {
+        AudioListener[] audioListenersInScene = GameObject.FindObjectsOfType<AudioListener>();
+
+        for (int i = 0; i < audioListenersInScene.Length; i++)
+        {
+            if (audioListenersInScene[i].enabled && audioListenersInScene[i].gameObject.activeInHierarchy)
+                return audioListenersInScene[i];   // Find an enabled audio listener.
+        }
+
+        return null;    // Return null if no active audio lister was found.
+    }
+}

+ 11 - 0
Assets/MarksAssets/VideoPlayerWebGL/Example/Scripts/SpatialAudioCalculatorVideoPlayerWebGL.cs.meta

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

+ 8 - 0
Assets/MarksAssets/VideoPlayerWebGL/Materials.meta

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

+ 77 - 0
Assets/MarksAssets/VideoPlayerWebGL/Materials/VideoMaterial.mat

@@ -0,0 +1,77 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: VideoMaterial
+  m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _EMISSION
+  m_LightmapFlags: 2
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 8400000, guid: 0e647d24a207a8941b6784526b821ea7, type: 2}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 8400000, guid: 0e647d24a207a8941b6784526b821ea7, type: 2}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 1, g: 1, b: 1, a: 1}

+ 8 - 0
Assets/MarksAssets/VideoPlayerWebGL/Materials/VideoMaterial.mat.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 65530a4fdb54f3445a6c3b0a521d90f9
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 77 - 0
Assets/MarksAssets/VideoPlayerWebGL/Materials/VideoMaterial2.mat

@@ -0,0 +1,77 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: VideoMaterial2
+  m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _EMISSION
+  m_LightmapFlags: 2
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 8400000, guid: 7e6d254474e9f2e4e8364ba3a08be698, type: 2}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 8400000, guid: 7e6d254474e9f2e4e8364ba3a08be698, type: 2}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 1, g: 1, b: 1, a: 1}

+ 8 - 0
Assets/MarksAssets/VideoPlayerWebGL/Materials/VideoMaterial2.mat.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 2a64aaeb6cbc3e9488432dce273e33fa
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/MarksAssets/VideoPlayerWebGL/Plugins.meta

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

+ 351 - 0
Assets/MarksAssets/VideoPlayerWebGL/Plugins/VideoPlayerWebGL.jslib

@@ -0,0 +1,351 @@
+mergeInto(LibraryManager.library, {
+	VideoPlayerWebGL_CreateVideo: function (url, cors, id, autoplay, loop, muted, volume, pan, forceMono, playbackSpeed, texturePtr, events, canUpdateTexture, useMipMap) {
+		id = UTF8ToString(id);
+		
+		Module['VideoPlayerWebGL'].canUpdateTextureRef = Module['VideoPlayerWebGL'].canUpdateTextureRef || canUpdateTexture;
+		Module['VideoPlayerWebGL'].canUpdateTextureArr = Module['VideoPlayerWebGL'].canUpdateTextureArr || new Uint32Array(buffer, canUpdateTexture, 1);
+
+		//videos have the following custom property: VideoPlayerWebGL : {requestId, texturePtr, playingFlag, timeupdateFlag, createdVideoFlag, events: {}, createVideo:function, timeupdate:function, playing:function, pause:function}
+        const video = document.getElementById("VideoPlayerWebGL_" + id) || document.querySelector("body").appendChild(document.createElement("video"));
+        if (video.hasAttribute("src")) return;//if it has the src attribute set, the video was already created and set up. Don't do anything else, just return.
+        url = UTF8ToString(url) + "#t=0.0000001";//this last part is a trick to get Safari to show the first frame of the video, even if it doesn't play automatically.
+        cors = UTF8ToString(cors);
+        events = UTF8ToString(events).replace(/\s/g, "").split(",");
+        events = events[0] === "-1" ? ["canplay", "canplaythrough", "complete", "durationchange", "emptied", "ended", "loadeddata", "loadedmetadata", "pause", "play", "playing", "progress", "ratechange", "seeked", "seeking", "stalled", "suspend", "timeupdate", "volumechange", "waiting"] : events[0] === "0" ? undefined : events;
+        video.VideoPlayerWebGL = {};
+		video.VideoPlayerWebGL.playingFlag = false;
+		video.VideoPlayerWebGL.timeupdateFlag = false;
+		video.VideoPlayerWebGL.createdVideoFlag = false;
+        video.VideoPlayerWebGL.events = {};
+		video.VideoPlayerWebGL.useMipMap = useMipMap;
+        events && events.forEach((function(event) {
+            video.VideoPlayerWebGL.events[event] = (function() {
+                Module["VideoPlayerWebGL"][event](id)
+            });
+            video.addEventListener(event, video.VideoPlayerWebGL.events[event])
+        }));
+        video.setAttribute("id", "VideoPlayerWebGL_" + id);
+        video.setAttribute("name", /[^/]*$/.exec(url)[0].replace("#t=0.0000001", ""));
+        video.setAttribute("src", url);
+        video.setAttribute("playsinline", "");
+        video.defaultPlaybackRate = playbackSpeed;
+        video.playbackRate = playbackSpeed;
+        video.volume = volume;
+		video.pan = pan;
+		video.forceMono = forceMono;
+        video.VideoPlayerWebGL.texturePtr = texturePtr;
+        video.preload === "metadata" && (video.preload = "auto");//it needs to be done like this because of Safari. On mobile Safari, the video.preload value is already set to auto. Setting the value again to auto makes the video not play for some reason. So I only touch the preload attribute if its value is not already auto, which happens on Android Chrome. 
+        muted && (video.muted = true);//the muted attribute doesn't do anything. The property that needs to be changed. They are different things.
+        autoplay && video.setAttribute("autoplay", "");//it will autoplay on chrome even if not muted, as long as the user touches the screen anywhere before the video loads. The user can do this even before the Unity scenes loads. On Safari, however, this won't work. The user will need to click on a button using a pointerdown event on the Unity side, so that the play method is called on the js side on a pointerup.
+        loop && video.setAttribute("loop", "");
+        cors && video.setAttribute("crossorigin", cors);
+        video.style.pointerEvents = "none";
+		video.style.zIndex = "-1000";
+		video.style.position = "fixed";
+		video.style.top = "0";
+        video.width = video.height = 1;//using style.display = "none" makes the autoplay fail on all browsers, even if it's muted. Changing the opacity to 0 or visibility to hidden still shows the video on the HTML as a white plane. Setting the width and height to 0 makes the autoplay fail on Safari. But setting it to 1 makes the autoplay work if it's muted on both browsers and solves the problem of showing the video on the html.
+		
+		video.VideoPlayerWebGL.createVideo = function() {
+			if (!video.VideoPlayerWebGL.createdVideoFlag && video.VideoPlayerWebGL.playingFlag && video.VideoPlayerWebGL.timeupdateFlag) {
+				video.addEventListener("timeupdate", function() {//after it's playing and time update ran once, still need to check once more to guarantee there is data. All of this set up is because of firefox.
+					video.VideoPlayerWebGL.createdVideoFlag = video.VideoPlayerWebGL.canUpdateTexture = true;
+					(function(number, bitPosition) {
+						if (Module['VideoPlayerWebGL'].canUpdateTextureArr.byteLength === 0)//buffer resized, need to assign array again
+							Module['VideoPlayerWebGL'].canUpdateTextureArr = new Uint32Array(buffer, Module['VideoPlayerWebGL'].canUpdateTextureRef, 1);
+					
+						Module['VideoPlayerWebGL'].canUpdateTextureArr[0] = number | (1 << bitPosition);
+					})(Module['VideoPlayerWebGL'].canUpdateTextureArr[0], parseInt(id));
+				}, {once: true});
+			}
+		}
+	
+		video.VideoPlayerWebGL.pause = (function() {
+            video.VideoPlayerWebGL.canUpdateTexture = false;
+			(function(number, bitPosition) {
+				if (Module['VideoPlayerWebGL'].canUpdateTextureArr.byteLength === 0)//buffer resized, need to assign array again
+					Module['VideoPlayerWebGL'].canUpdateTextureArr = new Uint32Array(buffer, Module['VideoPlayerWebGL'].canUpdateTextureRef, 1);
+				
+				const mask = ~(1 << bitPosition);
+				Module['VideoPlayerWebGL'].canUpdateTextureArr[0] = number & mask;
+			})(Module['VideoPlayerWebGL'].canUpdateTextureArr[0], parseInt(id));
+        });
+		
+		video.VideoPlayerWebGL.playing = function() {
+			if (video.VideoPlayerWebGL.createdVideoFlag) {
+				video.VideoPlayerWebGL.canUpdateTexture = true;
+				(function(number, bitPosition) {
+					if (Module['VideoPlayerWebGL'].canUpdateTextureArr.byteLength === 0)//buffer resized, need to assign array again
+						Module['VideoPlayerWebGL'].canUpdateTextureArr = new Uint32Array(buffer, Module['VideoPlayerWebGL'].canUpdateTextureRef, 1);
+				
+					Module['VideoPlayerWebGL'].canUpdateTextureArr[0] = number | (1 << bitPosition);
+				})(Module['VideoPlayerWebGL'].canUpdateTextureArr[0], parseInt(id));
+			} else {
+				video.VideoPlayerWebGL.playingFlag = true;
+				video.VideoPlayerWebGL.createVideo();
+			}
+		};
+		
+		video.VideoPlayerWebGL.timeupdate = function() {
+			if (!video.VideoPlayerWebGL.createdVideoFlag) {
+				video.VideoPlayerWebGL.timeupdateFlag = true;
+				video.VideoPlayerWebGL.createVideo();
+			}
+		};
+		
+        video.addEventListener("playing", video.VideoPlayerWebGL.playing);
+		video.addEventListener("timeupdate", video.VideoPlayerWebGL.timeupdate);
+        video.addEventListener("pause", video.VideoPlayerWebGL.pause);
+    },
+	/*
+		this method was made for Safari. It needs to be called on a pointerdown event on the Unity side. This is because to play a video that is not muted a user gesture is required. 
+		But only the first time, so I made this method. The idea is to call this on a button to start the experience so the video is unlocked,
+		and then later you can play the video calling the play method on the onClick method or any other method you want and not need to worry if it will work.
+		I suggest calling this method with other methods about requesting permission, like using the gyroscope using my asset: https://assetstore.unity.com/packages/tools/camera/gyrocamwebgl-176394
+		This method just plays the video and immediately pauses it, to just unlock it so you can call VideoPlayerWebGL_PlayVideo later whenever you want on any Unity method.
+		If you want to press a button and play the video immediately, without having a button just to unlock the video playback, you can have a normal button in Unity
+		calling VideoPlayerWebGL_PlayVideo on an onClick event, and on the same button add an onpointerdown event with VideoPlayerWebGL_unlockVideoPlayback.
+		Alternatively, you can just always call VideoPlayerWebGL_PlayVideoPointerDown on a pointerdown event.
+	*/
+	VideoPlayerWebGL_unlockVideoPlayback: function(id) { 
+		const video = document.getElementById("VideoPlayerWebGL_" + UTF8ToString(id));
+		if (!video)
+			return;
+		
+		document.documentElement.addEventListener('pointerup', function() {
+			const curTime = video.currentTime;
+            video.play();
+			video.pause();
+			video.currentTime = curTime;//just in case this function is called more than once by accident, it won't do anything.
+			Module['VideoPlayerWebGL'].setPan(video, video.pan);
+		}, { once: true });
+		
+	},
+	VideoPlayerWebGL_UpdateTexture: function(id) {
+		const video = document.getElementById("VideoPlayerWebGL_" + id);
+		if (!video) return false;
+		if (!video.VideoPlayerWebGL.canUpdateTexture) return false;
+        if (!(video.videoWidth > 0 && video.videoHeight > 0)) return false;
+        if (video.lastUpdateTextureTime === video.currentTime) return false;
+        video.lastUpdateTextureTime = video.currentTime;
+	
+		if (video.previousUploadedWidth != video.videoWidth || video.previousUploadedHeight != video.videoHeight) {
+            GLctx.deleteTexture(GL.textures[video.VideoPlayerWebGL.texturePtr]);
+			GL.textures[video.VideoPlayerWebGL.texturePtr] = GLctx.createTexture();
+			GL.textures[video.VideoPlayerWebGL.texturePtr].name = video.VideoPlayerWebGL.texturePtr;
+			var prevTex = GLctx.getParameter(GLctx.TEXTURE_BINDING_2D);
+			GLctx.bindTexture(GLctx.TEXTURE_2D, GL.textures[video.VideoPlayerWebGL.texturePtr]);
+			GLctx.pixelStorei(GLctx.UNPACK_FLIP_Y_WEBGL, true);
+			GLctx.texParameteri(GLctx.TEXTURE_2D, GLctx.TEXTURE_WRAP_S, GLctx.CLAMP_TO_EDGE);
+			GLctx.texParameteri(GLctx.TEXTURE_2D, GLctx.TEXTURE_WRAP_T, GLctx.CLAMP_TO_EDGE);
+			!video.VideoPlayerWebGL.useMipMap ? GLctx.texParameteri(GLctx.TEXTURE_2D, GLctx.TEXTURE_MIN_FILTER, GLctx.LINEAR) : GLctx.texParameteri(GLctx.TEXTURE_2D, GLctx.TEXTURE_MIN_FILTER, GLctx.LINEAR_MIPMAP_NEAREST);
+			GLctx.texImage2D(GLctx.TEXTURE_2D, 0, GLctx.RGBA, GLctx.RGBA, GLctx.UNSIGNED_BYTE, video);
+			video.VideoPlayerWebGL.useMipMap && GLctx.generateMipmap(GLctx.TEXTURE_2D);
+			GLctx.pixelStorei(GLctx.UNPACK_FLIP_Y_WEBGL, false);
+			GLctx.bindTexture(GLctx.TEXTURE_2D, prevTex);
+            video.previousUploadedWidth = video.videoWidth;
+            video.previousUploadedHeight = video.videoHeight
+        } else {
+            GLctx.pixelStorei(GLctx.UNPACK_FLIP_Y_WEBGL, true);
+			var prevTex = GLctx.getParameter(GLctx.TEXTURE_BINDING_2D);
+			GLctx.bindTexture(GLctx.TEXTURE_2D, GL.textures[video.VideoPlayerWebGL.texturePtr]);
+			GLctx.texImage2D(GLctx.TEXTURE_2D, 0, GLctx.RGBA, GLctx.RGBA, GLctx.UNSIGNED_BYTE, video);
+			video.VideoPlayerWebGL.useMipMap && GLctx.generateMipmap(GLctx.TEXTURE_2D);
+			GLctx.pixelStorei(GLctx.UNPACK_FLIP_Y_WEBGL, false);
+			GLctx.bindTexture(GLctx.TEXTURE_2D, prevTex);
+        }
+	},
+	VideoPlayerWebGL_PlayVideoPointerDown: function(id) { 
+		const video = document.getElementById("VideoPlayerWebGL_" + UTF8ToString(id));
+		if (!video)
+			return;
+		
+		document.documentElement.addEventListener('pointerup', function() {
+            video.play();
+			Module['VideoPlayerWebGL'].setPan(video, video.pan);
+		}, { once: true });
+		
+	},
+	VideoPlayerWebGL_PlayVideo: function(id) {
+		const video = document.getElementById("VideoPlayerWebGL_" + UTF8ToString(id));
+		if (!video)
+			return;
+		
+		video.play();
+	},
+	VideoPlayerWebGL_PauseVideo: function(id) {
+		const video = document.getElementById("VideoPlayerWebGL_" + UTF8ToString(id));
+		if (!video)
+			return;
+		video.pause();
+	},
+	VideoPlayerWebGL_StopVideo: function(id) {
+		const video = document.getElementById("VideoPlayerWebGL_" + UTF8ToString(id));
+		if (!video)
+			return;
+		video.pause();
+		video.currentTime = 0;
+	},
+	VideoPlayerWebGL_RestartVideo: function(id) {
+		const video = document.getElementById("VideoPlayerWebGL_" + UTF8ToString(id));
+		if (!video)
+			return;
+		video.currentTime = 0;
+		video.play();
+	},
+	VideoPlayerWebGL_GetTimeVideo: function(id) {
+		const video = document.getElementById("VideoPlayerWebGL_" + UTF8ToString(id));
+		return !video ? -1.0 : video.currentTime;
+	},
+	VideoPlayerWebGL_SetTimeVideo: function(id, time) {
+		const video = document.getElementById("VideoPlayerWebGL_" + UTF8ToString(id));
+		if (!video)
+			return;
+		
+		video.currentTime = time;
+	},
+	VideoPlayerWebGL_LengthVideo: function(id) {
+		const video = document.getElementById("VideoPlayerWebGL_" + UTF8ToString(id));	
+		return !video ? -1.0 : video.duration;
+	},
+	VideoPlayerWebGL_SetLoopVideo: function(id, loop) {
+		const video = document.getElementById("VideoPlayerWebGL_" + UTF8ToString(id));
+		if (!video)
+			return;
+		if (loop && !video.hasAttribute("loop"))
+			video.setAttribute("loop", "");
+		else if (!loop && video.hasAttribute("loop"))
+			video.removeAttribute("loop");
+	},
+	VideoPlayerWebGL_SetAutoplayVideo: function(id, autoplay) {
+		const video = document.getElementById("VideoPlayerWebGL_" + UTF8ToString(id));
+		if (!video)
+			return;
+		if (autoplay && !video.hasAttribute("autoplay"))
+			video.setAttribute("autoplay", "");
+		else if (!autoplay && video.hasAttribute("autoplay"))
+			video.removeAttribute("autoplay");
+	},
+	VideoPlayerWebGL_SetMuteVideo: function(id, mute) {
+		const video = document.getElementById("VideoPlayerWebGL_" + UTF8ToString(id));
+		if (!video)
+			return;
+		video.muted = mute;
+	},
+	VideoPlayerWebGL_PlayBackSpeedVideo: function(id, speed) {
+		const video = document.getElementById("VideoPlayerWebGL_" + UTF8ToString(id));
+		if (!video)
+			return;
+		video.defaultPlaybackRate = speed;
+		video.playbackRate = speed;
+	},
+	/*
+		You may get the following error if you're trying to load a video from an external URL and not the local StreamingAssets folder:
+		Access to video at 'urlVideo' from origin 'urlOrigin' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
+	*/
+	VideoPlayerWebGL_SourceVideo: function(id, url, cors) {
+		const video = document.getElementById("VideoPlayerWebGL_" + UTF8ToString(id));
+        if (!video) return;
+        url = UTF8ToString(url);
+        cors = UTF8ToString(cors);
+        video.setAttribute("src", url);
+        video.setAttribute("name", /[^/]*$/.exec(url)[0].replace("#t=0.0000001", ""));
+		video.VideoPlayerWebGL.createdVideoFlag = video.VideoPlayerWebGL.playingFlag = video.VideoPlayerWebGL.timeupdateFlag = false;
+        cors ? video.setAttribute("crossorigin", cors) : video.removeAttribute("crossorigin");
+		video.VideoPlayerWebGL.playedFirstTimeAfterLoading = false;
+        video.load();
+	},
+	VideoPlayerWebGL_IsPlayingVideo: function(id) {
+		const video = document.getElementById("VideoPlayerWebGL_" + UTF8ToString(id));
+		return !video ? false : !!(video.currentTime > 0 && !video.paused && !video.ended && video.readyState > 2);
+	},
+	VideoPlayerWebGL_IsPausedVideo: function(id) {
+		const video = document.getElementById("VideoPlayerWebGL_" + UTF8ToString(id));
+		return !video ? false : video.paused;
+	},
+	VideoPlayerWebGL_WidthVideo: function(id) {
+		const video = document.getElementById("VideoPlayerWebGL_" + UTF8ToString(id));
+		return !video ? 0 : video.videoWidth;
+	},
+	VideoPlayerWebGL_HeightVideo: function(id) {
+		const video = document.getElementById("VideoPlayerWebGL_" + UTF8ToString(id));
+		return !video ? 0 : video.videoHeight;
+	},
+	VideoPlayerWebGL_SetVolumeVideo: function(id, volume) {
+		const video = document.getElementById("VideoPlayerWebGL_" + UTF8ToString(id));
+		if (!video)
+			return;
+		video.volume = volume;
+	},
+	VideoPlayerWebGL_SetPanVideo: function(id, pan) {
+		const video = document.getElementById("VideoPlayerWebGL_" + UTF8ToString(id));
+		if (!video)
+			return;
+		Module['VideoPlayerWebGL'].setPan(video, pan);
+	},
+	VideoPlayerWebGL_SetForceMonoVideo: function(id, forceMono) {
+		const video = document.getElementById("VideoPlayerWebGL_" + UTF8ToString(id));
+		if (!video)
+			return;
+			
+		video.forceMono = forceMono;
+	},
+	VideoPlayerWebGL_SetCorsVideo: function(id, cors) {
+		const video = document.getElementById("VideoPlayerWebGL_" + UTF8ToString(id));
+		if (!video)
+			return;
+		cors = UTF8ToString(cors);
+		cors ? video.setAttribute("crossorigin", cors) : video.removeAttribute("crossorigin");
+	},
+	VideoPlayerWebGL_IsReadyVideo: function(id) {
+		const video = document.getElementById("VideoPlayerWebGL_" + UTF8ToString(id));
+		if (!video)
+			return;
+		return video.readyState >= 4;
+	},
+	VideoPlayerWebGL_DestroyVideo: function(id) {
+		id = UTF8ToString(id);
+		var video = document.getElementById("VideoPlayerWebGL_" + id);
+        if (!video) return;
+        video.VideoPlayerWebGL.canUpdateTexture = false;
+		(function(number, bitPosition) {
+			if (Module['VideoPlayerWebGL'].canUpdateTextureArr.byteLength === 0)//buffer resized, need to assign array again
+				Module['VideoPlayerWebGL'].canUpdateTextureArr = new Uint32Array(buffer, Module['VideoPlayerWebGL'].canUpdateTextureRef, 1);
+			
+			const mask = ~(1 << bitPosition);
+			Module['VideoPlayerWebGL'].canUpdateTextureArr[0] = number & mask;
+		})(Module['VideoPlayerWebGL'].canUpdateTextureArr[0], parseInt(id));
+        GLctx.bindTexture(GLctx.TEXTURE_2D, null);
+        video.pause();
+        video.removeAttribute("src");
+        video.load();
+		//just to be safe...remove event listeners manually. Although it is said that modern browsers take care of this.
+        Object.keys(video.VideoPlayerWebGL.events).forEach((function(event) {video.removeEventListener(event, video.VideoPlayerWebGL.events[event])}));
+        video.removeEventListener("playing", video.VideoPlayerWebGL.playing);
+		video.removeEventListener("timeupdate", video.VideoPlayerWebGL.timeupdate);
+        video.removeEventListener("pause", video.VideoPlayerWebGL.pause);
+        video.remove();
+        video = null
+	},
+	VideoPlayerWebGL_RegisterEvent: function(id, events) {
+		id = UTF8ToString(id);
+		const video = document.getElementById("VideoPlayerWebGL_" + id);
+        if (!video) return;
+		events = UTF8ToString(events).replace(/\s/g, "").split(",");//can be multiple events
+		events = events[0] === "-1" ? ["canplay", "canplaythrough", "complete", "durationchange", "emptied", "ended", "loadeddata", "loadedmetadata", "pause", "play", "playing", "progress", "ratechange", "seeked", "seeking", "stalled", "suspend", "timeupdate", "volumechange", "waiting"] : events[0] === "0" ? undefined : events;
+		events && events.forEach(function(event) {
+			video.removeEventListener(event, video.VideoPlayerWebGL.events[event]);//if a previous event was already being listened to, remove it.
+			video.VideoPlayerWebGL.events[event] = function() {Module['VideoPlayerWebGL'][event](id);}//store new event
+			video.addEventListener(event, video.VideoPlayerWebGL.events[event]);//and listen to it.
+		});
+	},
+	VideoPlayerWebGL_UnregisterEvent: function(id, events) {
+		const video = document.getElementById("VideoPlayerWebGL_" + UTF8ToString(id));
+        if (!video) return;
+		events = UTF8ToString(events).replace(/\s/g, "").split(",");//can be multiple events
+		events = events[0] === "-1" ? ["canplay", "canplaythrough", "complete", "durationchange", "emptied", "ended", "loadeddata", "loadedmetadata", "pause", "play", "playing", "progress", "ratechange", "seeked", "seeking", "stalled", "suspend", "timeupdate", "volumechange", "waiting"] : events[0] === "0" ? undefined : events;
+		events && events.forEach(function(event) {
+			video.removeEventListener(event, video.VideoPlayerWebGL.events[event]);//if a previous event was already being listened to, remove it.
+			delete video.VideoPlayerWebGL.events[event];
+		});
+	},
+});

+ 32 - 0
Assets/MarksAssets/VideoPlayerWebGL/Plugins/VideoPlayerWebGL.jslib.meta

@@ -0,0 +1,32 @@
+fileFormatVersion: 2
+guid: 5481b03cadcab02449e17662d5f967c7
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  defineConstraints: []
+  isPreloaded: 0
+  isOverridable: 0
+  isExplicitlyReferenced: 0
+  validateReferences: 1
+  platformData:
+  - first:
+      Any: 
+    second:
+      enabled: 0
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 0
+      settings:
+        DefaultValueInitialized: true
+  - first:
+      WebGL: WebGL
+    second:
+      enabled: 1
+      settings: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 67 - 0
Assets/MarksAssets/VideoPlayerWebGL/Plugins/VideoPlayerWebGLUnityFunctions.c

@@ -0,0 +1,67 @@
+#include "emscripten.h"
+
+void (*VideoPlayerWebGL_canplayClbks_ref)(const char *);
+void (*VideoPlayerWebGL_canplaythroughClbks_ref)(const char *);
+void (*VideoPlayerWebGL_completeClbks_ref)(const char *);
+void (*VideoPlayerWebGL_durationchangeClbks_ref)(const char *);
+void (*VideoPlayerWebGL_emptiedClbks_ref)(const char *);
+void (*VideoPlayerWebGL_endedClbks_ref)(const char *);
+void (*VideoPlayerWebGL_loadeddataClbks_ref)(const char *);
+void (*VideoPlayerWebGL_loadedmetadataClbks_ref)(const char *);
+void (*VideoPlayerWebGL_pauseClbks_ref)(const char *);
+void (*VideoPlayerWebGL_playClbks_ref)(const char *);
+void (*VideoPlayerWebGL_playingClbks_ref)(const char *);
+void (*VideoPlayerWebGL_progressClbks_ref)(const char *);
+void (*VideoPlayerWebGL_ratechangeClbks_ref)(const char *);
+void (*VideoPlayerWebGL_seekedClbks_ref)(const char *);
+void (*VideoPlayerWebGL_seekingClbks_ref)(const char *);
+void (*VideoPlayerWebGL_stalledClbks_ref)(const char *);
+void (*VideoPlayerWebGL_suspendClbks_ref)(const char *);
+void (*VideoPlayerWebGL_timeupdateClbks_ref)(const char *);
+void (*VideoPlayerWebGL_volumechangeClbks_ref)(const char *);
+void (*VideoPlayerWebGL_waitingClbks_ref)(const char *);
+
+void VideoPlayerWebGL_setUnityFunctions(void (*canplayClbks) (const char *), void (*canplaythroughClbks) (const char *), void (*completeClbks) (const char *), void (*durationchangeClbks) (const char *), void (*emptiedClbks) (const char *), void (*endedClbks) (const char *), void (*loadeddataClbks) (const char *), void (*loadedmetadataClbks) (const char *), void (*pauseClbks) (const char *), void (*playClbks) (const char *), void (*playingClbks) (const char *), void (*progressClbks) (const char *), void (*ratechangeClbks) (const char *), void (*seekedClbks) (const char *), void (*seekingClbks) (const char *), void (*stalledClbks) (const char *), void (*suspendClbks) (const char *), void (*timeupdateClbks) (const char *), void (*volumechangeClbks) (const char *), void (*waitingClbks) (const char *)) {
+	if (VideoPlayerWebGL_canplayClbks_ref) return;
+	VideoPlayerWebGL_canplayClbks_ref        = canplayClbks;
+	VideoPlayerWebGL_canplaythroughClbks_ref = canplaythroughClbks;
+	VideoPlayerWebGL_completeClbks_ref       = completeClbks;
+	VideoPlayerWebGL_durationchangeClbks_ref = durationchangeClbks;
+	VideoPlayerWebGL_emptiedClbks_ref        = emptiedClbks;
+	VideoPlayerWebGL_endedClbks_ref          = endedClbks;
+	VideoPlayerWebGL_loadeddataClbks_ref     = loadeddataClbks;
+	VideoPlayerWebGL_loadedmetadataClbks_ref = loadedmetadataClbks;
+	VideoPlayerWebGL_pauseClbks_ref          = pauseClbks;
+	VideoPlayerWebGL_playClbks_ref           = playClbks;
+	VideoPlayerWebGL_playingClbks_ref        = playingClbks;
+	VideoPlayerWebGL_progressClbks_ref       = progressClbks;
+	VideoPlayerWebGL_ratechangeClbks_ref     = ratechangeClbks;
+	VideoPlayerWebGL_seekedClbks_ref         = seekingClbks;
+	VideoPlayerWebGL_seekingClbks_ref        = seekedClbks;
+	VideoPlayerWebGL_stalledClbks_ref        = stalledClbks;
+	VideoPlayerWebGL_suspendClbks_ref        = suspendClbks;
+	VideoPlayerWebGL_timeupdateClbks_ref     = timeupdateClbks;
+	VideoPlayerWebGL_volumechangeClbks_ref   = volumechangeClbks;
+	VideoPlayerWebGL_waitingClbks_ref        = waitingClbks;
+}
+
+void EMSCRIPTEN_KEEPALIVE VideoPlayerWebGL_canplayClbks(const char *id) {VideoPlayerWebGL_canplayClbks_ref(id);}
+void EMSCRIPTEN_KEEPALIVE VideoPlayerWebGL_canplaythroughClbks(const char *id) {VideoPlayerWebGL_canplaythroughClbks_ref(id);}
+void EMSCRIPTEN_KEEPALIVE VideoPlayerWebGL_completeClbks(const char *id) {VideoPlayerWebGL_completeClbks_ref(id);}
+void EMSCRIPTEN_KEEPALIVE VideoPlayerWebGL_durationchangeClbks(const char *id) {VideoPlayerWebGL_durationchangeClbks_ref(id);}
+void EMSCRIPTEN_KEEPALIVE VideoPlayerWebGL_emptiedClbks(const char *id) {VideoPlayerWebGL_emptiedClbks_ref(id);}
+void EMSCRIPTEN_KEEPALIVE VideoPlayerWebGL_endedClbks(const char *id) {VideoPlayerWebGL_endedClbks_ref(id);}
+void EMSCRIPTEN_KEEPALIVE VideoPlayerWebGL_loadeddataClbks(const char *id) {VideoPlayerWebGL_loadeddataClbks_ref(id);}
+void EMSCRIPTEN_KEEPALIVE VideoPlayerWebGL_loadedmetadataClbks(const char *id) {VideoPlayerWebGL_loadedmetadataClbks_ref(id);}
+void EMSCRIPTEN_KEEPALIVE VideoPlayerWebGL_pauseClbks(const char *id) {VideoPlayerWebGL_pauseClbks_ref(id);}
+void EMSCRIPTEN_KEEPALIVE VideoPlayerWebGL_playClbks(const char *id) {VideoPlayerWebGL_playClbks_ref(id);}
+void EMSCRIPTEN_KEEPALIVE VideoPlayerWebGL_playingClbks(const char *id) {VideoPlayerWebGL_playingClbks_ref(id);}
+void EMSCRIPTEN_KEEPALIVE VideoPlayerWebGL_progressClbks(const char *id) {VideoPlayerWebGL_progressClbks_ref(id);}
+void EMSCRIPTEN_KEEPALIVE VideoPlayerWebGL_ratechangeClbks(const char *id) {VideoPlayerWebGL_ratechangeClbks_ref(id);}
+void EMSCRIPTEN_KEEPALIVE VideoPlayerWebGL_seekedClbks(const char *id) {VideoPlayerWebGL_seekedClbks_ref(id);}
+void EMSCRIPTEN_KEEPALIVE VideoPlayerWebGL_seekingClbks(const char *id) {VideoPlayerWebGL_seekingClbks_ref(id);}
+void EMSCRIPTEN_KEEPALIVE VideoPlayerWebGL_stalledClbks(const char *id) {VideoPlayerWebGL_stalledClbks_ref(id);}
+void EMSCRIPTEN_KEEPALIVE VideoPlayerWebGL_suspendClbks(const char *id) {VideoPlayerWebGL_suspendClbks_ref(id);}
+void EMSCRIPTEN_KEEPALIVE VideoPlayerWebGL_timeupdateClbks(const char *id) {VideoPlayerWebGL_timeupdateClbks_ref(id);}
+void EMSCRIPTEN_KEEPALIVE VideoPlayerWebGL_volumechangeClbks(const char *id) {VideoPlayerWebGL_volumechangeClbks_ref(id);}
+void EMSCRIPTEN_KEEPALIVE VideoPlayerWebGL_waitingClbks(const char *id) {VideoPlayerWebGL_waitingClbks_ref(id);}

+ 27 - 0
Assets/MarksAssets/VideoPlayerWebGL/Plugins/VideoPlayerWebGLUnityFunctions.c.meta

@@ -0,0 +1,27 @@
+fileFormatVersion: 2
+guid: 127efce8b0f695341930e1f12df97a5f
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  defineConstraints: []
+  isPreloaded: 0
+  isOverridable: 0
+  isExplicitlyReferenced: 0
+  validateReferences: 1
+  platformData:
+  - first:
+      Any: 
+    second:
+      enabled: 1
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 0
+      settings:
+        DefaultValueInitialized: true
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 127 - 0
Assets/MarksAssets/VideoPlayerWebGL/Plugins/VideoPlayerWebGLUnityFunctions.jspre

@@ -0,0 +1,127 @@
+Module['VideoPlayerWebGL'] = Module['VideoPlayerWebGL'] || {};
+
+Module['VideoPlayerWebGL'].setPan = function(video, pan) {
+	if (!(window.AudioContext || window.webkitAudioContext).prototype.createStereoPanner) return;
+	if (pan === 0.0 && !this.audioCtxInternal && video.forceMono === false) return;
+
+	try {
+		this.audioCtxInternal = this.audioCtxInternal || new (window.AudioContext || window.webkitAudioContext)();
+	} catch(e) {
+		return;
+	}
+	
+	this.audioCtxInternal.VideoPlayerWebGL = this.audioCtxInternal.VideoPlayerWebGL || {};
+	
+	if (!this.audioCtxInternal.VideoPlayerWebGL[video.id]) {
+		this.audioCtxInternal.VideoPlayerWebGL[video.id] = {};
+		this.audioCtxInternal.VideoPlayerWebGL[video.id].source = this.audioCtxInternal.createMediaElementSource(video);
+		this.audioCtxInternal.VideoPlayerWebGL[video.id].panNode = this.audioCtxInternal.createStereoPanner();
+		this.audioCtxInternal.VideoPlayerWebGL[video.id].source.connect(this.audioCtxInternal.VideoPlayerWebGL[video.id].panNode);
+		this.audioCtxInternal.VideoPlayerWebGL[video.id].panNode.connect(this.audioCtxInternal.destination);
+	}
+	
+	if (video.forceMono) this.audioCtxInternal.VideoPlayerWebGL[video.id].panNode.channelCount = 1;
+	else this.audioCtxInternal.VideoPlayerWebGL[video.id].panNode.channelCount = this.audioCtxInternal.VideoPlayerWebGL[video.id].source.channelCount;
+	
+	video.pan = this.audioCtxInternal.VideoPlayerWebGL[video.id].panNode.pan.value = pan;
+};
+
+Module['VideoPlayerWebGL'].canplay = function(id) {
+	this.canplayInternal = this.canplayInternal || Module.cwrap("VideoPlayerWebGL_canplayClbks", null, ["string"]);
+	this.canplayInternal(id);
+};
+
+Module['VideoPlayerWebGL'].canplaythrough = function(id) {
+	this.canplaythroughInternal = this.canplaythroughInternal || Module.cwrap("VideoPlayerWebGL_canplaythroughClbks", null, ["string"]);
+	this.canplaythroughInternal(id);
+};
+
+Module['VideoPlayerWebGL'].complete = function(id) {
+	this.completeInternal = this.completeInternal || Module.cwrap("VideoPlayerWebGL_completeClbks", null, ["string"]);
+	this.completeInternal(id);
+};
+
+Module['VideoPlayerWebGL'].durationchange = function(id) {
+	this.durationchangeInternal = this.durationchangeInternal || Module.cwrap("VideoPlayerWebGL_durationchangeClbks", null, ["string"]);
+	this.durationchangeInternal(id);
+};
+
+Module['VideoPlayerWebGL'].emptied = function(id) {
+	this.emptiedInternal = this.emptiedInternal || Module.cwrap("VideoPlayerWebGL_emptiedClbks", null, ["string"]);
+	this.emptiedInternal(id);
+};
+
+Module['VideoPlayerWebGL'].ended = function(id) {
+	this.endedInternal = this.endedInternal || Module.cwrap("VideoPlayerWebGL_endedClbks", null, ["string"]);
+	this.endedInternal(id);
+};
+
+Module['VideoPlayerWebGL'].loadeddata = function(id) {
+	this.loadeddataInternal = this.loadeddataInternal || Module.cwrap("VideoPlayerWebGL_loadeddataClbks", null, ["string"]);
+	this.loadeddataInternal(id);
+};
+
+Module['VideoPlayerWebGL'].loadedmetadata = function(id) {
+	this.loadedmetadataInternal = this.loadedmetadataInternal || Module.cwrap("VideoPlayerWebGL_loadedmetadataClbks", null, ["string"]);
+	this.loadedmetadataInternal(id);
+};
+
+Module['VideoPlayerWebGL'].pause = function(id) {
+	this.pauseInternal = this.pauseInternal || Module.cwrap("VideoPlayerWebGL_pauseClbks", null, ["string"]);
+	this.pauseInternal(id);
+};
+
+Module['VideoPlayerWebGL'].play = function(id) {
+	this.playInternal = this.playInternal || Module.cwrap("VideoPlayerWebGL_playClbks", null, ["string"]);
+	this.playInternal(id);
+};
+
+Module['VideoPlayerWebGL'].playing = function(id) {
+	this.playingInternal = this.playingInternal || Module.cwrap("VideoPlayerWebGL_playingClbks", null, ["string"]);
+	this.playingInternal(id);
+};
+
+Module['VideoPlayerWebGL'].progress = function(id) {
+	this.progressInternal = this.progressInternal || Module.cwrap("VideoPlayerWebGL_progressClbks", null, ["string"]);
+	this.progressInternal(id);
+};
+
+Module['VideoPlayerWebGL'].ratechange = function(id) {
+	this.ratechangeInternal = this.ratechangeInternal || Module.cwrap("VideoPlayerWebGL_ratechangeClbks", null, ["string"]);
+	this.ratechangeInternal(id);
+};
+
+Module['VideoPlayerWebGL'].seeked = function(id) {
+	this.seekedInternal = this.seekedInternal || Module.cwrap("VideoPlayerWebGL_seekedClbks", null, ["string"]);
+	this.seekedInternal(id);
+};
+
+Module['VideoPlayerWebGL'].seeking = function(id) {
+	this.seekingInternal = this.seekingInternal || Module.cwrap("VideoPlayerWebGL_seekingClbks", null, ["string"]);
+	this.seekingInternal(id);
+};
+
+Module['VideoPlayerWebGL'].stalled = function(id) {
+	this.stalledInternal = this.stalledInternal || Module.cwrap("VideoPlayerWebGL_stalledClbks", null, ["string"]);
+	this.stalledInternal(id);
+};
+
+Module['VideoPlayerWebGL'].suspend = function(id) {
+	this.suspendInternal = this.suspendInternal || Module.cwrap("VideoPlayerWebGL_suspendClbks", null, ["string"]);
+	this.suspendInternal(id);
+};
+
+Module['VideoPlayerWebGL'].timeupdate = function(id) {
+	this.timeupdateInternal = this.timeupdateInternal || Module.cwrap("VideoPlayerWebGL_timeupdateClbks", null, ["string"]);
+	this.timeupdateInternal(id);
+};
+
+Module['VideoPlayerWebGL'].volumechange = function(id) {
+	this.volumechangeInternal = this.volumechangeInternal || Module.cwrap("VideoPlayerWebGL_volumechangeClbks", null, ["string"]);
+	this.volumechangeInternal(id);
+};
+
+Module['VideoPlayerWebGL'].waiting = function(id) {
+	this.waitingInternal = this.waitingInternal || Module.cwrap("VideoPlayerWebGL_waitingClbks", null, ["string"]);
+	this.waitingInternal(id);
+};

+ 32 - 0
Assets/MarksAssets/VideoPlayerWebGL/Plugins/VideoPlayerWebGLUnityFunctions.jspre.meta

@@ -0,0 +1,32 @@
+fileFormatVersion: 2
+guid: 9fc6ba50d38e12248b3df8919e128e81
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  defineConstraints: []
+  isPreloaded: 0
+  isOverridable: 0
+  isExplicitlyReferenced: 0
+  validateReferences: 1
+  platformData:
+  - first:
+      Any: 
+    second:
+      enabled: 0
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 0
+      settings:
+        DefaultValueInitialized: true
+  - first:
+      WebGL: WebGL
+    second:
+      enabled: 1
+      settings: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/MarksAssets/VideoPlayerWebGL/Scripts.meta

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

+ 418 - 0
Assets/MarksAssets/VideoPlayerWebGL/Scripts/VideoPlayerWebGL.cs

@@ -0,0 +1,418 @@
+using System;
+using System.Collections.Generic;
+using System.Runtime.InteropServices;
+using AOT;
+using UnityEngine;
+using UnityEngine.Events;
+using NaughtyAttributes;
+using System.Reflection;
+
+namespace MarksAssets.VideoPlayerWebGL {
+	public partial class VideoPlayerWebGL : MonoBehaviour
+	{
+		[DllImport("__Internal", EntryPoint="VideoPlayerWebGL_CreateVideo")]
+		private static extern void createVideo(string URL, string cors, string id, bool autoplay, bool loop, bool muted, double volume, double pan, bool forceMono, double playbackSpeed, IntPtr texturePtr, string events, ref uint canUpdateTexture, bool useMipMap);
+		[DllImport("__Internal", EntryPoint="VideoPlayerWebGL_PlayVideo")]
+		private static extern void playVideo(string id);
+		[DllImport("__Internal", EntryPoint="VideoPlayerWebGL_PlayVideoPointerDown")]
+		private static extern void playVideoPointerDown(string id);
+		[DllImport("__Internal", EntryPoint="VideoPlayerWebGL_PauseVideo")]
+		private static extern void pauseVideo(string id);
+		[DllImport("__Internal", EntryPoint="VideoPlayerWebGL_StopVideo")]
+		private static extern void stopVideo(string id);
+		[DllImport("__Internal", EntryPoint="VideoPlayerWebGL_unlockVideoPlayback")]
+		private static extern void unlockVideoPlayback(string id);
+		[DllImport("__Internal", EntryPoint="VideoPlayerWebGL_GetTimeVideo")]
+		private static extern double getTimeVideo(string id);
+		[DllImport("__Internal", EntryPoint="VideoPlayerWebGL_SetTimeVideo")]
+		private static extern void setTimeVideo(string id, double time);
+		[DllImport("__Internal", EntryPoint="VideoPlayerWebGL_LengthVideo")]
+		private static extern double lengthVideo(string id);
+		[DllImport("__Internal", EntryPoint="VideoPlayerWebGL_SetLoopVideo")]
+		private static extern void loopVideo(string id, bool lp);
+		[DllImport("__Internal", EntryPoint="VideoPlayerWebGL_SetMuteVideo")]
+		private static extern void muteVideo(string id, bool mute);
+		[DllImport("__Internal", EntryPoint="VideoPlayerWebGL_SetAutoplayVideo")]
+		private static extern void autoplayVideo(string id, bool autoplay);
+		[DllImport("__Internal", EntryPoint="VideoPlayerWebGL_PlayBackSpeedVideo")]
+		private static extern void playBackSpeedVideo(string id, double pbspd);
+		[DllImport("__Internal", EntryPoint="VideoPlayerWebGL_SourceVideo")]
+		private static extern void setSourceVideo(string id, string URL, string cors);
+		[DllImport("__Internal", EntryPoint="VideoPlayerWebGL_IsPlayingVideo")]
+		private static extern bool isPlayingVideo(string id);
+		[DllImport("__Internal", EntryPoint="VideoPlayerWebGL_IsPausedVideo")]
+		private static extern bool isPausedVideo(string id);
+		[DllImport("__Internal", EntryPoint="VideoPlayerWebGL_WidthVideo")]
+		private static extern uint widthVideo(string id);
+		[DllImport("__Internal", EntryPoint="VideoPlayerWebGL_HeightVideo")]
+		private static extern uint heightVideo(string id);
+		[DllImport("__Internal", EntryPoint="VideoPlayerWebGL_SetVolumeVideo")]
+		private static extern void setVolumeVideo(string id, double volume);
+		[DllImport("__Internal", EntryPoint = "VideoPlayerWebGL_SetPanVideo")]
+		private static extern void setPanVideo(string id, double pan);
+		[DllImport("__Internal", EntryPoint = "VideoPlayerWebGL_SetForceMonoVideo")]
+		private static extern void setForceMonoVideo(string id, bool forceMono);
+		[DllImport("__Internal", EntryPoint="VideoPlayerWebGL_SetCorsVideo")]
+		private static extern void setCorsVideo(string id, string cors);
+		[DllImport("__Internal", EntryPoint="VideoPlayerWebGL_IsReadyVideo")]
+		private static extern bool isReadyVideo(string id);
+		[DllImport("__Internal", EntryPoint="VideoPlayerWebGL_DestroyVideo")]
+		private static extern void destroyVideo(string id);
+		[DllImport("__Internal", EntryPoint="VideoPlayerWebGL_RestartVideo")]
+		private static extern void restartVideo(string id);
+		[DllImport("__Internal", EntryPoint="VideoPlayerWebGL_UpdateTexture")]
+		private static extern void updateTexture(int id);
+		
+		public enum cors {anonymous = 1, usecredentials = 2};
+		public enum srcs {StreamingAssets, External};
+		
+		[SerializeField]
+		private srcs source = srcs.StreamingAssets;
+		[HideIf("isStreamingAssets")]
+		[SerializeField]
+		private string URL;
+		[ShowIf("isStreamingAssets")]
+		[SerializeField]
+		private string fileName;
+		[SerializeField]
+		private bool autoplay = true;
+		[SerializeField]
+		private bool loop;
+		[SerializeField]
+		private bool muted = true;
+		[Range(0, 1)]
+		[SerializeField]
+		private double volume = 1.0;
+		[Range(-1, 1)]
+		[SerializeField]
+		private double pan = 0.0;
+		[SerializeField]
+		private bool forceMono = false;
+		[Range(0, 10)]
+		[SerializeField]
+		private double playbackSpeed = 1.0;
+		public RenderTexture targetTexture;
+		private int id = -1;
+		[HideIf("isStreamingAssets")]
+		[SerializeField]
+		private cors crossOrigin = cors.anonymous;
+		
+		private static uint videoNumber = 0;
+		private static uint canUpdateTexture = 0;//this uint is used by all video players with bit operations
+		
+		void Start() {
+			CreateVideo(source, source == srcs.StreamingAssets ? fileName : URL, crossOrigin, autoplay, loop, muted, volume, pan, forceMono, playbackSpeed, targetTexture, events);//it is redundant here, but this method can be called anywhere, not just in the Start function. If the user decides to destroy the video, this method can be called later.
+		}
+		
+		///Creates a new video and destroys the previous one, if there was any. Only one video instance exists per VideoPlayerWebGL instance at any time.
+		///this function is called automatically on Start. You only need to call it if you destroy the video and want to create another one.
+		public void CreateVideo(srcs _source, string _path, cors _crossOrigin, bool _autoplay, bool _loop, bool _muted, double _volume, double _pan, bool _forceMono, double _playbackSpeed, RenderTexture _targetTexture, evnts _events) {
+			#if UNITY_WEBGL && !UNITY_EDITOR
+				if (_targetTexture == null) return;
+				Destroy();
+				source = _source;
+				URL = _path;
+				crossOrigin = _crossOrigin;
+				autoplay = _autoplay;
+				loop = _loop;
+				muted = _muted;
+				volume = _volume < 0.0 ? 0.0 : _volume > 1.0 ? 1.0 : _volume;
+				pan = _pan < -1.0 ? -1.0 : _pan > 1.0 ? 1.0 : _pan;
+				forceMono = _forceMono;
+				playbackSpeed = _playbackSpeed < 0.0 ? 0 : _playbackSpeed > 10.0 ? 10.0 : _playbackSpeed;
+				targetTexture = _targetTexture;
+				events = _events;
+			
+				URL = source == srcs.StreamingAssets ? System.IO.Path.Combine(Application.streamingAssetsPath, URL) : URL;
+				targetTexture.colorBuffer.ToString();//see https://issuetracker.unity3d.com/issues/getnativetextureptr-returns-0-on-rendertexture-until-colorbuffer-property-get-is-called
+				id = id == -1 ? (int)videoNumber++ : id;
+				foreach (evnts x in Enum.GetValues(typeof(evnts))) if (events.HasFlag(x)) ((Dictionary<string, UnityEvent>)typeof(VideoPlayerWebGL).GetField(x.ToString() + "Dict",  BindingFlags.NonPublic | BindingFlags.Static).GetValue(null)).Add(id.ToString(), (UnityEvent)typeof(VideoPlayerWebGL).GetField(x.ToString(), BindingFlags.Instance | BindingFlags.Public).GetValue(this));
+				setUnityFunctions(canplayClbks, canplaythroughClbks, completeClbks, durationchangeClbks, emptiedClbks, endedClbks, loadeddataClbks, loadedmetadataClbks, pauseClbks, playClbks, playingClbks, progressClbks, ratechangeClbks, seekedClbks, seekingClbks, stalledClbks, suspendClbks, timeupdateClbks, volumechangeClbks, waitingClbks);
+				createVideo(URL, source == srcs.StreamingAssets ? "" : (crossOrigin == 0 || crossOrigin == cors.anonymous) ? "anonymous" : "use-credentials", id.ToString(), autoplay, loop, muted, volume, pan, forceMono, playbackSpeed, targetTexture.GetNativeTexturePtr(), events.ToString(), ref canUpdateTexture, _targetTexture.useMipMap);
+			#endif
+		}
+
+		void Update() {
+			#if UNITY_WEBGL && !UNITY_EDITOR
+				if ((canUpdateTexture & (uint)(1 << id)) != 0)//if can update this video
+					updateTexture(id);
+			#endif
+		}
+		
+		//Plays the video from its current time. If the current time is the end of the video, it plays from the start.
+		//you can not play multiple videos at the same time on Safari, unless they are muted. On chrome there is no problem.
+		//search for "Multiple Simultaneous Audio or Video Streams" here https://developer.apple.com/library/archive/documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/Device-SpecificConsiderations/Device-SpecificConsiderations.html
+		public void Play() {
+			#if UNITY_WEBGL && !UNITY_EDITOR
+			playVideo(id.ToString());
+			#endif
+		}
+		
+		//same as above, but it only works if you call it on a pointerdown event. 
+		//On Safari, you need to either call this method once or UnlockVideoPlayback once. And then you can use Play() normally.
+		//Alternatively, you can simply always call PlayPointerDown().
+		public void PlayPointerDown() {
+			#if UNITY_WEBGL && !UNITY_EDITOR
+			playVideoPointerDown(id.ToString());
+			#endif
+		}
+		
+		///	this function needs to be called on a pointerdown event, just once.
+		///	necessary to play if video is unmuted on Safari. Even if it autoplays muted, if it is later unmuted it won't play again unless this function is called.
+		/// use this function or PlayPointerDown()
+		public void UnlockVideoPlayback() {
+			#if UNITY_WEBGL && !UNITY_EDITOR
+			unlockVideoPlayback(id.ToString());
+			#endif
+		}
+		
+		//restarts the video. Be sure to have called PlayPointerDown or UnlockVideoPlayback on Safari at least once.
+		public void Restart() {
+			#if UNITY_WEBGL && !UNITY_EDITOR
+			restartVideo(id.ToString());
+			#endif
+		}
+		
+		//pauses video
+		public void Pause() {
+			#if UNITY_WEBGL && !UNITY_EDITOR
+			pauseVideo(id.ToString());
+			#endif
+		}
+		
+		//stops the video. That is, set video's time to 0 and pause.
+		public void Stop() {
+			#if UNITY_WEBGL && !UNITY_EDITOR
+			stopVideo(id.ToString());
+			#endif
+		}
+		
+		//returns the current time of the video, in seconds.
+		public double Time() {
+			#if UNITY_WEBGL && !UNITY_EDITOR
+			return getTimeVideo(id.ToString());
+			#else
+			return 0.0f;
+			#endif
+		}
+		
+		///seeks the video. If you pass a value that is less than 0.0 it will become 0.0. If the value is bigger than the video's length, it becomes the video's length.
+		///if you are trying to set the current time of the video but it always goes back to 0, see https://stackoverflow.com/questions/36783521/why-does-setting-currenttime-of-html5-video-element-reset-time-in-chrome
+		public void Time(double time) {
+			#if UNITY_WEBGL && !UNITY_EDITOR
+			double videoLength = lengthVideo(id.ToString());
+			time = time < 0.0 ? 0.0 : time > videoLength ? videoLength : time;
+			setTimeVideo(id.ToString(), time);
+			#endif
+		}
+		
+		//returns length of the video, in seconds.
+		public double Length() {
+			#if UNITY_WEBGL && !UNITY_EDITOR
+			return lengthVideo(id.ToString());
+			#else
+			return 0.0f;
+			#endif
+		}
+		
+		//returns true if video is set to loop, false if not.
+		public bool IsSetToLoop() {
+			return loop;
+		}
+		
+		//set true if you want the video to loop, false if not.
+		public void Loop(bool lp) {
+			#if UNITY_WEBGL && !UNITY_EDITOR
+			loop = lp;
+			loopVideo(id.ToString(), loop);
+			#endif
+		}
+		
+		//returns true if the video is muted, false if not.
+		public bool IsMuted() {
+			return muted;
+		}
+		
+		public void Muted(bool mute) {
+			#if UNITY_WEBGL && !UNITY_EDITOR
+			muted = mute;
+			muteVideo(id.ToString(), muted);
+			#endif
+		}
+		
+		//returns true if the autoplay attribute is set, false if not.
+		public bool IsSetToAutoPlay() {
+			return autoplay;
+		}
+		
+		///changes the autoplay attribute of the video. It's only useful to use this if you change the source of the video at runtime, and
+		///want to autoplay a video that previously was set to not autoplay, and vice versa.
+		///if set to true, it will autoplay
+		///if set to false, it won't.
+		///on chrome, autoplay will work normally if the video is muted. If the video is not muted, it will only autoplay if the user touches anywhere on the screen before the video loads
+		///on safari, autoplay only works if the video is muted. You have 2 options: always call PlayPointerDown method on a pointerdown event, 
+		///or call UnlockVideoPlayback on a pointerdown event once, and then call the Play method whenever you want(onClick for example). 
+		public void Autoplay(bool _autoplay) {
+			#if UNITY_WEBGL && !UNITY_EDITOR
+			autoplay = _autoplay;
+			autoplayVideo(id.ToString(), autoplay);
+			#endif
+		}
+		
+		//returns the current playback speed of the video. Default is 1.0
+		public double PlaybackSpeed() {
+			return playbackSpeed;
+		}
+		
+		///sets the playback speed of the video. It can be anything from 0.0(inclusive) to 10.0(inclusive)
+		///smaller values than 0.0 will be set to 0.0, and larger values than 10.0 will be set to 10.0
+		///you can not play a video in reverse with a negative playback speed.
+		public void PlaybackSpeed(double pbspd) {
+			#if UNITY_WEBGL && !UNITY_EDITOR
+			playbackSpeed = pbspd < 0.0 ? 0 : pbspd > 10.0 ? 10.0 : pbspd;
+			playBackSpeedVideo(id.ToString(), playbackSpeed);
+			#endif
+		}
+		
+		///returns the current source of the video.
+		public string Source() {
+			return URL;
+		}
+
+		/// example external source: 'Source(srcs.External, "https://d8d913s460fub.cloudfront.net/videoserver/cat-test-video-320x240.mp4")'
+		///	example StreamingAssets(local) source: 'Source(srcs.StreamingAssets, "cat-test-video-320x240.mp4")'		
+		public void Source(srcs src, string path, cors crossorigin = cors.anonymous) {
+			#if UNITY_WEBGL && !UNITY_EDITOR
+			source = src;
+			URL = source == srcs.StreamingAssets ? System.IO.Path.Combine(Application.streamingAssetsPath, path) : path;
+			setSourceVideo(id.ToString(), URL, source == srcs.StreamingAssets ? "" : (crossOrigin == 0 || crossOrigin == cors.anonymous) ? "anonymous" : "use-credentials");
+			#endif
+		}
+		
+		//returns true if the video is currently playing, false if not.
+		public bool IsPlaying() {
+			#if UNITY_WEBGL && !UNITY_EDITOR
+			return isPlayingVideo(id.ToString());
+			#else
+			return false;
+			#endif
+		}
+		
+		//returns if the video is currently paused(true) or not(false)
+		public bool IsPaused() {
+			#if UNITY_WEBGL && !UNITY_EDITOR
+			return isPausedVideo(id.ToString());
+			#else
+			return false;
+			#endif
+		}
+	
+		//returns the current width of the video, in pixels
+		public uint Width() {
+			#if UNITY_WEBGL && !UNITY_EDITOR
+			return widthVideo(id.ToString());
+			#else
+			return 0;
+			#endif
+		}
+		
+		//returns the current height of the video, in pixels
+		public uint Height() {
+			#if UNITY_WEBGL && !UNITY_EDITOR
+			return heightVideo(id.ToString());
+			#else
+			return 0;
+			#endif
+		}
+		
+		//returns the current crossorigin configuration. It can either be cors.anonymous or cors.usecredentials
+		public cors CORS() {
+			return crossOrigin;
+		}
+		
+		//returns the current source type. It can either be srcs.StreamingAssets or srcs.External
+		public srcs SourceType() {
+			return source;
+		}
+		
+		///sets the cross origin attribute on the video. Irrelevant if the video is local(StreamingAssets folder), but required if the source is external.
+		///You may get an error like "Access to video at 'urlVideo' from origin 'urlOrigin' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource."
+		///Please check here https://stackoverflow.com/questions/41822932/html5-video-doesnt-play-with-crossorigin-anonymous .
+		///The CORS configuration needs to be set on the provider of the video as well, not just here.
+		public void CORS(cors crossorigin) {//warning: if the source of your video is external, you must set the CORS to "anonymous" or "use-credentials" depending on how the server providing the video is configured. It won't work without the CORS attribute.
+			#if UNITY_WEBGL && !UNITY_EDITOR
+			crossOrigin = crossorigin;
+			setCorsVideo(id.ToString(), crossorigin == 0 ? "" : crossorigin == cors.anonymous ? "anonymous" : "use-credentials");
+			#endif
+		}
+
+		//returns the current volume of the video
+		public double Volume() {
+			return volume;
+		}
+
+		///Change the volume of the video. Varies from 0.0(inclusive) to 1.0(inclusive). A value that is less than 0.0 becomes 0.0, and if it's higher than 1.0 it becomes 1.0
+		///you can not change the volume on mobile Safari
+		///search for "Volume Control in JavaScript" here: https://developer.apple.com/library/archive/documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/Device-SpecificConsiderations/Device-SpecificConsiderations.html
+		public void Volume(double vol) {
+			#if UNITY_WEBGL && !UNITY_EDITOR
+			volume = vol < 0.0 ? 0.0 : vol > 1.0 ? 1.0 : vol;
+			setVolumeVideo(id.ToString(), volume);
+			#endif
+		}
+
+		//returns the pan volume of the video
+		public double Pan() {
+			return pan;
+		}
+
+		///Change the pan of the video. Varies from -1.0(inclusive) to 1.0(inclusive). A value that is less than -1.0 becomes -1.0, and if it's higher than 1.0 it becomes 1.0
+		public void Pan(double _pan) {
+			#if UNITY_WEBGL && !UNITY_EDITOR
+			pan = _pan < -1.0 ? -1.0 : _pan > 1.0 ? 1.0 : _pan;
+			setPanVideo(id.ToString(), pan);
+			#endif
+		}
+
+		public bool ForceMono() {
+			return forceMono;
+        }
+
+		public void ForceMono(bool forceMono) {
+			#if UNITY_WEBGL && !UNITY_EDITOR
+			setForceMonoVideo(id.ToString(), forceMono);
+			#endif
+        }
+
+		//returns if video is ready to be played(true) or not(false)
+		public bool IsReady() {
+			#if UNITY_WEBGL && !UNITY_EDITOR
+			return isReadyVideo(id.ToString());
+			#else
+			return false;
+			#endif
+		}
+		
+		///Destroys the video from the html side, releases the texture, unregisters all Unity Events and removes all non persistent(runtime) callbacks from them.
+		///the callbacks you added in the inspector won't be removed
+		///all the other variables are left unchanged, so you can call create with the getters to recreate the video on the same state it was before being destroyed.
+		public void Destroy() {
+			#if UNITY_WEBGL && !UNITY_EDITOR
+			destroyVideo(id.ToString());
+			foreach (evnts x in Enum.GetValues(typeof(evnts))) {
+				((Dictionary<string, UnityEvent>)typeof(VideoPlayerWebGL).GetField(x.ToString() + "Dict",  BindingFlags.NonPublic | BindingFlags.Static).GetValue(null)).Remove(id.ToString());//if the entry doesn't exist, nothing happens.
+				((UnityEvent)typeof(VideoPlayerWebGL).GetField(x.ToString(), BindingFlags.Instance | BindingFlags.Public).GetValue(this)).RemoveAllListeners();//remove all non persistent listeners
+			}
+			if (targetTexture != null) targetTexture.Release();
+			#endif
+		}
+		
+		//called when unloading scene. Destroys video
+		void OnDestroy() {
+			Destroy();
+		}
+		
+		//used for the inspector
+		private bool isStreamingAssets() {return source == srcs.StreamingAssets;}
+	}
+}

+ 11 - 0
Assets/MarksAssets/VideoPlayerWebGL/Scripts/VideoPlayerWebGL.cs.meta

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

+ 201 - 0
Assets/MarksAssets/VideoPlayerWebGL/Scripts/VideoPlayerWebGL_events.cs

@@ -0,0 +1,201 @@
+using System;
+using System.Collections.Generic;
+using System.Runtime.InteropServices;
+using AOT;
+using UnityEngine;
+using UnityEngine.Events;
+using NaughtyAttributes;
+using System.Reflection;
+
+namespace MarksAssets.VideoPlayerWebGL {
+	public partial class VideoPlayerWebGL : MonoBehaviour
+	{
+		[DllImport("__Internal", EntryPoint="VideoPlayerWebGL_setUnityFunctions")]
+		private static extern void setUnityFunctions(Action<string>canplayClbks, Action<string>canplaythroughClbks, Action<string>completeClbks, Action<string>durationchangeClbks, Action<string>emptiedClbks, Action<string>endedClbks, Action<string>loadeddataClbks, Action<string>loadedmetadataClbks, Action<string>pauseClbks, Action<string>playClbks, Action<string>playingClbks, Action<string>progressClbks, Action<string>ratechangeClbks, Action<string>seekedClbks, Action<string>seekingClbks, Action<string>stalledClbks, Action<string>suspendClbks, Action<string>timeupdateClbks, Action<string>volumechangeClbks, Action<string>waitingClbks);
+		[DllImport("__Internal", EntryPoint="VideoPlayerWebGL_RegisterEvent")]
+		private static extern void registerEvent(string id, string evt);
+		[DllImport("__Internal", EntryPoint="VideoPlayerWebGL_UnregisterEvent")]
+		private static extern void unregisterEvent(string id, string evt);
+		
+		[Flags]
+		public enum evnts {canplay = 1, canplaythrough = 2, complete = 4, durationchange = 8, emptied = 16, ended = 32, loadeddata = 64, loadedmetadata = 128, pause = 256, play = 512, playing = 1024, progress = 2048, ratechange = 4096, seeked = 8192, seeking = 16384, stalled = 32768, suspend = 65536, timeupdate = 131072, volumechange = 262144, waiting = 524288};
+
+		[SerializeField]
+		private evnts events = evnts.ended;
+		[ShowIf("HasCanplayFlag")]
+		public UnityEvent canplay;
+		[ShowIf("HasCanplaythroughFlag")]
+		public UnityEvent canplaythrough;
+		[ShowIf("HasCompleteFlag")]
+		public UnityEvent complete;
+		[ShowIf("HasDurationchangeFlag")]
+		public UnityEvent durationchange;
+		[ShowIf("HasEmptiedFlag")]
+		public UnityEvent emptied;
+		[ShowIf("HasEndedFlag")]
+		public UnityEvent ended;
+		[ShowIf("HasLoadeddataFlag")]
+		public UnityEvent loadeddata;
+		[ShowIf("HasLoadedmetadataFlag")]
+		public UnityEvent loadedmetadata;
+		[ShowIf("HasPauseFlag")]
+		public UnityEvent pause;
+		[ShowIf("HasPlayFlag")]
+		public UnityEvent play;
+		[ShowIf("HasPlayingFlag")]
+		public UnityEvent playing;
+		[ShowIf("HasProgressFlag")]
+		public UnityEvent progress;
+		[ShowIf("HasRatechangeFlag")]
+		public UnityEvent ratechange;
+		[ShowIf("HasSeekedFlag")]
+		public UnityEvent seeked;
+		[ShowIf("HasSeekingFlag")]
+		public UnityEvent seeking;
+		[ShowIf("HasStalledFlag")]
+		public UnityEvent stalled;
+		[ShowIf("HasSuspendFlag")]
+		public UnityEvent suspend;
+		[ShowIf("HasTimeupdateFlag")]
+		public UnityEvent timeupdate;
+		[ShowIf("HasVolumechangeFlag")]
+		public UnityEvent volumechange;
+		[ShowIf("HasWaitingFlag")]
+		public UnityEvent waiting;
+		
+		private static Dictionary<string, UnityEvent> canplayDict = new Dictionary<string, UnityEvent>();
+		private static Dictionary<string, UnityEvent> canplaythroughDict = new Dictionary<string, UnityEvent>();
+		private static Dictionary<string, UnityEvent> completeDict = new Dictionary<string, UnityEvent>();
+		private static Dictionary<string, UnityEvent> durationchangeDict = new Dictionary<string, UnityEvent>();
+		private static Dictionary<string, UnityEvent> emptiedDict = new Dictionary<string, UnityEvent>();
+		private static Dictionary<string, UnityEvent> endedDict = new Dictionary<string, UnityEvent>();
+        private static Dictionary<string, UnityEvent> loadeddataDict = new Dictionary<string, UnityEvent>();
+		private static Dictionary<string, UnityEvent> loadedmetadataDict = new Dictionary<string, UnityEvent>();
+		private static Dictionary<string, UnityEvent> pauseDict = new Dictionary<string, UnityEvent>();
+		private static Dictionary<string, UnityEvent> playDict = new Dictionary<string, UnityEvent>();
+		private static Dictionary<string, UnityEvent> playingDict = new Dictionary<string, UnityEvent>();
+		private static Dictionary<string, UnityEvent> progressDict = new Dictionary<string, UnityEvent>();
+		private static Dictionary<string, UnityEvent> ratechangeDict = new Dictionary<string, UnityEvent>();
+		private static Dictionary<string, UnityEvent> seekedDict = new Dictionary<string, UnityEvent>();
+		private static Dictionary<string, UnityEvent> seekingDict = new Dictionary<string, UnityEvent>();
+		private static Dictionary<string, UnityEvent> stalledDict = new Dictionary<string, UnityEvent>();
+		private static Dictionary<string, UnityEvent> suspendDict = new Dictionary<string, UnityEvent>();
+		private static Dictionary<string, UnityEvent> timeupdateDict = new Dictionary<string, UnityEvent>();
+		private static Dictionary<string, UnityEvent> volumechangeDict = new Dictionary<string, UnityEvent>();
+		private static Dictionary<string, UnityEvent> waitingDict = new Dictionary<string, UnityEvent>();
+		
+		[MonoPInvokeCallback(typeof(Action<string>))]
+		private static void canplayClbks(string id) {canplayDict[id].Invoke();}
+		[MonoPInvokeCallback(typeof(Action<string>))]
+		private static void canplaythroughClbks(string id) {canplaythroughDict[id].Invoke();}
+		[MonoPInvokeCallback(typeof(Action<string>))]
+		private static void completeClbks(string id) {completeDict[id].Invoke();}
+		[MonoPInvokeCallback(typeof(Action<string>))]
+		private static void durationchangeClbks(string id) {durationchangeDict[id].Invoke();}
+		[MonoPInvokeCallback(typeof(Action<string>))]
+		private static void emptiedClbks(string id) {emptiedDict[id].Invoke();}
+		[MonoPInvokeCallback(typeof(Action<string>))]
+		private static void endedClbks(string id) {endedDict[id].Invoke();}
+		[MonoPInvokeCallback(typeof(Action<string>))]
+		private static void loadeddataClbks(string id) {loadeddataDict[id].Invoke();}
+		[MonoPInvokeCallback(typeof(Action<string>))]
+		private static void loadedmetadataClbks(string id) {loadedmetadataDict[id].Invoke();}
+		[MonoPInvokeCallback(typeof(Action<string>))]
+		private static void pauseClbks(string id) {pauseDict[id].Invoke();}
+		[MonoPInvokeCallback(typeof(Action<string>))]
+		private static void playClbks(string id) {playDict[id].Invoke();}
+		[MonoPInvokeCallback(typeof(Action<string>))]
+		private static void playingClbks(string id) {playingDict[id].Invoke();}
+		[MonoPInvokeCallback(typeof(Action<string>))]
+		private static void progressClbks(string id) {progressDict[id].Invoke();}
+		[MonoPInvokeCallback(typeof(Action<string>))]
+		private static void ratechangeClbks(string id) {ratechangeDict[id].Invoke();}
+		[MonoPInvokeCallback(typeof(Action<string>))]
+		private static void seekedClbks(string id) {seekedDict[id].Invoke();}
+		[MonoPInvokeCallback(typeof(Action<string>))]
+		private static void seekingClbks(string id) {seekingDict[id].Invoke();}
+		[MonoPInvokeCallback(typeof(Action<string>))]
+		private static void stalledClbks(string id) {stalledDict[id].Invoke();}
+		[MonoPInvokeCallback(typeof(Action<string>))]
+		private static void suspendClbks(string id) {suspendDict[id].Invoke();}
+		[MonoPInvokeCallback(typeof(Action<string>))]
+		private static void timeupdateClbks(string id) {timeupdateDict[id].Invoke();}
+		[MonoPInvokeCallback(typeof(Action<string>))]
+		private static void volumechangeClbks(string id) {volumechangeDict[id].Invoke();}
+		[MonoPInvokeCallback(typeof(Action<string>))]
+		private static void waitingClbks(string id) {waitingDict[id].Invoke();}
+		
+		///registers one event, or multiple events.
+		///For example: videoPlayerWebGLInstance.RegisterEvent(VideoPlayerWebGL.evnts.timeupdate | VideoPlayerWebGL.evnts.play) will register 2 events.
+		///You can add and remove callbacks from the UnityEvents directly, but you can only subscribe to an event with this method. For example
+		///first you add the callbacks that you want
+		///myAction += myCallback;
+		///videoPlayerWebGLInstance.play.AddListener(myAction);
+		///then you call videoPlayerWebGLInstance.RegisterEvent(VideoPlayerWebGL.evnts.play) to make your play UnityEvent be invoked(and all of its callbacks) when the video plays
+		///you only need to call this method if you destroyed the video and recreated it without registering the event again, or if you didn't subscribe to the event in the inspector, or if you unregistered the event using the UnregisterEvent method.
+		///if you want to register all events, pass (VideoPlayerWebGL.evnts)(-1) as input
+		public void RegisterEvent(evnts evt) {
+			foreach (evnts x in Enum.GetValues(typeof(evnts))) {
+				if (!events.HasFlag(x)) {//if the event is not registered
+					if (evt.HasFlag(x))//and the user wants to register it
+						((Dictionary<string, UnityEvent>)typeof(VideoPlayerWebGL).GetField(x.ToString() + "Dict",  BindingFlags.NonPublic | BindingFlags.Static).GetValue(null)).Add(id.ToString(), (UnityEvent)typeof(VideoPlayerWebGL).GetField(x.ToString(), BindingFlags.Instance | BindingFlags.Public).GetValue(this));
+				} else {//if the event is already registered
+					evt &= ~x;//if events already has the flag, unset from input(if input doesn't have it, nothing changes. But if it does, unset)
+				}
+			}
+			
+			events |= evt;//set flag
+			registerEvent(id.ToString(), evt.ToString());
+		}
+		
+		///unregisters one event, or multiple events.
+		///For example: videoPlayerWebGLInstance.UnregisterEvent(VideoPlayerWebGL.evnts.timeupdate | VideoPlayerWebGL.evnts.play) will unregister 2 events.
+		///So on this example it means that when the video plays or the timeupdate event is fired from javascript, the Unity Events subscribed to them won't be invoked.
+		///if the second argument is true, in addition to unregistering the event, its runtime callbacks will be removed as well.
+		///callbacks added from the inspector are not removed if the second argument is true.
+		///if you want to unregister all events, pass (VideoPlayerWebGL.evnts)(-1) as input
+		public void UnregisterEvent(evnts evt, bool removeAllNonPersistentListeners = false) {
+			foreach (evnts x in Enum.GetValues(typeof(evnts))) {
+				if (events.HasFlag(x)) {//if the event is registered
+					if (evt.HasFlag(x)) {//and the user wants to unregister it
+						((Dictionary<string, UnityEvent>)typeof(VideoPlayerWebGL).GetField(x.ToString() + "Dict",  BindingFlags.NonPublic | BindingFlags.Static).GetValue(null)).Remove(id.ToString());
+						if (removeAllNonPersistentListeners)
+							((UnityEvent)typeof(VideoPlayerWebGL).GetField(x.ToString(), BindingFlags.Instance | BindingFlags.Public).GetValue(this)).RemoveAllListeners();
+					}
+				} else {//if the event is not registered
+					evt &= ~x;//unset from input(if input doesn't have it, nothing changes. But if it does, unset)
+				}
+			}
+
+			unregisterEvent(id.ToString(), evt.ToString());//unregister the events on the javascript side
+			events &= ~evt;//clear flag
+		}
+		
+		//returns all the currently registered events
+		public evnts GetCurrentEvents() {
+			return events;
+		}
+
+		///all of the methods below are for the inspector only
+		private bool HasCanplayFlag() {return events.HasFlag(evnts.canplay);}
+		private bool HasCanplaythroughFlag() {return events.HasFlag(evnts.canplaythrough);}
+		private bool HasCompleteFlag() {return events.HasFlag(evnts.complete);}
+		private bool HasDurationchangeFlag() {return events.HasFlag(evnts.durationchange);}
+		private bool HasEmptiedFlag() {return events.HasFlag(evnts.emptied);}
+		private bool HasEndedFlag() {return events.HasFlag(evnts.ended);}
+		private bool HasLoadeddataFlag() {return events.HasFlag(evnts.loadeddata);}
+		private bool HasLoadedmetadataFlag() {return events.HasFlag(evnts.loadedmetadata);}
+		private bool HasPauseFlag() {return events.HasFlag(evnts.pause);}
+		private bool HasPlayFlag() {return events.HasFlag(evnts.play);}
+		private bool HasPlayingFlag() {return events.HasFlag(evnts.playing);}
+		private bool HasProgressFlag() {return events.HasFlag(evnts.progress);}
+		private bool HasRatechangeFlag() {return events.HasFlag(evnts.ratechange);}
+		private bool HasSeekedFlag() {return events.HasFlag(evnts.seeked);}
+		private bool HasSeekingFlag() {return events.HasFlag(evnts.seeking);}
+		private bool HasStalledFlag() {return events.HasFlag(evnts.stalled);}
+		private bool HasSuspendFlag() {return events.HasFlag(evnts.suspend);}
+		private bool HasTimeupdateFlag() {return events.HasFlag(evnts.timeupdate);}
+		private bool HasVolumechangeFlag() {return events.HasFlag(evnts.volumechange);}
+		private bool HasWaitingFlag() {return events.HasFlag(evnts.waiting);}
+	}
+}

+ 11 - 0
Assets/MarksAssets/VideoPlayerWebGL/Scripts/VideoPlayerWebGL_events.cs.meta

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

+ 8 - 0
Assets/MarksAssets/VideoPlayerWebGL/Textures.meta

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

+ 40 - 0
Assets/MarksAssets/VideoPlayerWebGL/Textures/VideoMaterialTexture.renderTexture

@@ -0,0 +1,40 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!84 &8400000
+RenderTexture:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: VideoMaterialTexture
+  m_ImageContentsHash:
+    serializedVersion: 2
+    Hash: 00000000000000000000000000000000
+  m_ForcedFallbackFormat: 4
+  m_DownscaleFallback: 0
+  m_IsAlphaChannelOptional: 0
+  serializedVersion: 5
+  m_Width: 256
+  m_Height: 256
+  m_AntiAliasing: 1
+  m_MipCount: -1
+  m_DepthStencilFormat: 0
+  m_ColorFormat: 4
+  m_MipMap: 1
+  m_GenerateMips: 1
+  m_SRGB: 1
+  m_UseDynamicScale: 1
+  m_BindMS: 0
+  m_EnableCompatibleFormat: 1
+  m_EnableRandomWrite: 1
+  m_TextureSettings:
+    serializedVersion: 2
+    m_FilterMode: 1
+    m_Aniso: 0
+    m_MipBias: 0
+    m_WrapU: 1
+    m_WrapV: 1
+    m_WrapW: 1
+  m_Dimension: 2
+  m_VolumeDepth: 1
+  m_ShadowSamplingMode: 2

+ 8 - 0
Assets/MarksAssets/VideoPlayerWebGL/Textures/VideoMaterialTexture.renderTexture.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0e647d24a207a8941b6784526b821ea7
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 40 - 0
Assets/MarksAssets/VideoPlayerWebGL/Textures/VideoMaterialTexture2.renderTexture

@@ -0,0 +1,40 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!84 &8400000
+RenderTexture:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: VideoMaterialTexture2
+  m_ImageContentsHash:
+    serializedVersion: 2
+    Hash: 00000000000000000000000000000000
+  m_ForcedFallbackFormat: 4
+  m_DownscaleFallback: 0
+  m_IsAlphaChannelOptional: 0
+  serializedVersion: 5
+  m_Width: 256
+  m_Height: 256
+  m_AntiAliasing: 1
+  m_MipCount: -1
+  m_DepthStencilFormat: 0
+  m_ColorFormat: 4
+  m_MipMap: 1
+  m_GenerateMips: 1
+  m_SRGB: 1
+  m_UseDynamicScale: 1
+  m_BindMS: 0
+  m_EnableCompatibleFormat: 1
+  m_EnableRandomWrite: 1
+  m_TextureSettings:
+    serializedVersion: 2
+    m_FilterMode: 1
+    m_Aniso: 0
+    m_MipBias: 0
+    m_WrapU: 1
+    m_WrapV: 1
+    m_WrapW: 1
+  m_Dimension: 2
+  m_VolumeDepth: 1
+  m_ShadowSamplingMode: 2

+ 8 - 0
Assets/MarksAssets/VideoPlayerWebGL/Textures/VideoMaterialTexture2.renderTexture.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7e6d254474e9f2e4e8364ba3a08be698
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/MarksAssets/VideoPlayerWebGL/readme.pdf


+ 1 - 1
Assets/StreamingAssets/ui/mp4_03.mp4.meta → Assets/MarksAssets/VideoPlayerWebGL/readme.pdf.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 43f75d7c8883344f1961bb3295a6e2fa
+guid: 623c6d4bc0badac47a834ccc8c7e00f2
 DefaultImporter:
   externalObjects: {}
   userData: 

+ 8 - 0
Assets/NaughtyAttributes.meta

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

File diff suppressed because it is too large
+ 24 - 0
Assets/NaughtyAttributes/README.html


+ 7 - 0
Assets/NaughtyAttributes/README.html.meta

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

+ 8 - 0
Assets/NaughtyAttributes/Samples.meta

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

+ 10 - 0
Assets/NaughtyAttributes/Samples/DemoScene.meta

@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: afb4c815411c28b449e61fbaa1a8bfa3
+folderAsset: yes
+timeCreated: 1507995550
+licenseType: Store
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 2415 - 0
Assets/NaughtyAttributes/Samples/DemoScene/DemoScene.unity

@@ -0,0 +1,2415 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 9
+  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_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  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.44657874, g: 0.49641258, b: 0.5748172, a: 1}
+  m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 12
+  m_GIWorkflowMode: 0
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 1
+    m_EnableRealtimeLightmaps: 1
+  m_LightmapEditorSettings:
+    serializedVersion: 12
+    m_Resolution: 2
+    m_BakeResolution: 40
+    m_AtlasSize: 1024
+    m_AO: 0
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_ExtractAmbientOcclusion: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 1
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 2
+    m_BakeBackend: 0
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 500
+    m_PVRBounces: 2
+    m_PVREnvironmentSampleCount: 500
+    m_PVREnvironmentReferencePointCount: 2048
+    m_PVRFilteringMode: 2
+    m_PVRDenoiserTypeDirect: 0
+    m_PVRDenoiserTypeIndirect: 0
+    m_PVRDenoiserTypeAO: 0
+    m_PVRFilterTypeDirect: 0
+    m_PVRFilterTypeIndirect: 0
+    m_PVRFilterTypeAO: 0
+    m_PVREnvironmentMIS: 0
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+    m_PVRFilteringAtrousPositionSigmaIndirect: 2
+    m_PVRFilteringAtrousPositionSigmaAO: 1
+    m_ExportTrainingData: 0
+    m_TrainingDataDestination: TrainingData
+    m_LightProbeSampleCountMultiplier: 4
+  m_LightingDataAsset: {fileID: 0}
+  m_LightingSettings: {fileID: 4890085278179872738, guid: 98ee975b74776234986f4d35f14c4ccc,
+    type: 2}
+--- !u!196 &4
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.5
+    agentHeight: 2
+    agentSlope: 45
+    agentClimb: 0.4
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.16666667
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+    maxJobWorkers: 0
+    preserveTilesOutsideBounds: 0
+    debug:
+      m_Flags: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!1 &106181862
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 106181863}
+  m_Layer: 0
+  m_Name: ===== Drawer Attributes =====
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &106181863
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 106181862}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1148579784}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &114650323
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 114650324}
+  - component: {fileID: 114650325}
+  - component: {fileID: 114650326}
+  m_Layer: 0
+  m_Name: EnableIf_DisableIf
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &114650324
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 114650323}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1148579784}
+  m_RootOrder: 24
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &114650325
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 114650323}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: bed506d8be3a10f45bec4bf2237bec87, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  enable1: 0
+  enable2: 0
+  enum1: 0
+  enum2: 0
+  enableIfAll: 
+  enableIfAny: 
+  enableIfEnum: 
+  enableIfEnumFlag: 
+  enableIfEnumFlagMulti: 
+  nest1:
+    enable1: 1
+    enable2: 0
+    enum1: 0
+    enum2: 0
+    enableIfAll: 1
+    enableIfAny: 2
+    enableIfEnum: 0
+    enableIfEnumFlag: 0
+    enableIfEnumFlagMulti: 0
+    nest2:
+      enable1: 1
+      enable2: 1
+      enum1: 0
+      enum2: 0
+      enableIfAll: {x: 0.25, y: 0.75}
+      enableIfAny: {x: 0.25, y: 0.75}
+      enableIfEnum: {x: 0.25, y: 0.75}
+      enableIfEnumFlag: {x: 0, y: 0}
+      enableIfEnumFlagMulti: {x: 0, y: 0}
+--- !u!114 &114650326
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 114650323}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0e48a088cb96287448c3be58932bfcb7, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  disable1: 0
+  disable2: 0
+  enum1: 0
+  enum2: 0
+  disableIfAll: 
+  disableIfAny: 
+  disableIfEnum: 
+  disableIfEnumFlag: 
+  disableIfEnumFlagMulti: 
+  nest1:
+    disable1: 1
+    disable2: 0
+    enum1: 0
+    enum2: 0
+    disableIfAll: 1
+    disableIfAny: 2
+    disableIfEnum: 3
+    disableIfEnumFlag: 0
+    disableIfEnumFlagMulti: 0
+    nest2:
+      disable1: 1
+      disable2: 1
+      enum1: 0
+      enum2: 0
+      enableIfAll: {x: 0.25, y: 0.75}
+      enableIfAny: {x: 0.25, y: 0.75}
+      enableIfEnum: {x: 0.25, y: 0.75}
+      disableIfEnumFlag: {x: 0, y: 0}
+      disableIfEnumFlagMulti: {x: 0, y: 0}
+--- !u!1 &155697335
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 155697336}
+  - component: {fileID: 155697337}
+  m_Layer: 0
+  m_Name: InputAxis
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &155697336
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 155697335}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1148579784}
+  m_RootOrder: 9
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &155697337
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 155697335}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e0cc8a31c22090847b75538c0ed2d2fc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  inputAxis0: 
+  nest1:
+    inputAxis1: Horizontal
+    nest2:
+      inputAxis2: Vertical
+--- !u!1 &237121640
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 237121641}
+  - component: {fileID: 237121642}
+  m_Layer: 0
+  m_Name: ReadOnly
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &237121641
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 237121640}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1148579784}
+  m_RootOrder: 28
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &237121642
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 237121640}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5443d37a05e188846bda9b05b067184e, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  readOnlyInt: 5
+  nest1:
+    readOnlyFloat: 3.14
+    nest2:
+      readOnlyString: 
+--- !u!1 &369789276
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 369789277}
+  - component: {fileID: 369789278}
+  m_Layer: 0
+  m_Name: Required
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &369789277
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 369789276}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1148579784}
+  m_RootOrder: 31
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &369789278
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 369789276}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9c8c10b2234650d42b2a8efad6b413db, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  trans0: {fileID: 0}
+  nest1:
+    trans1: {fileID: 0}
+    nest2:
+      trans2: {fileID: 0}
+--- !u!1 &572382748
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 572382749}
+  - component: {fileID: 572382751}
+  m_Layer: 0
+  m_Name: Foldout
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &572382749
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 572382748}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1148579784}
+  m_RootOrder: 23
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &572382751
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 572382748}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3b437215d92efa74ea85ff726ca0dd09, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  int0: 0
+  int1: 0
+  float0: 0
+  float1: 0
+  slider0: {x: 0.25, y: 0.75}
+  slider1: {x: 0.25, y: 0.75}
+  str0: 
+  str1: 
+  trans0: {fileID: 0}
+  trans1: {fileID: 0}
+--- !u!1 &607441873
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 607441874}
+  - component: {fileID: 607441875}
+  m_Layer: 0
+  m_Name: MinMaxSlider
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &607441874
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 607441873}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1148579784}
+  m_RootOrder: 11
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &607441875
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 607441873}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fd67fbde6acdd6a44944f12e507067c5, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  minMaxSlider0: {x: 0, y: 0.5}
+  nest1:
+    minMaxSlider1: {x: 0.25, y: 0.75}
+    nest2:
+      minMaxSlider2: {x: 6, y: 11}
+--- !u!1 &706445688
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 706445689}
+  - component: {fileID: 706445690}
+  m_Layer: 0
+  m_Name: NaughtyComponent
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &706445689
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 706445688}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &706445690
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 706445688}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9c928ea15ae74a44089beb2e534c1a35, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!1 &732714203
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 732714204}
+  m_Layer: 0
+  m_Name: ===== Meta Attributes =====
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &732714204
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 732714203}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1148579784}
+  m_RootOrder: 21
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &779670086
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 779670087}
+  - component: {fileID: 779670088}
+  m_Layer: 0
+  m_Name: Dropdown
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &779670087
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 779670086}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1148579784}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &779670088
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 779670086}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3855e37cd6b01194e8166573c7c4b37d, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  intValue: 1
+  nest1:
+    stringValue: A
+    nest2:
+      vectorValue: {x: 1, y: 0, z: 0}
+--- !u!1 &892661554
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 892661555}
+  - component: {fileID: 892661556}
+  m_Layer: 0
+  m_Name: Scene
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &892661555
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 892661554}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1148579784}
+  m_RootOrder: 15
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &892661556
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 892661554}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 281a85803caf74a459439020a0840fa4, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  scene0: DemoScene
+  nest1:
+    scene1: DemoScene
+    nest2:
+      scene2: 0
+--- !u!1 &933563384
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 933563385}
+  - component: {fileID: 933563386}
+  m_Layer: 0
+  m_Name: ShowAssetPreview
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &933563385
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 933563384}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1148579784}
+  m_RootOrder: 16
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &933563386
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 933563384}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 705c14aa9ecaa274289972381f471367, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  sprite0: {fileID: 21300000, guid: 005888ede18a58e4db8d069cfa3007cb, type: 3}
+  prefab0: {fileID: 1981131855061102, guid: 7ec354ef3daae7641b7a3fa5e1fe0c81, type: 3}
+  nest1:
+    sprite1: {fileID: 21300000, guid: 005888ede18a58e4db8d069cfa3007cb, type: 3}
+    prefab1: {fileID: 1981131855061102, guid: 7ec354ef3daae7641b7a3fa5e1fe0c81, type: 3}
+    nest2:
+      sprite2: {fileID: 21300000, guid: 005888ede18a58e4db8d069cfa3007cb, type: 3}
+      prefab2: {fileID: 1981131855061102, guid: 7ec354ef3daae7641b7a3fa5e1fe0c81,
+        type: 3}
+--- !u!1 &948946033
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 948946034}
+  - component: {fileID: 948946035}
+  m_Layer: 0
+  m_Name: ProgressBar
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &948946034
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 948946033}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1148579784}
+  m_RootOrder: 12
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &948946035
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 948946033}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 96ca4c27fc649764b9d1625f1740cb9e, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  health: 50
+  nest1:
+    mana: 25
+    nest2:
+      stamina: 75
+  elixir: 50
+  maxElixir: 100
+--- !u!1 &993534225
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 993534226}
+  - component: {fileID: 993534227}
+  m_Layer: 0
+  m_Name: Layer
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &993534226
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 993534225}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1148579784}
+  m_RootOrder: 10
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &993534227
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 993534225}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 460459d6ac76acd4d872f94cf444e6fa, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  layerNumber0: 5
+  layerName0: UI
+  nest1:
+    layerNumber1: 0
+    layerName1: Default
+    nest2:
+      layerNumber2: 4
+      layerName2: Water
+--- !u!1 &1139446979
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1139446980}
+  - component: {fileID: 1139446981}
+  m_Layer: 0
+  m_Name: HorizontalLine
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1139446980
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1139446979}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1148579784}
+  m_RootOrder: 7
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1139446981
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1139446979}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5cc6d3f8d4a53374887b3d620a6972e3, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  line0: 0
+  nest1:
+    line1: 0
+    nest2:
+      line2: 0
+--- !u!1 &1148579783
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1148579784}
+  m_Layer: 0
+  m_Name: Tests
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1148579784
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1148579783}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 106181863}
+  - {fileID: 1178133860}
+  - {fileID: 2043059161}
+  - {fileID: 2082563173}
+  - {fileID: 779670087}
+  - {fileID: 2015414598}
+  - {fileID: 1622801696}
+  - {fileID: 1139446980}
+  - {fileID: 1552114400}
+  - {fileID: 155697336}
+  - {fileID: 993534226}
+  - {fileID: 607441874}
+  - {fileID: 948946034}
+  - {fileID: 1747151588}
+  - {fileID: 1202167595}
+  - {fileID: 892661555}
+  - {fileID: 933563385}
+  - {fileID: 1989156459}
+  - {fileID: 1194502638}
+  - {fileID: 1609261820}
+  - {fileID: 1380469385}
+  - {fileID: 732714204}
+  - {fileID: 1784643785}
+  - {fileID: 572382749}
+  - {fileID: 114650324}
+  - {fileID: 1524906391}
+  - {fileID: 1293624596}
+  - {fileID: 1871127830}
+  - {fileID: 237121641}
+  - {fileID: 1641427334}
+  - {fileID: 1706612702}
+  - {fileID: 369789277}
+  - {fileID: 1463483878}
+  m_Father: {fileID: 0}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1178133859
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1178133860}
+  - component: {fileID: 1178133862}
+  - component: {fileID: 1178133861}
+  m_Layer: 0
+  m_Name: AnimatorParam
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1178133860
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1178133859}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1148579784}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1178133861
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1178133859}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9bff20ccdde00fc49a62bad6a4ef9982, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  animator0: {fileID: 1178133862}
+  hash0: 1943738498
+  name0: Float0
+  nest1:
+    animator1: {fileID: 1178133862}
+    hash1: 726565755
+    name1: Float0
+    nest2:
+      animator2: {fileID: 1178133862}
+      hash1: -392453409
+      name1: Trigger0
+--- !u!95 &1178133862
+Animator:
+  serializedVersion: 3
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1178133859}
+  m_Enabled: 1
+  m_Avatar: {fileID: 0}
+  m_Controller: {fileID: 9100000, guid: 63ee86efd213bf34285c95f33e79dc6c, type: 2}
+  m_CullingMode: 0
+  m_UpdateMode: 0
+  m_ApplyRootMotion: 0
+  m_LinearVelocityBlending: 0
+  m_WarningMessage: 
+  m_HasTransformHierarchy: 1
+  m_AllowConstantClipSamplingOptimization: 1
+  m_KeepAnimatorControllerStateOnDisable: 0
+--- !u!1 &1194502637
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1194502638}
+  - component: {fileID: 1194502639}
+  m_Layer: 0
+  m_Name: ShowNonSerializedField
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1194502638
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1194502637}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1148579784}
+  m_RootOrder: 18
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1194502639
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1194502637}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 913d67a695253f744bdc776625b9b948, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!1 &1202167594
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1202167595}
+  - component: {fileID: 1202167596}
+  m_Layer: 0
+  m_Name: ResizableTextArea
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1202167595
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1202167594}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1148579784}
+  m_RootOrder: 14
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1202167596
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1202167594}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fb4f4bb2e3e063340a24f4bb24528bb5, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  text0: '1
+
+    2
+
+    3'
+  nest1:
+    text1: '1
+
+      2
+
+      3
+
+      4
+
+      5'
+    nest2:
+      text2: '1
+
+        2
+
+        3
+
+        4
+
+        5
+
+        6
+
+        7'
+--- !u!1 &1293624595
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1293624596}
+  - component: {fileID: 1293624597}
+  m_Layer: 0
+  m_Name: Label
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1293624596
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1293624595}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1148579784}
+  m_RootOrder: 26
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1293624597
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1293624595}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 7488af014527ebf42af5c4fc4d5f4f5b, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  int0: 0
+  nest1:
+    int1: 0
+    nest2:
+      vector2: {x: 0.25, y: 0.75}
+--- !u!1 &1380469384
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1380469385}
+  - component: {fileID: 1380469386}
+  m_Layer: 0
+  m_Name: Tag
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1380469385
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1380469384}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1148579784}
+  m_RootOrder: 20
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1380469386
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1380469384}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 8bcc0d5613b48fb43bd36c9d37e99900, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  tag0: 
+  nest1:
+    tag1: MainCamera
+    nest2:
+      tag2: Player
+--- !u!1 &1444377589
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1444377591}
+  - component: {fileID: 1444377590}
+  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 &1444377590
+Light:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1444377589}
+  m_Enabled: 1
+  serializedVersion: 10
+  m_Type: 1
+  m_Shape: 0
+  m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+  m_Intensity: 1
+  m_Range: 10
+  m_SpotAngle: 30
+  m_InnerSpotAngle: 21.80208
+  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_CullingMatrixOverride:
+      e00: 1
+      e01: 0
+      e02: 0
+      e03: 0
+      e10: 0
+      e11: 1
+      e12: 0
+      e13: 0
+      e20: 0
+      e21: 0
+      e22: 1
+      e23: 0
+      e30: 0
+      e31: 0
+      e32: 0
+      e33: 1
+    m_UseCullingMatrixOverride: 0
+  m_Cookie: {fileID: 0}
+  m_DrawHalo: 0
+  m_Flare: {fileID: 0}
+  m_RenderMode: 0
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingLayerMask: 1
+  m_Lightmapping: 4
+  m_LightShadowCasterMode: 0
+  m_AreaSize: {x: 1, y: 1}
+  m_BounceIntensity: 1
+  m_ColorTemperature: 6570
+  m_UseColorTemperature: 0
+  m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
+  m_UseBoundingSphereOverride: 0
+  m_UseViewFrustumForShadowCasterCull: 1
+  m_ShadowRadius: 0
+  m_ShadowAngle: 0
+--- !u!4 &1444377591
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1444377589}
+  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_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
+--- !u!1 &1463483877
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1463483878}
+  - component: {fileID: 1463483879}
+  m_Layer: 0
+  m_Name: ValidateInput
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1463483878
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1463483877}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1148579784}
+  m_RootOrder: 32
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1463483879
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1463483877}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 94adafcfe59aa344c9b5596b2cc6ecd0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  int0: 0
+  nest1:
+    int1: 0
+    nest2:
+      int2: 0
+  inheritedNest:
+    int1: 0
+    nest2:
+      int2: 0
+--- !u!1 &1524906390
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1524906391}
+  - component: {fileID: 1524906392}
+  - component: {fileID: 1524906393}
+  m_Layer: 0
+  m_Name: ShowIf_HideIf
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1524906391
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1524906390}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1148579784}
+  m_RootOrder: 25
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1524906392
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1524906390}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4fdbfcfbf5b056a4bac491fe21569572, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  show1: 0
+  show2: 0
+  enum1: 0
+  enum2: 0
+  showIfAll: 
+  showIfAny: 
+  showIfEnum: 
+  showIfEnumFlag: 
+  showIfEnumFlagMulti: 
+  nest1:
+    show1: 1
+    show2: 0
+    enum1: 0
+    enum2: 0
+    showIfAll: 0
+    showIfAny: 0
+    showIfEnum: 0
+    showIfEnumFlag: 0
+    showIfEnumFlagMulti: 0
+    nest2:
+      show1: 1
+      show2: 1
+      enum1: 0
+      enum2: 0
+      showIfAll: {x: 0.25, y: 0.75}
+      showIfAny: {x: 0.25, y: 0.75}
+      showIfEnum: {x: 0.25, y: 0.75}
+      showIfEnumFlag: {x: 0, y: 0}
+      showIfEnumFlagMulti: {x: 0, y: 0}
+--- !u!114 &1524906393
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1524906390}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3cf166cb519e666419bb79b0c50c5ee1, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  hide1: 0
+  hide2: 0
+  enum1: 0
+  enum2: 0
+  hideIfAll: 
+  hideIfAny: 
+  hideIfEnum: 
+  hideIfEnumFlag: 
+  hideIfEnumFlagMulti: 
+  nest1:
+    hide1: 1
+    hide2: 0
+    enum1: 0
+    enum2: 0
+    hideIfAll: 0
+    hideIfAny: 0
+    hideIfEnum: 0
+    hideIfEnumFlag: 0
+    hideIfEnumFlagMulti: 0
+    nest2:
+      hide1: 1
+      hide2: 1
+      enum1: 0
+      enum2: 0
+      hideIfAll: {x: 0.25, y: 0.75}
+      hideIfAny: {x: 0.25, y: 0.75}
+      hideIfEnum: {x: 0.25, y: 0.75}
+      hideIfEnumFlag: {x: 0, y: 0}
+      hideIfEnumFlagMulti: {x: 0, y: 0}
+--- !u!1 &1552114399
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1552114400}
+  - component: {fileID: 1552114401}
+  m_Layer: 0
+  m_Name: InfoBox
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1552114400
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1552114399}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1148579784}
+  m_RootOrder: 8
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1552114401
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1552114399}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0dcb08e489c17644e9eacaa1ec5fe781, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  normal: 0
+  nest1:
+    warning: 0
+    nest2:
+      error: 0
+--- !u!1 &1591883662
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1591883666}
+  - component: {fileID: 1591883665}
+  - component: {fileID: 1591883664}
+  - component: {fileID: 1591883663}
+  m_Layer: 0
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!81 &1591883663
+AudioListener:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1591883662}
+  m_Enabled: 1
+--- !u!124 &1591883664
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1591883662}
+  m_Enabled: 1
+--- !u!20 &1591883665
+Camera:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1591883662}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 1
+  m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+  m_projectionMatrixMode: 1
+  m_GateFitMode: 2
+  m_FOVAxisMode: 0
+  m_SensorSize: {x: 36, y: 24}
+  m_LensShift: {x: 0, y: 0}
+  m_FocalLength: 50
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 1000
+  field of view: 60
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 1
+  m_AllowMSAA: 1
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!4 &1591883666
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1591883662}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 1, z: -10}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1609261819
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1609261820}
+  - component: {fileID: 1609261821}
+  m_Layer: 0
+  m_Name: 'SortingLayer '
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1609261820
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1609261819}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1148579784}
+  m_RootOrder: 19
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1609261821
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1609261819}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 8ed73e666d447964d93c4840f05423dc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  layerNumber0: 0
+  layerName0: Default
+  nest1:
+    layerNumber1: 0
+    layerName1: Default
+    nest2:
+      layerNumber2: 0
+      layerName2: Default
+--- !u!1 &1622801695
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1622801696}
+  - component: {fileID: 1622801697}
+  m_Layer: 0
+  m_Name: Expandable
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1622801696
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1622801695}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1148579784}
+  m_RootOrder: 6
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1622801697
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1622801695}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 64c4c9aee2b494d44be9bb0b7f12ed7c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  precedingField: 5
+  obj0: {fileID: 11400000, guid: 9cf80899b80517945a2d2390fb48877f, type: 2}
+  nest1:
+    obj1: {fileID: 11400000, guid: 9cf80899b80517945a2d2390fb48877f, type: 2}
+    nest2:
+      obj2: {fileID: 11400000, guid: 9cf80899b80517945a2d2390fb48877f, type: 2}
+--- !u!1 &1641427333
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1641427334}
+  m_Layer: 0
+  m_Name: ===== Validator Attributes =====
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1641427334
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1641427333}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1148579784}
+  m_RootOrder: 29
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1706612701
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1706612702}
+  - component: {fileID: 1706612703}
+  m_Layer: 0
+  m_Name: MinValue_MaxValue
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1706612702
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1706612701}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1148579784}
+  m_RootOrder: 30
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1706612703
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1706612701}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 450a05787c54e6b4fa88ffe223bcee87, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  min0Int: 0
+  max0Int: 0
+  range01Float: 0
+  range01Vector2: {x: 0, y: 0}
+  range01Vector3: {x: 0, y: 0, z: 0}
+  range01Vector4: {x: 0, y: 0, z: 0, w: 0}
+  min0Vector2Int: {x: 0, y: 0}
+  max100Vector2Int: {x: 0, y: 0}
+  min0Vector3Int: {x: 0, y: 0, z: 0}
+  max100Vector3Int: {x: 0, y: 0, z: 0}
+  nest1:
+    min0Int: 0
+    max0Int: 0
+    range01Float: 0
+    range01Vector2: {x: 0, y: 0}
+    range01Vector3: {x: 0, y: 0, z: 0}
+    range01Vector4: {x: 0, y: 0, z: 0, w: 0}
+    min0Vector2Int: {x: 0, y: 0}
+    max100Vector2Int: {x: 0, y: 0}
+    min0Vector3Int: {x: 0, y: 0, z: 0}
+    max100Vector3Int: {x: 0, y: 0, z: 0}
+    nest2:
+      min0Int: 0
+      max0Int: 0
+      range01Float: 0
+      range01Vector2: {x: 0, y: 0}
+      range01Vector3: {x: 0, y: 0, z: 0}
+      range01Vector4: {x: 0, y: 0, z: 0, w: 0}
+      min0Vector2Int: {x: 0, y: 0}
+      max100Vector2Int: {x: 0, y: 0}
+      min0Vector3Int: {x: 0, y: 0, z: 0}
+      max100Vector3Int: {x: 0, y: 0, z: 0}
+--- !u!1 &1747151587
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1747151588}
+  - component: {fileID: 1747151589}
+  m_Layer: 0
+  m_Name: ReorderableList
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1747151588
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1747151587}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1148579784}
+  m_RootOrder: 13
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1747151589
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1747151587}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c93fde7cd79390148ac576c3a159a77b, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  intArray: 020000000300000001000000
+  vectorList:
+  - {x: 2, y: 2, z: 2}
+  - {x: 3, y: 3, z: 3}
+  - {x: 1, y: 1, z: 1}
+  structList:
+  - Int: 2
+    Float: 2
+    Vector: {x: 2, y: 2, z: 2}
+  - Int: 3
+    Float: 3
+    Vector: {x: 3, y: 3, z: 3}
+  - Int: 1
+    Float: 1
+    Vector: {x: 1, y: 1, z: 1}
+  gameObjectsList: []
+  transformsList: []
+  monoBehavioursList: []
+--- !u!1 &1784643784
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1784643785}
+  - component: {fileID: 1784643786}
+  m_Layer: 0
+  m_Name: BoxGroup
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1784643785
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1784643784}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1148579784}
+  m_RootOrder: 22
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1784643786
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1784643784}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3920f5ea384951b4990e4d9e8032d12e, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  int0: 0
+  int1: 0
+  float0: 0
+  float1: 0
+  slider0: {x: 0.25, y: 0.75}
+  slider1: {x: 0.25, y: 0.75}
+  str0: 
+  str1: 
+  trans0: {fileID: 0}
+  trans1: {fileID: 0}
+--- !u!1 &1871127829
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1871127830}
+  - component: {fileID: 1871127831}
+  m_Layer: 0
+  m_Name: OnValueChanged
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1871127830
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1871127829}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1148579784}
+  m_RootOrder: 27
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1871127831
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1871127829}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ff1df679e5b32f64bb106752c63933fa, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  int0: 0
+  nest1:
+    int1: 0
+    nest2:
+      int2: 0
+--- !u!1 &1989156458
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1989156459}
+  - component: {fileID: 1989156460}
+  m_Layer: 0
+  m_Name: ShowNativeProperty
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1989156459
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1989156458}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1148579784}
+  m_RootOrder: 17
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1989156460
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1989156458}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: b5a73795d25dd334e90a5a347c6079d9, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!1 &2015414597
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2015414598}
+  - component: {fileID: 2015414599}
+  m_Layer: 0
+  m_Name: EnumFlags
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &2015414598
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2015414597}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1148579784}
+  m_RootOrder: 5
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &2015414599
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2015414597}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 7b7f6b84ce0d7674d8a386fde729279c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  flags0: 0
+  nest1:
+    flags1: 6
+    nest2:
+      flags2: -1
+--- !u!1 &2043059160
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2043059161}
+  - component: {fileID: 2043059162}
+  m_Layer: 0
+  m_Name: Button
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &2043059161
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2043059160}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1148579784}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &2043059162
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2043059160}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: b592f12a9f69ac3408f6f870762232c7, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  myInt: 0
+--- !u!1 &2082563172
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2082563173}
+  - component: {fileID: 2082563174}
+  m_Layer: 0
+  m_Name: CurveRange
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &2082563173
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2082563172}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1148579784}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &2082563174
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2082563172}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 6587b100d001e7e46b9aaae7f1180b40, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  curves:
+  - serializedVersion: 2
+    m_Curve:
+    - serializedVersion: 3
+      time: 0
+      value: 1
+      inSlope: 0
+      outSlope: 0
+      tangentMode: 34
+      weightedMode: 0
+      inWeight: 0
+      outWeight: 0
+    - serializedVersion: 3
+      time: 1
+      value: 1
+      inSlope: 0
+      outSlope: 0
+      tangentMode: 34
+      weightedMode: 0
+      inWeight: 0
+      outWeight: 0
+    m_PreInfinity: 2
+    m_PostInfinity: 2
+    m_RotationOrder: 0
+  - serializedVersion: 2
+    m_Curve:
+    - serializedVersion: 3
+      time: 0
+      value: 0
+      inSlope: 1
+      outSlope: 1
+      tangentMode: 34
+      weightedMode: 0
+      inWeight: 0
+      outWeight: 0
+    - serializedVersion: 3
+      time: 1
+      value: 1
+      inSlope: 1
+      outSlope: 1
+      tangentMode: 34
+      weightedMode: 0
+      inWeight: 0
+      outWeight: 0
+    m_PreInfinity: 2
+    m_PostInfinity: 2
+    m_RotationOrder: 0
+  - serializedVersion: 2
+    m_Curve:
+    - serializedVersion: 3
+      time: 0
+      value: 0
+      inSlope: 0
+      outSlope: 0
+      tangentMode: 0
+      weightedMode: 0
+      inWeight: 0
+      outWeight: 0
+    - serializedVersion: 3
+      time: 1
+      value: 1
+      inSlope: 2
+      outSlope: 2
+      tangentMode: 0
+      weightedMode: 0
+      inWeight: 0
+      outWeight: 0
+    m_PreInfinity: 2
+    m_PostInfinity: 2
+    m_RotationOrder: 0
+  - serializedVersion: 2
+    m_Curve:
+    - serializedVersion: 3
+      time: 0
+      value: 0
+      inSlope: 2
+      outSlope: 2
+      tangentMode: 0
+      weightedMode: 0
+      inWeight: 0
+      outWeight: 0
+    - serializedVersion: 3
+      time: 1
+      value: 1
+      inSlope: 0
+      outSlope: 0
+      tangentMode: 0
+      weightedMode: 0
+      inWeight: 0
+      outWeight: 0
+    m_PreInfinity: 2
+    m_PostInfinity: 2
+    m_RotationOrder: 0
+  - serializedVersion: 2
+    m_Curve:
+    - serializedVersion: 3
+      time: 0
+      value: 0
+      inSlope: 0
+      outSlope: 0
+      tangentMode: 0
+      weightedMode: 0
+      inWeight: 0
+      outWeight: 0
+    - serializedVersion: 3
+      time: 1
+      value: 1
+      inSlope: 0
+      outSlope: 0
+      tangentMode: 0
+      weightedMode: 0
+      inWeight: 0
+      outWeight: 0
+    m_PreInfinity: 2
+    m_PostInfinity: 2
+    m_RotationOrder: 0
+  curve:
+    serializedVersion: 2
+    m_Curve:
+    - serializedVersion: 3
+      time: -1
+      value: -1
+      inSlope: 1
+      outSlope: 1
+      tangentMode: 34
+      weightedMode: 0
+      inWeight: 0
+      outWeight: 0
+    - serializedVersion: 3
+      time: 1
+      value: 1
+      inSlope: 1
+      outSlope: 1
+      tangentMode: 34
+      weightedMode: 0
+      inWeight: 0
+      outWeight: 0
+    m_PreInfinity: 2
+    m_PostInfinity: 2
+    m_RotationOrder: 4
+  curve1:
+    serializedVersion: 2
+    m_Curve:
+    - serializedVersion: 3
+      time: 0
+      value: 0
+      inSlope: 1
+      outSlope: 1
+      tangentMode: 34
+      weightedMode: 0
+      inWeight: 0
+      outWeight: 0
+    - serializedVersion: 3
+      time: 1
+      value: 1
+      inSlope: 1
+      outSlope: 1
+      tangentMode: 34
+      weightedMode: 0
+      inWeight: 0
+      outWeight: 0
+    m_PreInfinity: 2
+    m_PostInfinity: 2
+    m_RotationOrder: 4
+  curve2:
+    serializedVersion: 2
+    m_Curve:
+    - serializedVersion: 3
+      time: 0
+      value: 0
+      inSlope: 1
+      outSlope: 1
+      tangentMode: 34
+      weightedMode: 0
+      inWeight: 0
+      outWeight: 0
+    - serializedVersion: 3
+      time: 10
+      value: 10
+      inSlope: 1
+      outSlope: 1
+      tangentMode: 34
+      weightedMode: 0
+      inWeight: 0
+      outWeight: 0
+    m_PreInfinity: 2
+    m_PostInfinity: 2
+    m_RotationOrder: 4
+  nest1:
+    curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        inSlope: 1
+        outSlope: 1
+        tangentMode: 34
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      - serializedVersion: 3
+        time: 1
+        value: 1
+        inSlope: 1
+        outSlope: 1
+        tangentMode: 34
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    nest2:
+      curve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 3
+          time: 0
+          value: 0
+          inSlope: 1
+          outSlope: 1
+          tangentMode: 34
+          weightedMode: 0
+          inWeight: 0
+          outWeight: 0
+        - serializedVersion: 3
+          time: 5
+          value: 5
+          inSlope: 1
+          outSlope: 1
+          tangentMode: 34
+          weightedMode: 0
+          inWeight: 0
+          outWeight: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4

+ 9 - 0
Assets/NaughtyAttributes/Samples/DemoScene/DemoScene.unity.meta

@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 07845a5477be2b149a6f1cb32b5a3a5b
+timeCreated: 1507998788
+licenseType: Store
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 63 - 0
Assets/NaughtyAttributes/Samples/DemoScene/DemoSceneSettings.lighting

@@ -0,0 +1,63 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!850595691 &4890085278179872738
+LightingSettings:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: DemoSceneSettings
+  serializedVersion: 2
+  m_GIWorkflowMode: 0
+  m_EnableBakedLightmaps: 1
+  m_EnableRealtimeLightmaps: 1
+  m_RealtimeEnvironmentLighting: 1
+  m_BounceScale: 1
+  m_AlbedoBoost: 1
+  m_IndirectOutputScale: 1
+  m_UsingShadowmask: 1
+  m_BakeBackend: 0
+  m_LightmapMaxSize: 1024
+  m_BakeResolution: 40
+  m_Padding: 2
+  m_TextureCompression: 1
+  m_AO: 0
+  m_AOMaxDistance: 1
+  m_CompAOExponent: 1
+  m_CompAOExponentDirect: 0
+  m_ExtractAO: 0
+  m_MixedBakeMode: 2
+  m_LightmapsBakeMode: 1
+  m_FilterMode: 1
+  m_LightmapParameters: {fileID: 0}
+  m_ExportTrainingData: 0
+  m_TrainingDataDestination: TrainingData
+  m_RealtimeResolution: 2
+  m_ForceWhiteAlbedo: 0
+  m_ForceUpdates: 0
+  m_FinalGather: 0
+  m_FinalGatherRayCount: 256
+  m_FinalGatherFiltering: 1
+  m_PVRCulling: 1
+  m_PVRSampling: 1
+  m_PVRDirectSampleCount: 32
+  m_PVRSampleCount: 500
+  m_PVREnvironmentSampleCount: 500
+  m_PVREnvironmentReferencePointCount: 2048
+  m_LightProbeSampleCountMultiplier: 4
+  m_PVRBounces: 2
+  m_PVRRussianRouletteStartBounce: 2
+  m_PVREnvironmentMIS: 0
+  m_PVRFilteringMode: 2
+  m_PVRDenoiserTypeDirect: 0
+  m_PVRDenoiserTypeIndirect: 0
+  m_PVRDenoiserTypeAO: 0
+  m_PVRFilterTypeDirect: 0
+  m_PVRFilterTypeIndirect: 0
+  m_PVRFilterTypeAO: 0
+  m_PVRFilteringGaussRadiusDirect: 1
+  m_PVRFilteringGaussRadiusIndirect: 5
+  m_PVRFilteringGaussRadiusAO: 2
+  m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+  m_PVRFilteringAtrousPositionSigmaIndirect: 2
+  m_PVRFilteringAtrousPositionSigmaAO: 1

+ 8 - 0
Assets/NaughtyAttributes/Samples/DemoScene/DemoSceneSettings.lighting.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 98ee975b74776234986f4d35f14c4ccc
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 10 - 0
Assets/NaughtyAttributes/Samples/DemoScene/TestAssets.meta

@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 53a462744f22ca549927c5e6ea797362
+folderAsset: yes
+timeCreated: 1509089305
+licenseType: Store
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 93 - 0
Assets/NaughtyAttributes/Samples/DemoScene/TestAssets/Cube.prefab

@@ -0,0 +1,93 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &1981131855061102
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4344736110947706}
+  - component: {fileID: 33062901823624450}
+  - component: {fileID: 65233182844289960}
+  - component: {fileID: 23099360439063292}
+  m_Layer: 0
+  m_Name: Cube
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4344736110947706
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1981131855061102}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &33062901823624450
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1981131855061102}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!65 &65233182844289960
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1981131855061102}
+  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!23 &23099360439063292
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1981131855061102}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  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_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0

+ 10 - 0
Assets/NaughtyAttributes/Samples/DemoScene/TestAssets/Cube.prefab.meta

@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 7ec354ef3daae7641b7a3fa5e1fe0c81
+timeCreated: 1509089337
+licenseType: Store
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 169 - 0
Assets/NaughtyAttributes/Samples/DemoScene/TestAssets/DummyAnimation.anim

@@ -0,0 +1,169 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!74 &7400000
+AnimationClip:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: DummyAnimation
+  serializedVersion: 6
+  m_Legacy: 0
+  m_Compressed: 0
+  m_UseHighQualityCurve: 1
+  m_RotationCurves: []
+  m_CompressedRotationCurves: []
+  m_EulerCurves: []
+  m_PositionCurves:
+  - curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: {x: 0, y: 0, z: 0}
+        inSlope: {x: 0, y: 0, z: 0}
+        outSlope: {x: 0, y: 0, z: 0}
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+        outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+      - serializedVersion: 3
+        time: 1
+        value: {x: 0, y: 0, z: 0}
+        inSlope: {x: 0, y: 0, z: 0}
+        outSlope: {x: 0, y: 0, z: 0}
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+        outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    path: 
+  m_ScaleCurves: []
+  m_FloatCurves: []
+  m_PPtrCurves: []
+  m_SampleRate: 60
+  m_WrapMode: 0
+  m_Bounds:
+    m_Center: {x: 0, y: 0, z: 0}
+    m_Extent: {x: 0, y: 0, z: 0}
+  m_ClipBindingConstant:
+    genericBindings:
+    - serializedVersion: 2
+      path: 0
+      attribute: 1
+      script: {fileID: 0}
+      typeID: 4
+      customType: 0
+      isPPtrCurve: 0
+    pptrCurveMapping: []
+  m_AnimationClipSettings:
+    serializedVersion: 2
+    m_AdditiveReferencePoseClip: {fileID: 0}
+    m_AdditiveReferencePoseTime: 0
+    m_StartTime: 0
+    m_StopTime: 1
+    m_OrientationOffsetY: 0
+    m_Level: 0
+    m_CycleOffset: 0
+    m_HasAdditiveReferencePose: 0
+    m_LoopTime: 1
+    m_LoopBlend: 0
+    m_LoopBlendOrientation: 0
+    m_LoopBlendPositionY: 0
+    m_LoopBlendPositionXZ: 0
+    m_KeepOriginalOrientation: 0
+    m_KeepOriginalPositionY: 1
+    m_KeepOriginalPositionXZ: 0
+    m_HeightFromFeet: 0
+    m_Mirror: 0
+  m_EditorCurves:
+  - curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      - serializedVersion: 3
+        time: 1
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_LocalPosition.x
+    path: 
+    classID: 4
+    script: {fileID: 0}
+  - curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      - serializedVersion: 3
+        time: 1
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_LocalPosition.y
+    path: 
+    classID: 4
+    script: {fileID: 0}
+  - curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      - serializedVersion: 3
+        time: 1
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_LocalPosition.z
+    path: 
+    classID: 4
+    script: {fileID: 0}
+  m_EulerEditorCurves: []
+  m_HasGenericRootTransform: 1
+  m_HasMotionFloatCurves: 0
+  m_Events: []

+ 8 - 0
Assets/NaughtyAttributes/Samples/DemoScene/TestAssets/DummyAnimation.anim.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 31fbd6c92d19aaa48910857627a54a25
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 120 - 0
Assets/NaughtyAttributes/Samples/DemoScene/TestAssets/DummyAnimatorController.controller

@@ -0,0 +1,120 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1102 &-1567792821050049497
+AnimatorState:
+  serializedVersion: 5
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: DummyAnimation
+  m_Speed: 1
+  m_CycleOffset: 0
+  m_Transitions: []
+  m_StateMachineBehaviours: []
+  m_Position: {x: 50, y: 50, z: 0}
+  m_IKOnFeet: 0
+  m_WriteDefaultValues: 1
+  m_Mirror: 0
+  m_SpeedParameterActive: 0
+  m_MirrorParameterActive: 0
+  m_CycleOffsetParameterActive: 0
+  m_TimeParameterActive: 0
+  m_Motion: {fileID: 7400000, guid: 31fbd6c92d19aaa48910857627a54a25, type: 2}
+  m_Tag: 
+  m_SpeedParameter: 
+  m_MirrorParameter: 
+  m_CycleOffsetParameter: 
+  m_TimeParameter: 
+--- !u!91 &9100000
+AnimatorController:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: DummyAnimatorController
+  serializedVersion: 5
+  m_AnimatorParameters:
+  - m_Name: Float0
+    m_Type: 1
+    m_DefaultFloat: 0
+    m_DefaultInt: 0
+    m_DefaultBool: 0
+    m_Controller: {fileID: 9100000}
+  - m_Name: Float1
+    m_Type: 1
+    m_DefaultFloat: 0
+    m_DefaultInt: 0
+    m_DefaultBool: 0
+    m_Controller: {fileID: 9100000}
+  - m_Name: Int0
+    m_Type: 3
+    m_DefaultFloat: 0
+    m_DefaultInt: 0
+    m_DefaultBool: 0
+    m_Controller: {fileID: 9100000}
+  - m_Name: Int1
+    m_Type: 3
+    m_DefaultFloat: 0
+    m_DefaultInt: 0
+    m_DefaultBool: 0
+    m_Controller: {fileID: 9100000}
+  - m_Name: Bool0
+    m_Type: 4
+    m_DefaultFloat: 0
+    m_DefaultInt: 0
+    m_DefaultBool: 0
+    m_Controller: {fileID: 9100000}
+  - m_Name: Bool1
+    m_Type: 4
+    m_DefaultFloat: 0
+    m_DefaultInt: 0
+    m_DefaultBool: 0
+    m_Controller: {fileID: 9100000}
+  - m_Name: Trigger0
+    m_Type: 9
+    m_DefaultFloat: 0
+    m_DefaultInt: 0
+    m_DefaultBool: 0
+    m_Controller: {fileID: 9100000}
+  - m_Name: Trigger1
+    m_Type: 9
+    m_DefaultFloat: 0
+    m_DefaultInt: 0
+    m_DefaultBool: 0
+    m_Controller: {fileID: 9100000}
+  m_AnimatorLayers:
+  - serializedVersion: 5
+    m_Name: Base Layer
+    m_StateMachine: {fileID: 945276690032550857}
+    m_Mask: {fileID: 0}
+    m_Motions: []
+    m_Behaviours: []
+    m_BlendingMode: 0
+    m_SyncedLayerIndex: -1
+    m_DefaultWeight: 0
+    m_IKPass: 0
+    m_SyncedLayerAffectsTiming: 0
+    m_Controller: {fileID: 9100000}
+--- !u!1107 &945276690032550857
+AnimatorStateMachine:
+  serializedVersion: 5
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: Base Layer
+  m_ChildStates:
+  - serializedVersion: 1
+    m_State: {fileID: -1567792821050049497}
+    m_Position: {x: 390, y: 80, z: 0}
+  m_ChildStateMachines: []
+  m_AnyStateTransitions: []
+  m_EntryTransitions: []
+  m_StateMachineTransitions: {}
+  m_StateMachineBehaviours: []
+  m_AnyStatePosition: {x: 50, y: 20, z: 0}
+  m_EntryPosition: {x: 50, y: 120, z: 0}
+  m_ExitPosition: {x: 800, y: 120, z: 0}
+  m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
+  m_DefaultState: {fileID: -1567792821050049497}

+ 8 - 0
Assets/NaughtyAttributes/Samples/DemoScene/TestAssets/DummyAnimatorController.controller.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 63ee86efd213bf34285c95f33e79dc6c
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 17 - 0
Assets/NaughtyAttributes/Samples/DemoScene/TestAssets/NaughtyScriptableObject.asset

@@ -0,0 +1,17 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 753bdb918c6038142acddbd7aae6958f, type: 3}
+  m_Name: NaughtyScriptableObject
+  m_EditorClassIdentifier: 
+  listA:
+  - {fileID: 11400000, guid: 149474eb879a6a641b560ca17d48712f, type: 2}
+  - {fileID: 11400000, guid: 149474eb879a6a641b560ca17d48712f, type: 2}

+ 10 - 0
Assets/NaughtyAttributes/Samples/DemoScene/TestAssets/NaughtyScriptableObject.asset.meta

@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 9cf80899b80517945a2d2390fb48877f
+timeCreated: 1518639643
+licenseType: Store
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 17 - 0
Assets/NaughtyAttributes/Samples/DemoScene/TestAssets/TestScriptableObjectA.asset

@@ -0,0 +1,17 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 19472ac11eae27a4b804f354ca7d9c00, type: 3}
+  m_Name: TestScriptableObjectA
+  m_EditorClassIdentifier: 
+  listB:
+  - {fileID: 11400000, guid: 05371aa7630d3ef44ac0106af06cd73c, type: 2}
+  - {fileID: 11400000, guid: 05371aa7630d3ef44ac0106af06cd73c, type: 2}

+ 8 - 0
Assets/NaughtyAttributes/Samples/DemoScene/TestAssets/TestScriptableObjectA.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 149474eb879a6a641b560ca17d48712f
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 15 - 0
Assets/NaughtyAttributes/Samples/DemoScene/TestAssets/TestScriptableObjectB.asset

@@ -0,0 +1,15 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c2b396aeebc9d984da298eee313896bc, type: 3}
+  m_Name: TestScriptableObjectB
+  m_EditorClassIdentifier: 
+  slider: {x: 3, y: 7}

+ 8 - 0
Assets/NaughtyAttributes/Samples/DemoScene/TestAssets/TestScriptableObjectB.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 05371aa7630d3ef44ac0106af06cd73c
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/NaughtyAttributes/Samples/DemoScene/TestAssets/icon-github.png


+ 127 - 0
Assets/NaughtyAttributes/Samples/DemoScene/TestAssets/icon-github.png.meta

@@ -0,0 +1,127 @@
+fileFormatVersion: 2
+guid: 005888ede18a58e4db8d069cfa3007cb
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 10
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 1
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 1
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 1
+  - serializedVersion: 3
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 1
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 10 - 0
Assets/NaughtyAttributes/Scripts.meta

@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 66686847ee1fa044bb15dfe473666178
+folderAsset: yes
+timeCreated: 1507995546
+licenseType: Store
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 10 - 0
Assets/NaughtyAttributes/Scripts/Core.meta

@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 1f67e408a6d0adf4ab29d095ccd8b116
+folderAsset: yes
+timeCreated: 1507998942
+licenseType: Store
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/NaughtyAttributes/Scripts/Core/DrawerAttributes.meta

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

+ 9 - 0
Assets/NaughtyAttributes/Scripts/Core/DrawerAttributes/AllowNestingAttribute.cs

@@ -0,0 +1,9 @@
+using System;
+
+namespace NaughtyAttributes
+{
+    [AttributeUsage(AttributeTargets.Field, AllowMultiple = false, Inherited = true)]
+    public class AllowNestingAttribute : DrawerAttribute
+    {
+    }
+}

+ 11 - 0
Assets/NaughtyAttributes/Scripts/Core/DrawerAttributes/AllowNestingAttribute.cs.meta

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

+ 24 - 0
Assets/NaughtyAttributes/Scripts/Core/DrawerAttributes/AnimatorParamAttribute.cs

@@ -0,0 +1,24 @@
+using System;
+using UnityEngine;
+
+namespace NaughtyAttributes
+{
+    [AttributeUsage(AttributeTargets.Field, AllowMultiple = false, Inherited = true)]
+    public class AnimatorParamAttribute : DrawerAttribute
+    {
+        public string AnimatorName { get; private set; }
+        public AnimatorControllerParameterType? AnimatorParamType { get; private set; }
+
+        public AnimatorParamAttribute(string animatorName)
+        {
+            AnimatorName = animatorName;
+            AnimatorParamType = null;
+        }
+
+        public AnimatorParamAttribute(string animatorName, AnimatorControllerParameterType animatorParamType)
+        {
+            AnimatorName = animatorName;
+            AnimatorParamType = animatorParamType;
+        }
+    }
+}

+ 11 - 0
Assets/NaughtyAttributes/Scripts/Core/DrawerAttributes/AnimatorParamAttribute.cs.meta

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

+ 30 - 0
Assets/NaughtyAttributes/Scripts/Core/DrawerAttributes/CurveRangeAttribute.cs

@@ -0,0 +1,30 @@
+using System;
+using UnityEngine;
+
+namespace NaughtyAttributes
+{
+    [AttributeUsage(AttributeTargets.Field, AllowMultiple = false, Inherited = true)]
+    public class CurveRangeAttribute : DrawerAttribute
+    {
+        public Vector2 Min { get; private set; }
+        public Vector2 Max { get; private set; }
+        public EColor Color { get; private set; }
+
+        public CurveRangeAttribute(Vector2 min, Vector2 max, EColor color = EColor.Clear)
+        {
+            Min = min;
+            Max = max;
+            Color = color;
+        }
+
+        public CurveRangeAttribute(EColor color)
+            : this(Vector2.zero, Vector2.one, color)
+        {
+        }
+
+        public CurveRangeAttribute(float minX, float minY, float maxX, float maxY, EColor color = EColor.Clear)
+            : this(new Vector2(minX, minY), new Vector2(maxX, maxY), color)
+        {
+        }
+    }
+}

+ 11 - 0
Assets/NaughtyAttributes/Scripts/Core/DrawerAttributes/CurveRangeAttribute.cs.meta

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

+ 11 - 0
Assets/NaughtyAttributes/Scripts/Core/DrawerAttributes/DrawerAttribute.cs

@@ -0,0 +1,11 @@
+using UnityEngine;
+
+namespace NaughtyAttributes
+{
+    /// <summary>
+    /// Base class for all drawer attributes
+    /// </summary>
+    public class DrawerAttribute : PropertyAttribute, INaughtyAttribute
+    {
+    }
+}

+ 11 - 0
Assets/NaughtyAttributes/Scripts/Core/DrawerAttributes/DrawerAttribute.cs.meta

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

+ 57 - 0
Assets/NaughtyAttributes/Scripts/Core/DrawerAttributes/DropdownAttribute.cs

@@ -0,0 +1,57 @@
+using System.Collections;
+using System;
+using System.Collections.Generic;
+
+namespace NaughtyAttributes
+{
+    [AttributeUsage(AttributeTargets.Field, AllowMultiple = false, Inherited = true)]
+    public class DropdownAttribute : DrawerAttribute
+    {
+        public string ValuesName { get; private set; }
+
+        public DropdownAttribute(string valuesName)
+        {
+            ValuesName = valuesName;
+        }
+    }
+
+    public interface IDropdownList : IEnumerable<KeyValuePair<string, object>>
+    {
+    }
+
+    public class DropdownList<T> : IDropdownList
+    {
+        private List<KeyValuePair<string, object>> _values;
+
+        public DropdownList()
+        {
+            _values = new List<KeyValuePair<string, object>>();
+        }
+
+        public void Add(string displayName, T value)
+        {
+            _values.Add(new KeyValuePair<string, object>(displayName, value));
+        }
+
+        public IEnumerator<KeyValuePair<string, object>> GetEnumerator()
+        {
+            return _values.GetEnumerator();
+        }
+
+        IEnumerator IEnumerable.GetEnumerator()
+        {
+            return GetEnumerator();
+        }
+
+        public static explicit operator DropdownList<object>(DropdownList<T> target)
+        {
+            DropdownList<object> result = new DropdownList<object>();
+            foreach (var kvp in target)
+            {
+                result.Add(kvp.Key, kvp.Value);
+            }
+
+            return result;
+        }
+    }
+}

+ 11 - 0
Assets/NaughtyAttributes/Scripts/Core/DrawerAttributes/DropdownAttribute.cs.meta

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

+ 9 - 0
Assets/NaughtyAttributes/Scripts/Core/DrawerAttributes/EnumFlagsAttribute.cs

@@ -0,0 +1,9 @@
+using System;
+
+namespace NaughtyAttributes
+{
+    [AttributeUsage(AttributeTargets.Field, AllowMultiple = false, Inherited = true)]
+    public class EnumFlagsAttribute : DrawerAttribute
+    {
+    }
+}

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